/* Generated by CIL v. 1.5.1 */ /* print_CIL_Input is false */ typedef signed char __s8; typedef unsigned char __u8; typedef short __s16; typedef unsigned short __u16; typedef int __s32; typedef unsigned int __u32; typedef long long __s64; typedef unsigned long long __u64; typedef signed char s8; typedef unsigned char u8; typedef short s16; typedef unsigned short u16; typedef int s32; typedef unsigned int u32; typedef long long s64; typedef unsigned long long u64; typedef long __kernel_long_t; typedef unsigned long __kernel_ulong_t; typedef int __kernel_pid_t; typedef unsigned int __kernel_uid32_t; typedef unsigned int __kernel_gid32_t; typedef __kernel_ulong_t __kernel_size_t; typedef __kernel_long_t __kernel_ssize_t; typedef long long __kernel_loff_t; typedef __kernel_long_t __kernel_time_t; typedef __kernel_long_t __kernel_clock_t; typedef int __kernel_timer_t; typedef int __kernel_clockid_t; typedef __u16 __le16; typedef __u16 __be16; typedef __u32 __le32; typedef __u32 __be32; typedef __u64 __le64; typedef __u16 __sum16; typedef __u32 __wsum; typedef __u32 __kernel_dev_t; typedef __kernel_dev_t dev_t; typedef unsigned short umode_t; typedef __kernel_pid_t pid_t; typedef __kernel_clockid_t clockid_t; typedef _Bool bool; typedef __kernel_uid32_t uid_t; typedef __kernel_gid32_t gid_t; typedef __kernel_loff_t loff_t; typedef __kernel_size_t size_t; typedef __kernel_ssize_t ssize_t; typedef __kernel_time_t time_t; typedef __s32 int32_t; typedef __u8 uint8_t; typedef __u32 uint32_t; typedef __u64 uint64_t; typedef unsigned long sector_t; typedef unsigned long blkcnt_t; typedef u64 dma_addr_t; typedef unsigned int gfp_t; typedef unsigned int fmode_t; typedef unsigned int oom_flags_t; typedef u64 phys_addr_t; typedef phys_addr_t resource_size_t; struct __anonstruct_atomic_t_6 { int counter ; }; typedef struct __anonstruct_atomic_t_6 atomic_t; struct __anonstruct_atomic64_t_7 { long counter ; }; typedef struct __anonstruct_atomic64_t_7 atomic64_t; struct list_head { struct list_head *next ; struct list_head *prev ; }; struct hlist_node; struct hlist_head { struct hlist_node *first ; }; struct hlist_node { struct hlist_node *next ; struct hlist_node **pprev ; }; struct callback_head { struct callback_head *next ; void (*func)(struct callback_head * ) ; }; struct device; struct resource { resource_size_t start ; resource_size_t end ; char const *name ; unsigned long flags ; struct resource *parent ; struct resource *sibling ; struct resource *child ; }; struct kernel_symbol { unsigned long value ; char const *name ; }; struct module; struct pt_regs { unsigned long r15 ; unsigned long r14 ; unsigned long r13 ; unsigned long r12 ; unsigned long bp ; unsigned long bx ; unsigned long r11 ; unsigned long r10 ; unsigned long r9 ; unsigned long r8 ; unsigned long ax ; unsigned long cx ; unsigned long dx ; unsigned long si ; unsigned long di ; unsigned long orig_ax ; unsigned long ip ; unsigned long cs ; unsigned long flags ; unsigned long sp ; unsigned long ss ; }; struct __anonstruct____missing_field_name_9 { unsigned int a ; unsigned int b ; }; struct __anonstruct____missing_field_name_10 { u16 limit0 ; u16 base0 ; unsigned int base1 : 8 ; unsigned int type : 4 ; unsigned int s : 1 ; unsigned int dpl : 2 ; unsigned int p : 1 ; unsigned int limit : 4 ; unsigned int avl : 1 ; unsigned int l : 1 ; unsigned int d : 1 ; unsigned int g : 1 ; unsigned int base2 : 8 ; }; union __anonunion____missing_field_name_8 { struct __anonstruct____missing_field_name_9 __annonCompField4 ; struct __anonstruct____missing_field_name_10 __annonCompField5 ; }; struct desc_struct { union __anonunion____missing_field_name_8 __annonCompField6 ; }; typedef unsigned long pgdval_t; typedef unsigned long pgprotval_t; struct pgprot { pgprotval_t pgprot ; }; typedef struct pgprot pgprot_t; struct __anonstruct_pgd_t_12 { pgdval_t pgd ; }; typedef struct __anonstruct_pgd_t_12 pgd_t; struct page; typedef struct page *pgtable_t; struct file; struct seq_file; struct thread_struct; struct mm_struct; struct task_struct; struct cpumask; struct paravirt_callee_save { void *func ; }; struct pv_irq_ops { struct paravirt_callee_save save_fl ; struct paravirt_callee_save restore_fl ; struct paravirt_callee_save irq_disable ; struct paravirt_callee_save irq_enable ; void (*safe_halt)(void) ; void (*halt)(void) ; void (*adjust_exception_frame)(void) ; }; struct arch_spinlock; typedef u16 __ticket_t; typedef u32 __ticketpair_t; struct __raw_tickets { __ticket_t head ; __ticket_t tail ; }; union __anonunion____missing_field_name_15 { __ticketpair_t head_tail ; struct __raw_tickets tickets ; }; struct arch_spinlock { union __anonunion____missing_field_name_15 __annonCompField7 ; }; typedef struct arch_spinlock arch_spinlock_t; struct __anonstruct____missing_field_name_17 { u32 read ; s32 write ; }; union __anonunion_arch_rwlock_t_16 { s64 lock ; struct __anonstruct____missing_field_name_17 __annonCompField8 ; }; typedef union __anonunion_arch_rwlock_t_16 arch_rwlock_t; typedef void (*ctor_fn_t)(void); struct _ddebug { char const *modname ; char const *function ; char const *filename ; char const *format ; unsigned int lineno : 18 ; unsigned int flags : 8 ; }; struct net_device; struct file_operations; struct completion; struct pid; enum system_states { SYSTEM_BOOTING = 0, SYSTEM_RUNNING = 1, SYSTEM_HALT = 2, SYSTEM_POWER_OFF = 3, SYSTEM_RESTART = 4 } ; struct lockdep_map; struct kernel_vm86_regs { struct pt_regs pt ; unsigned short es ; unsigned short __esh ; unsigned short ds ; unsigned short __dsh ; unsigned short fs ; unsigned short __fsh ; unsigned short gs ; unsigned short __gsh ; }; union __anonunion____missing_field_name_18 { struct pt_regs *regs ; struct kernel_vm86_regs *vm86 ; }; struct math_emu_info { long ___orig_eip ; union __anonunion____missing_field_name_18 __annonCompField9 ; }; struct bug_entry { int bug_addr_disp ; int file_disp ; unsigned short line ; unsigned short flags ; }; struct cpumask { unsigned long bits[128U] ; }; typedef struct cpumask cpumask_t; typedef struct cpumask *cpumask_var_t; struct static_key; struct seq_operations; struct i387_fsave_struct { u32 cwd ; u32 swd ; u32 twd ; u32 fip ; u32 fcs ; u32 foo ; u32 fos ; u32 st_space[20U] ; u32 status ; }; struct __anonstruct____missing_field_name_23 { u64 rip ; u64 rdp ; }; struct __anonstruct____missing_field_name_24 { u32 fip ; u32 fcs ; u32 foo ; u32 fos ; }; union __anonunion____missing_field_name_22 { struct __anonstruct____missing_field_name_23 __annonCompField13 ; struct __anonstruct____missing_field_name_24 __annonCompField14 ; }; union __anonunion____missing_field_name_25 { u32 padding1[12U] ; u32 sw_reserved[12U] ; }; struct i387_fxsave_struct { u16 cwd ; u16 swd ; u16 twd ; u16 fop ; union __anonunion____missing_field_name_22 __annonCompField15 ; u32 mxcsr ; u32 mxcsr_mask ; u32 st_space[32U] ; u32 xmm_space[64U] ; u32 padding[12U] ; union __anonunion____missing_field_name_25 __annonCompField16 ; }; struct i387_soft_struct { u32 cwd ; u32 swd ; u32 twd ; u32 fip ; u32 fcs ; u32 foo ; u32 fos ; u32 st_space[20U] ; u8 ftop ; u8 changed ; u8 lookahead ; u8 no_update ; u8 rm ; u8 alimit ; struct math_emu_info *info ; u32 entry_eip ; }; struct ymmh_struct { u32 ymmh_space[64U] ; }; struct lwp_struct { u8 reserved[128U] ; }; struct bndregs_struct { u64 bndregs[8U] ; }; struct bndcsr_struct { u64 cfg_reg_u ; u64 status_reg ; }; struct xsave_hdr_struct { u64 xstate_bv ; u64 reserved1[2U] ; u64 reserved2[5U] ; }; struct xsave_struct { struct i387_fxsave_struct i387 ; struct xsave_hdr_struct xsave_hdr ; struct ymmh_struct ymmh ; struct lwp_struct lwp ; struct bndregs_struct bndregs ; struct bndcsr_struct bndcsr ; }; union thread_xstate { struct i387_fsave_struct fsave ; struct i387_fxsave_struct fxsave ; struct i387_soft_struct soft ; struct xsave_struct xsave ; }; struct fpu { unsigned int last_cpu ; unsigned int has_fpu ; union thread_xstate *state ; }; struct kmem_cache; struct perf_event; struct thread_struct { struct desc_struct tls_array[3U] ; unsigned long sp0 ; unsigned long sp ; unsigned long usersp ; unsigned short es ; unsigned short ds ; unsigned short fsindex ; unsigned short gsindex ; unsigned long fs ; unsigned long gs ; struct perf_event *ptrace_bps[4U] ; unsigned long debugreg6 ; unsigned long ptrace_dr7 ; unsigned long cr2 ; unsigned long trap_nr ; unsigned long error_code ; struct fpu fpu ; unsigned long *io_bitmap_ptr ; unsigned long iopl ; unsigned int io_bitmap_max ; unsigned char fpu_counter ; }; typedef atomic64_t atomic_long_t; struct stack_trace { unsigned int nr_entries ; unsigned int max_entries ; unsigned long *entries ; int skip ; }; struct lockdep_subclass_key { char __one_byte ; }; struct lock_class_key { struct lockdep_subclass_key subkeys[8U] ; }; struct lock_class { struct list_head hash_entry ; struct list_head lock_entry ; struct lockdep_subclass_key *key ; unsigned int subclass ; unsigned int dep_gen_id ; unsigned long usage_mask ; struct stack_trace usage_traces[13U] ; struct list_head locks_after ; struct list_head locks_before ; unsigned int version ; unsigned long ops ; char const *name ; int name_version ; unsigned long contention_point[4U] ; unsigned long contending_point[4U] ; }; struct lockdep_map { struct lock_class_key *key ; struct lock_class *class_cache[2U] ; char const *name ; int cpu ; unsigned long ip ; }; struct held_lock { u64 prev_chain_key ; unsigned long acquire_ip ; struct lockdep_map *instance ; struct lockdep_map *nest_lock ; u64 waittime_stamp ; u64 holdtime_stamp ; unsigned int class_idx : 13 ; unsigned int irq_context : 2 ; unsigned int trylock : 1 ; unsigned int read : 2 ; unsigned int check : 2 ; unsigned int hardirqs_off : 1 ; unsigned int references : 11 ; }; struct raw_spinlock { arch_spinlock_t raw_lock ; unsigned int magic ; unsigned int owner_cpu ; void *owner ; struct lockdep_map dep_map ; }; typedef struct raw_spinlock raw_spinlock_t; struct __anonstruct____missing_field_name_29 { u8 __padding[24U] ; struct lockdep_map dep_map ; }; union __anonunion____missing_field_name_28 { struct raw_spinlock rlock ; struct __anonstruct____missing_field_name_29 __annonCompField18 ; }; struct spinlock { union __anonunion____missing_field_name_28 __annonCompField19 ; }; typedef struct spinlock spinlock_t; struct __anonstruct_rwlock_t_30 { arch_rwlock_t raw_lock ; unsigned int magic ; unsigned int owner_cpu ; void *owner ; struct lockdep_map dep_map ; }; typedef struct __anonstruct_rwlock_t_30 rwlock_t; struct mutex { atomic_t count ; spinlock_t wait_lock ; struct list_head wait_list ; struct task_struct *owner ; char const *name ; void *magic ; struct lockdep_map dep_map ; }; struct mutex_waiter { struct list_head list ; struct task_struct *task ; void *magic ; }; struct timespec; typedef int pao_T__; typedef int pao_T_____0; struct jump_entry; struct static_key_mod; struct static_key { atomic_t enabled ; struct jump_entry *entries ; struct static_key_mod *next ; }; typedef u64 jump_label_t; struct jump_entry { jump_label_t code ; jump_label_t target ; jump_label_t key ; }; struct seqcount { unsigned int sequence ; struct lockdep_map dep_map ; }; typedef struct seqcount seqcount_t; struct __anonstruct_seqlock_t_35 { struct seqcount seqcount ; spinlock_t lock ; }; typedef struct __anonstruct_seqlock_t_35 seqlock_t; struct __wait_queue_head { spinlock_t lock ; struct list_head task_list ; }; typedef struct __wait_queue_head wait_queue_head_t; struct completion { unsigned int done ; wait_queue_head_t wait ; }; struct notifier_block; struct idr_layer { int prefix ; unsigned long bitmap[4U] ; struct idr_layer *ary[256U] ; int count ; int layer ; struct callback_head callback_head ; }; struct idr { struct idr_layer *hint ; struct idr_layer *top ; struct idr_layer *id_free ; int layers ; int id_free_cnt ; int cur ; spinlock_t lock ; }; struct ida_bitmap { long nr_busy ; unsigned long bitmap[15U] ; }; struct ida { struct idr idr ; struct ida_bitmap *free_bitmap ; }; struct rb_node { unsigned long __rb_parent_color ; struct rb_node *rb_right ; struct rb_node *rb_left ; }; struct rb_root { struct rb_node *rb_node ; }; struct dentry; struct iattr; struct vm_area_struct; struct super_block; struct file_system_type; struct kernfs_open_node; struct kernfs_iattrs; struct kernfs_root; struct kernfs_elem_dir { unsigned long subdirs ; struct rb_root children ; struct kernfs_root *root ; }; struct kernfs_node; struct kernfs_elem_symlink { struct kernfs_node *target_kn ; }; struct kernfs_ops; struct kernfs_elem_attr { struct kernfs_ops const *ops ; struct kernfs_open_node *open ; loff_t size ; }; union __anonunion_u_36 { struct completion *completion ; struct kernfs_node *removed_list ; }; union __anonunion____missing_field_name_37 { struct kernfs_elem_dir dir ; struct kernfs_elem_symlink symlink ; struct kernfs_elem_attr attr ; }; struct kernfs_node { atomic_t count ; atomic_t active ; struct lockdep_map dep_map ; struct kernfs_node *parent ; char const *name ; struct rb_node rb ; union __anonunion_u_36 u ; void const *ns ; unsigned int hash ; union __anonunion____missing_field_name_37 __annonCompField21 ; void *priv ; unsigned short flags ; umode_t mode ; unsigned int ino ; struct kernfs_iattrs *iattr ; }; struct kernfs_dir_ops { int (*mkdir)(struct kernfs_node * , char const * , umode_t ) ; int (*rmdir)(struct kernfs_node * ) ; int (*rename)(struct kernfs_node * , struct kernfs_node * , char const * ) ; }; struct kernfs_root { struct kernfs_node *kn ; struct ida ino_ida ; struct kernfs_dir_ops *dir_ops ; }; struct vm_operations_struct; struct kernfs_open_file { struct kernfs_node *kn ; struct file *file ; struct mutex mutex ; int event ; struct list_head list ; bool mmapped ; struct vm_operations_struct const *vm_ops ; }; struct kernfs_ops { int (*seq_show)(struct seq_file * , void * ) ; void *(*seq_start)(struct seq_file * , loff_t * ) ; void *(*seq_next)(struct seq_file * , void * , loff_t * ) ; void (*seq_stop)(struct seq_file * , void * ) ; ssize_t (*read)(struct kernfs_open_file * , char * , size_t , loff_t ) ; ssize_t (*write)(struct kernfs_open_file * , char * , size_t , loff_t ) ; int (*mmap)(struct kernfs_open_file * , struct vm_area_struct * ) ; struct lock_class_key lockdep_key ; }; struct sock; struct kobject; enum kobj_ns_type { KOBJ_NS_TYPE_NONE = 0, KOBJ_NS_TYPE_NET = 1, KOBJ_NS_TYPES = 2 } ; struct kobj_ns_type_operations { enum kobj_ns_type type ; bool (*current_may_mount)(void) ; void *(*grab_current_ns)(void) ; void const *(*netlink_ns)(struct sock * ) ; void const *(*initial_ns)(void) ; void (*drop_ns)(void * ) ; }; struct timespec { __kernel_time_t tv_sec ; long tv_nsec ; }; struct user_namespace; struct __anonstruct_kuid_t_38 { uid_t val ; }; typedef struct __anonstruct_kuid_t_38 kuid_t; struct __anonstruct_kgid_t_39 { gid_t val ; }; typedef struct __anonstruct_kgid_t_39 kgid_t; struct kstat { u64 ino ; dev_t dev ; umode_t mode ; unsigned int nlink ; kuid_t uid ; kgid_t gid ; dev_t rdev ; loff_t size ; struct timespec atime ; struct timespec mtime ; struct timespec ctime ; unsigned long blksize ; unsigned long long blocks ; }; struct bin_attribute; struct attribute { char const *name ; umode_t mode ; bool ignore_lockdep : 1 ; struct lock_class_key *key ; struct lock_class_key skey ; }; struct attribute_group { char const *name ; umode_t (*is_visible)(struct kobject * , struct attribute * , int ) ; struct attribute **attrs ; struct bin_attribute **bin_attrs ; }; struct bin_attribute { struct attribute attr ; size_t size ; void *private ; ssize_t (*read)(struct file * , struct kobject * , struct bin_attribute * , char * , loff_t , size_t ) ; ssize_t (*write)(struct file * , struct kobject * , struct bin_attribute * , char * , loff_t , size_t ) ; int (*mmap)(struct file * , struct kobject * , struct bin_attribute * , struct vm_area_struct * ) ; }; struct sysfs_ops { ssize_t (*show)(struct kobject * , struct attribute * , char * ) ; ssize_t (*store)(struct kobject * , struct attribute * , char const * , size_t ) ; }; struct kref { atomic_t refcount ; }; union ktime { s64 tv64 ; }; typedef union ktime ktime_t; struct tvec_base; struct timer_list { struct list_head entry ; unsigned long expires ; struct tvec_base *base ; void (*function)(unsigned long ) ; unsigned long data ; int slack ; int start_pid ; void *start_site ; char start_comm[16U] ; struct lockdep_map lockdep_map ; }; struct hrtimer; enum hrtimer_restart; struct workqueue_struct; struct work_struct; struct work_struct { atomic_long_t data ; struct list_head entry ; void (*func)(struct work_struct * ) ; struct lockdep_map lockdep_map ; }; struct delayed_work { struct work_struct work ; struct timer_list timer ; struct workqueue_struct *wq ; int cpu ; }; struct kset; struct kobj_type; struct kobject { char const *name ; struct list_head entry ; struct kobject *parent ; struct kset *kset ; struct kobj_type *ktype ; struct kernfs_node *sd ; struct kref kref ; struct delayed_work release ; unsigned int state_initialized : 1 ; unsigned int state_in_sysfs : 1 ; unsigned int state_add_uevent_sent : 1 ; unsigned int state_remove_uevent_sent : 1 ; unsigned int uevent_suppress : 1 ; }; struct kobj_type { void (*release)(struct kobject * ) ; struct sysfs_ops const *sysfs_ops ; struct attribute **default_attrs ; struct kobj_ns_type_operations const *(*child_ns_type)(struct kobject * ) ; void const *(*namespace)(struct kobject * ) ; }; struct kobj_uevent_env { char *envp[32U] ; int envp_idx ; char buf[2048U] ; int buflen ; }; struct kset_uevent_ops { int (* const filter)(struct kset * , struct kobject * ) ; char const *(* const name)(struct kset * , struct kobject * ) ; int (* const uevent)(struct kset * , struct kobject * , struct kobj_uevent_env * ) ; }; struct kset { struct list_head list ; spinlock_t list_lock ; struct kobject kobj ; struct kset_uevent_ops const *uevent_ops ; }; struct klist_node; struct klist_node { void *n_klist ; struct list_head n_node ; struct kref n_ref ; }; struct __anonstruct_nodemask_t_40 { unsigned long bits[16U] ; }; typedef struct __anonstruct_nodemask_t_40 nodemask_t; struct path; struct inode; struct seq_file { char *buf ; size_t size ; size_t from ; size_t count ; size_t pad_until ; loff_t index ; loff_t read_pos ; u64 version ; struct mutex lock ; struct seq_operations const *op ; int poll_event ; struct user_namespace *user_ns ; void *private ; }; struct seq_operations { void *(*start)(struct seq_file * , loff_t * ) ; void (*stop)(struct seq_file * , void * ) ; void *(*next)(struct seq_file * , void * , loff_t * ) ; int (*show)(struct seq_file * , void * ) ; }; struct pinctrl; struct pinctrl_state; struct dev_pin_info { struct pinctrl *p ; struct pinctrl_state *default_state ; struct pinctrl_state *sleep_state ; struct pinctrl_state *idle_state ; }; struct pm_message { int event ; }; typedef struct pm_message pm_message_t; struct dev_pm_ops { int (*prepare)(struct device * ) ; void (*complete)(struct device * ) ; int (*suspend)(struct device * ) ; int (*resume)(struct device * ) ; int (*freeze)(struct device * ) ; int (*thaw)(struct device * ) ; int (*poweroff)(struct device * ) ; int (*restore)(struct device * ) ; int (*suspend_late)(struct device * ) ; int (*resume_early)(struct device * ) ; int (*freeze_late)(struct device * ) ; int (*thaw_early)(struct device * ) ; int (*poweroff_late)(struct device * ) ; int (*restore_early)(struct device * ) ; int (*suspend_noirq)(struct device * ) ; int (*resume_noirq)(struct device * ) ; int (*freeze_noirq)(struct device * ) ; int (*thaw_noirq)(struct device * ) ; int (*poweroff_noirq)(struct device * ) ; int (*restore_noirq)(struct device * ) ; int (*runtime_suspend)(struct device * ) ; int (*runtime_resume)(struct device * ) ; int (*runtime_idle)(struct device * ) ; }; enum rpm_status { RPM_ACTIVE = 0, RPM_RESUMING = 1, RPM_SUSPENDED = 2, RPM_SUSPENDING = 3 } ; enum rpm_request { RPM_REQ_NONE = 0, RPM_REQ_IDLE = 1, RPM_REQ_SUSPEND = 2, RPM_REQ_AUTOSUSPEND = 3, RPM_REQ_RESUME = 4 } ; struct wakeup_source; struct pm_subsys_data { spinlock_t lock ; unsigned int refcount ; struct list_head clock_list ; }; struct dev_pm_qos; struct dev_pm_info { pm_message_t power_state ; unsigned int can_wakeup : 1 ; unsigned int async_suspend : 1 ; bool is_prepared : 1 ; bool is_suspended : 1 ; bool ignore_children : 1 ; bool early_init : 1 ; spinlock_t lock ; struct list_head entry ; struct completion completion ; struct wakeup_source *wakeup ; bool wakeup_path : 1 ; bool syscore : 1 ; struct timer_list suspend_timer ; unsigned long timer_expires ; struct work_struct work ; wait_queue_head_t wait_queue ; atomic_t usage_count ; atomic_t child_count ; unsigned int disable_depth : 3 ; unsigned int idle_notification : 1 ; unsigned int request_pending : 1 ; unsigned int deferred_resume : 1 ; unsigned int run_wake : 1 ; unsigned int runtime_auto : 1 ; unsigned int no_callbacks : 1 ; unsigned int irq_safe : 1 ; unsigned int use_autosuspend : 1 ; unsigned int timer_autosuspends : 1 ; unsigned int memalloc_noio : 1 ; enum rpm_request request ; enum rpm_status runtime_status ; int runtime_error ; int autosuspend_delay ; unsigned long last_busy ; unsigned long active_jiffies ; unsigned long suspended_jiffies ; unsigned long accounting_timestamp ; struct pm_subsys_data *subsys_data ; struct dev_pm_qos *qos ; }; struct dev_pm_domain { struct dev_pm_ops ops ; }; struct free_area { struct list_head free_list[6U] ; unsigned long nr_free ; }; struct pglist_data; struct zone_padding { char x[0U] ; }; struct zone_reclaim_stat { unsigned long recent_rotated[2U] ; unsigned long recent_scanned[2U] ; }; struct zone; struct lruvec { struct list_head lists[5U] ; struct zone_reclaim_stat reclaim_stat ; struct zone *zone ; }; struct per_cpu_pages { int count ; int high ; int batch ; struct list_head lists[3U] ; }; struct per_cpu_pageset { struct per_cpu_pages pcp ; s8 expire ; s8 stat_threshold ; s8 vm_stat_diff[35U] ; }; enum zone_type { ZONE_DMA = 0, ZONE_DMA32 = 1, ZONE_NORMAL = 2, ZONE_MOVABLE = 3, __MAX_NR_ZONES = 4 } ; struct zone { unsigned long watermark[3U] ; unsigned long percpu_drift_mark ; unsigned long lowmem_reserve[4U] ; unsigned long dirty_balance_reserve ; int node ; unsigned long min_unmapped_pages ; unsigned long min_slab_pages ; struct per_cpu_pageset *pageset ; spinlock_t lock ; bool compact_blockskip_flush ; unsigned long compact_cached_free_pfn ; unsigned long compact_cached_migrate_pfn ; seqlock_t span_seqlock ; struct free_area free_area[11U] ; unsigned int compact_considered ; unsigned int compact_defer_shift ; int compact_order_failed ; struct zone_padding _pad1_ ; spinlock_t lru_lock ; struct lruvec lruvec ; unsigned long pages_scanned ; unsigned long flags ; atomic_long_t vm_stat[35U] ; unsigned int inactive_ratio ; struct zone_padding _pad2_ ; wait_queue_head_t *wait_table ; unsigned long wait_table_hash_nr_entries ; unsigned long wait_table_bits ; struct pglist_data *zone_pgdat ; unsigned long zone_start_pfn ; unsigned long spanned_pages ; unsigned long present_pages ; unsigned long managed_pages ; int nr_migrate_reserve_block ; char const *name ; }; struct zonelist_cache { unsigned short z_to_n[4096U] ; unsigned long fullzones[64U] ; unsigned long last_full_zap ; }; struct zoneref { struct zone *zone ; int zone_idx ; }; struct zonelist { struct zonelist_cache *zlcache_ptr ; struct zoneref _zonerefs[4097U] ; struct zonelist_cache zlcache ; }; struct pglist_data { struct zone node_zones[4U] ; struct zonelist node_zonelists[2U] ; int nr_zones ; spinlock_t node_size_lock ; unsigned long node_start_pfn ; unsigned long node_present_pages ; unsigned long node_spanned_pages ; int node_id ; nodemask_t reclaim_nodes ; wait_queue_head_t kswapd_wait ; wait_queue_head_t pfmemalloc_wait ; struct task_struct *kswapd ; int kswapd_max_order ; enum zone_type classzone_idx ; spinlock_t numabalancing_migrate_lock ; unsigned long numabalancing_migrate_next_window ; unsigned long numabalancing_migrate_nr_pages ; }; typedef struct pglist_data pg_data_t; struct rw_semaphore; struct rw_semaphore { long count ; raw_spinlock_t wait_lock ; struct list_head wait_list ; struct lockdep_map dep_map ; }; struct notifier_block { int (*notifier_call)(struct notifier_block * , unsigned long , void * ) ; struct notifier_block *next ; int priority ; }; struct blocking_notifier_head { struct rw_semaphore rwsem ; struct notifier_block *head ; }; struct ctl_table; struct pci_dev; struct pci_bus; struct __anonstruct_mm_context_t_105 { void *ldt ; int size ; unsigned short ia32_compat ; struct mutex lock ; void *vdso ; }; typedef struct __anonstruct_mm_context_t_105 mm_context_t; typedef u64 cycle_t; struct cyclecounter { cycle_t (*read)(struct cyclecounter const * ) ; cycle_t mask ; u32 mult ; u32 shift ; }; struct timecounter { struct cyclecounter const *cc ; cycle_t cycle_last ; u64 nsec ; }; struct device_node; struct llist_node; struct llist_node { struct llist_node *next ; }; struct dma_map_ops; struct dev_archdata { struct dma_map_ops *dma_ops ; void *iommu ; }; struct device_private; struct device_driver; struct driver_private; struct class; struct subsys_private; struct bus_type; struct iommu_ops; struct iommu_group; struct device_attribute; struct bus_type { char const *name ; char const *dev_name ; struct device *dev_root ; struct device_attribute *dev_attrs ; struct attribute_group const **bus_groups ; struct attribute_group const **dev_groups ; struct attribute_group const **drv_groups ; int (*match)(struct device * , struct device_driver * ) ; int (*uevent)(struct device * , struct kobj_uevent_env * ) ; int (*probe)(struct device * ) ; int (*remove)(struct device * ) ; void (*shutdown)(struct device * ) ; int (*online)(struct device * ) ; int (*offline)(struct device * ) ; int (*suspend)(struct device * , pm_message_t ) ; int (*resume)(struct device * ) ; struct dev_pm_ops const *pm ; struct iommu_ops *iommu_ops ; struct subsys_private *p ; struct lock_class_key lock_key ; }; struct device_type; struct of_device_id; struct acpi_device_id; struct device_driver { char const *name ; struct bus_type *bus ; struct module *owner ; char const *mod_name ; bool suppress_bind_attrs ; struct of_device_id const *of_match_table ; struct acpi_device_id const *acpi_match_table ; int (*probe)(struct device * ) ; int (*remove)(struct device * ) ; void (*shutdown)(struct device * ) ; int (*suspend)(struct device * , pm_message_t ) ; int (*resume)(struct device * ) ; struct attribute_group const **groups ; struct dev_pm_ops const *pm ; struct driver_private *p ; }; struct class_attribute; struct class { char const *name ; struct module *owner ; struct class_attribute *class_attrs ; struct attribute_group const **dev_groups ; struct kobject *dev_kobj ; int (*dev_uevent)(struct device * , struct kobj_uevent_env * ) ; char *(*devnode)(struct device * , umode_t * ) ; void (*class_release)(struct class * ) ; void (*dev_release)(struct device * ) ; int (*suspend)(struct device * , pm_message_t ) ; int (*resume)(struct device * ) ; struct kobj_ns_type_operations const *ns_type ; void const *(*namespace)(struct device * ) ; struct dev_pm_ops const *pm ; struct subsys_private *p ; }; struct class_attribute { struct attribute attr ; ssize_t (*show)(struct class * , struct class_attribute * , char * ) ; ssize_t (*store)(struct class * , struct class_attribute * , char const * , size_t ) ; }; struct device_type { char const *name ; struct attribute_group const **groups ; int (*uevent)(struct device * , struct kobj_uevent_env * ) ; char *(*devnode)(struct device * , umode_t * , kuid_t * , kgid_t * ) ; void (*release)(struct device * ) ; struct dev_pm_ops const *pm ; }; struct device_attribute { struct attribute attr ; ssize_t (*show)(struct device * , struct device_attribute * , char * ) ; ssize_t (*store)(struct device * , struct device_attribute * , char const * , size_t ) ; }; struct device_dma_parameters { unsigned int max_segment_size ; unsigned long segment_boundary_mask ; }; struct acpi_device; struct acpi_dev_node { struct acpi_device *companion ; }; struct dma_coherent_mem; struct device { struct device *parent ; struct device_private *p ; struct kobject kobj ; char const *init_name ; struct device_type const *type ; struct mutex mutex ; struct bus_type *bus ; struct device_driver *driver ; void *platform_data ; struct dev_pm_info power ; struct dev_pm_domain *pm_domain ; struct dev_pin_info *pins ; int numa_node ; u64 *dma_mask ; u64 coherent_dma_mask ; struct device_dma_parameters *dma_parms ; struct list_head dma_pools ; struct dma_coherent_mem *dma_mem ; struct dev_archdata archdata ; struct device_node *of_node ; struct acpi_dev_node acpi_node ; dev_t devt ; u32 id ; spinlock_t devres_lock ; struct list_head devres_head ; struct klist_node knode_class ; struct class *class ; struct attribute_group const **groups ; void (*release)(struct device * ) ; struct iommu_group *iommu_group ; bool offline_disabled : 1 ; bool offline : 1 ; }; struct wakeup_source { char const *name ; struct list_head entry ; spinlock_t lock ; struct timer_list timer ; unsigned long timer_expires ; ktime_t total_time ; ktime_t max_time ; ktime_t last_time ; ktime_t start_prevent_time ; ktime_t prevent_sleep_time ; unsigned long event_count ; unsigned long active_count ; unsigned long relax_count ; unsigned long expire_count ; unsigned long wakeup_count ; bool active : 1 ; bool autosleep_enabled : 1 ; }; struct cdev { struct kobject kobj ; struct module *owner ; struct file_operations const *ops ; struct list_head list ; dev_t dev ; unsigned int count ; }; struct backing_dev_info; struct plist_head { struct list_head node_list ; }; struct plist_node { int prio ; struct list_head prio_list ; struct list_head node_list ; }; struct pm_qos_request { struct plist_node node ; int pm_qos_class ; struct delayed_work work ; }; struct pm_qos_flags_request { struct list_head node ; s32 flags ; }; enum dev_pm_qos_req_type { DEV_PM_QOS_LATENCY = 1, DEV_PM_QOS_FLAGS = 2 } ; union __anonunion_data_133 { struct plist_node pnode ; struct pm_qos_flags_request flr ; }; struct dev_pm_qos_request { enum dev_pm_qos_req_type type ; union __anonunion_data_133 data ; struct device *dev ; }; enum pm_qos_type { PM_QOS_UNITIALIZED = 0, PM_QOS_MAX = 1, PM_QOS_MIN = 2 } ; struct pm_qos_constraints { struct plist_head list ; s32 target_value ; s32 default_value ; enum pm_qos_type type ; struct blocking_notifier_head *notifiers ; }; struct pm_qos_flags { struct list_head list ; s32 effective_flags ; }; struct dev_pm_qos { struct pm_qos_constraints latency ; struct pm_qos_flags flags ; struct dev_pm_qos_request *latency_req ; struct dev_pm_qos_request *flags_req ; }; struct iovec { void *iov_base ; __kernel_size_t iov_len ; }; struct arch_uprobe_task { unsigned long saved_scratch_register ; unsigned int saved_trap_nr ; unsigned int saved_tf ; }; enum uprobe_task_state { UTASK_RUNNING = 0, UTASK_SSTEP = 1, UTASK_SSTEP_ACK = 2, UTASK_SSTEP_TRAPPED = 3 } ; struct __anonstruct____missing_field_name_136 { struct arch_uprobe_task autask ; unsigned long vaddr ; }; struct __anonstruct____missing_field_name_137 { struct callback_head dup_xol_work ; unsigned long dup_xol_addr ; }; union __anonunion____missing_field_name_135 { struct __anonstruct____missing_field_name_136 __annonCompField34 ; struct __anonstruct____missing_field_name_137 __annonCompField35 ; }; struct uprobe; struct return_instance; struct uprobe_task { enum uprobe_task_state state ; union __anonunion____missing_field_name_135 __annonCompField36 ; struct uprobe *active_uprobe ; unsigned long xol_vaddr ; struct return_instance *return_instances ; unsigned int depth ; }; struct xol_area; struct uprobes_state { struct xol_area *xol_area ; }; struct address_space; union __anonunion____missing_field_name_138 { struct address_space *mapping ; void *s_mem ; }; union __anonunion____missing_field_name_140 { unsigned long index ; void *freelist ; bool pfmemalloc ; }; struct __anonstruct____missing_field_name_144 { unsigned int inuse : 16 ; unsigned int objects : 15 ; unsigned int frozen : 1 ; }; union __anonunion____missing_field_name_143 { atomic_t _mapcount ; struct __anonstruct____missing_field_name_144 __annonCompField39 ; int units ; }; struct __anonstruct____missing_field_name_142 { union __anonunion____missing_field_name_143 __annonCompField40 ; atomic_t _count ; }; union __anonunion____missing_field_name_141 { unsigned long counters ; struct __anonstruct____missing_field_name_142 __annonCompField41 ; unsigned int active ; }; struct __anonstruct____missing_field_name_139 { union __anonunion____missing_field_name_140 __annonCompField38 ; union __anonunion____missing_field_name_141 __annonCompField42 ; }; struct __anonstruct____missing_field_name_146 { struct page *next ; int pages ; int pobjects ; }; struct slab; union __anonunion____missing_field_name_145 { struct list_head lru ; struct __anonstruct____missing_field_name_146 __annonCompField44 ; struct list_head list ; struct slab *slab_page ; struct callback_head callback_head ; pgtable_t pmd_huge_pte ; }; union __anonunion____missing_field_name_147 { unsigned long private ; spinlock_t *ptl ; struct kmem_cache *slab_cache ; struct page *first_page ; }; struct page { unsigned long flags ; union __anonunion____missing_field_name_138 __annonCompField37 ; struct __anonstruct____missing_field_name_139 __annonCompField43 ; union __anonunion____missing_field_name_145 __annonCompField45 ; union __anonunion____missing_field_name_147 __annonCompField46 ; unsigned long debug_flags ; }; struct page_frag { struct page *page ; __u32 offset ; __u32 size ; }; struct __anonstruct_linear_149 { struct rb_node rb ; unsigned long rb_subtree_last ; }; union __anonunion_shared_148 { struct __anonstruct_linear_149 linear ; struct list_head nonlinear ; }; struct anon_vma; struct mempolicy; struct vm_area_struct { unsigned long vm_start ; unsigned long vm_end ; struct vm_area_struct *vm_next ; struct vm_area_struct *vm_prev ; struct rb_node vm_rb ; unsigned long rb_subtree_gap ; struct mm_struct *vm_mm ; pgprot_t vm_page_prot ; unsigned long vm_flags ; union __anonunion_shared_148 shared ; struct list_head anon_vma_chain ; struct anon_vma *anon_vma ; struct vm_operations_struct const *vm_ops ; unsigned long vm_pgoff ; struct file *vm_file ; void *vm_private_data ; struct mempolicy *vm_policy ; }; struct core_thread { struct task_struct *task ; struct core_thread *next ; }; struct core_state { atomic_t nr_threads ; struct core_thread dumper ; struct completion startup ; }; struct task_rss_stat { int events ; int count[3U] ; }; struct mm_rss_stat { atomic_long_t count[3U] ; }; struct kioctx_table; struct linux_binfmt; struct mmu_notifier_mm; struct mm_struct { struct vm_area_struct *mmap ; struct rb_root mm_rb ; struct vm_area_struct *mmap_cache ; unsigned long (*get_unmapped_area)(struct file * , unsigned long , unsigned long , unsigned long , unsigned long ) ; unsigned long mmap_base ; unsigned long mmap_legacy_base ; unsigned long task_size ; unsigned long highest_vm_end ; pgd_t *pgd ; atomic_t mm_users ; atomic_t mm_count ; atomic_long_t nr_ptes ; int map_count ; spinlock_t page_table_lock ; struct rw_semaphore mmap_sem ; struct list_head mmlist ; unsigned long hiwater_rss ; unsigned long hiwater_vm ; unsigned long total_vm ; unsigned long locked_vm ; unsigned long pinned_vm ; unsigned long shared_vm ; unsigned long exec_vm ; unsigned long stack_vm ; unsigned long def_flags ; unsigned long start_code ; unsigned long end_code ; unsigned long start_data ; unsigned long end_data ; unsigned long start_brk ; unsigned long brk ; unsigned long start_stack ; unsigned long arg_start ; unsigned long arg_end ; unsigned long env_start ; unsigned long env_end ; unsigned long saved_auxv[46U] ; struct mm_rss_stat rss_stat ; struct linux_binfmt *binfmt ; cpumask_var_t cpu_vm_mask_var ; mm_context_t context ; unsigned long flags ; struct core_state *core_state ; spinlock_t ioctx_lock ; struct kioctx_table *ioctx_table ; struct task_struct *owner ; struct file *exe_file ; struct mmu_notifier_mm *mmu_notifier_mm ; struct cpumask cpumask_allocation ; unsigned long numa_next_scan ; unsigned long numa_scan_offset ; int numa_scan_seq ; bool tlb_flush_pending ; struct uprobes_state uprobes_state ; }; struct shrink_control { gfp_t gfp_mask ; unsigned long nr_to_scan ; nodemask_t nodes_to_scan ; int nid ; }; struct shrinker { unsigned long (*count_objects)(struct shrinker * , struct shrink_control * ) ; unsigned long (*scan_objects)(struct shrinker * , struct shrink_control * ) ; int seeks ; long batch ; unsigned long flags ; struct list_head list ; atomic_long_t *nr_deferred ; }; struct file_ra_state; struct user_struct; struct writeback_control; struct vm_fault { unsigned int flags ; unsigned long pgoff ; void *virtual_address ; struct page *page ; }; struct vm_operations_struct { void (*open)(struct vm_area_struct * ) ; void (*close)(struct vm_area_struct * ) ; int (*fault)(struct vm_area_struct * , struct vm_fault * ) ; int (*page_mkwrite)(struct vm_area_struct * , struct vm_fault * ) ; int (*access)(struct vm_area_struct * , unsigned long , void * , int , int ) ; int (*set_policy)(struct vm_area_struct * , struct mempolicy * ) ; struct mempolicy *(*get_policy)(struct vm_area_struct * , unsigned long ) ; int (*migrate)(struct vm_area_struct * , nodemask_t const * , nodemask_t const * , unsigned long ) ; int (*remap_pages)(struct vm_area_struct * , unsigned long , unsigned long , unsigned long ) ; }; struct scatterlist { unsigned long sg_magic ; unsigned long page_link ; unsigned int offset ; unsigned int length ; dma_addr_t dma_address ; unsigned int dma_length ; }; struct sg_table { struct scatterlist *sgl ; unsigned int nents ; unsigned int orig_nents ; }; typedef s32 dma_cookie_t; struct dql { unsigned int num_queued ; unsigned int adj_limit ; unsigned int last_obj_cnt ; unsigned int limit ; unsigned int num_completed ; unsigned int prev_ovlimit ; unsigned int prev_num_queued ; unsigned int prev_last_obj_cnt ; unsigned int lowest_slack ; unsigned long slack_start_time ; unsigned int max_limit ; unsigned int min_limit ; unsigned int slack_hold_time ; }; struct sem_undo_list; struct sysv_sem { struct sem_undo_list *undo_list ; }; typedef unsigned short __kernel_sa_family_t; struct cred; typedef __kernel_sa_family_t sa_family_t; struct sockaddr { sa_family_t sa_family ; char sa_data[14U] ; }; struct msghdr { void *msg_name ; int msg_namelen ; struct iovec *msg_iov ; __kernel_size_t msg_iovlen ; void *msg_control ; __kernel_size_t msg_controllen ; unsigned int msg_flags ; }; struct __anonstruct_sync_serial_settings_151 { unsigned int clock_rate ; unsigned int clock_type ; unsigned short loopback ; }; typedef struct __anonstruct_sync_serial_settings_151 sync_serial_settings; struct __anonstruct_te1_settings_152 { unsigned int clock_rate ; unsigned int clock_type ; unsigned short loopback ; unsigned int slot_map ; }; typedef struct __anonstruct_te1_settings_152 te1_settings; struct __anonstruct_raw_hdlc_proto_153 { unsigned short encoding ; unsigned short parity ; }; typedef struct __anonstruct_raw_hdlc_proto_153 raw_hdlc_proto; struct __anonstruct_fr_proto_154 { unsigned int t391 ; unsigned int t392 ; unsigned int n391 ; unsigned int n392 ; unsigned int n393 ; unsigned short lmi ; unsigned short dce ; }; typedef struct __anonstruct_fr_proto_154 fr_proto; struct __anonstruct_fr_proto_pvc_155 { unsigned int dlci ; }; typedef struct __anonstruct_fr_proto_pvc_155 fr_proto_pvc; struct __anonstruct_fr_proto_pvc_info_156 { unsigned int dlci ; char master[16U] ; }; typedef struct __anonstruct_fr_proto_pvc_info_156 fr_proto_pvc_info; struct __anonstruct_cisco_proto_157 { unsigned int interval ; unsigned int timeout ; }; typedef struct __anonstruct_cisco_proto_157 cisco_proto; struct ifmap { unsigned long mem_start ; unsigned long mem_end ; unsigned short base_addr ; unsigned char irq ; unsigned char dma ; unsigned char port ; }; union __anonunion_ifs_ifsu_158 { raw_hdlc_proto *raw_hdlc ; cisco_proto *cisco ; fr_proto *fr ; fr_proto_pvc *fr_pvc ; fr_proto_pvc_info *fr_pvc_info ; sync_serial_settings *sync ; te1_settings *te1 ; }; struct if_settings { unsigned int type ; unsigned int size ; union __anonunion_ifs_ifsu_158 ifs_ifsu ; }; union __anonunion_ifr_ifrn_159 { char ifrn_name[16U] ; }; union __anonunion_ifr_ifru_160 { struct sockaddr ifru_addr ; struct sockaddr ifru_dstaddr ; struct sockaddr ifru_broadaddr ; struct sockaddr ifru_netmask ; struct sockaddr ifru_hwaddr ; short ifru_flags ; int ifru_ivalue ; int ifru_mtu ; struct ifmap ifru_map ; char ifru_slave[16U] ; char ifru_newname[16U] ; void *ifru_data ; struct if_settings ifru_settings ; }; struct ifreq { union __anonunion_ifr_ifrn_159 ifr_ifrn ; union __anonunion_ifr_ifru_160 ifr_ifru ; }; struct hlist_bl_node; struct hlist_bl_head { struct hlist_bl_node *first ; }; struct hlist_bl_node { struct hlist_bl_node *next ; struct hlist_bl_node **pprev ; }; struct __anonstruct____missing_field_name_163 { spinlock_t lock ; unsigned int count ; }; union __anonunion____missing_field_name_162 { struct __anonstruct____missing_field_name_163 __annonCompField47 ; }; struct lockref { union __anonunion____missing_field_name_162 __annonCompField48 ; }; struct nameidata; struct vfsmount; struct __anonstruct____missing_field_name_165 { u32 hash ; u32 len ; }; union __anonunion____missing_field_name_164 { struct __anonstruct____missing_field_name_165 __annonCompField49 ; u64 hash_len ; }; struct qstr { union __anonunion____missing_field_name_164 __annonCompField50 ; unsigned char const *name ; }; struct dentry_operations; union __anonunion_d_u_166 { struct list_head d_child ; struct callback_head d_rcu ; }; struct dentry { unsigned int d_flags ; seqcount_t d_seq ; struct hlist_bl_node d_hash ; struct dentry *d_parent ; struct qstr d_name ; struct inode *d_inode ; unsigned char d_iname[32U] ; struct lockref d_lockref ; struct dentry_operations const *d_op ; struct super_block *d_sb ; unsigned long d_time ; void *d_fsdata ; struct list_head d_lru ; union __anonunion_d_u_166 d_u ; struct list_head d_subdirs ; struct hlist_node d_alias ; }; struct dentry_operations { int (*d_revalidate)(struct dentry * , unsigned int ) ; int (*d_weak_revalidate)(struct dentry * , unsigned int ) ; int (*d_hash)(struct dentry const * , struct qstr * ) ; int (*d_compare)(struct dentry const * , struct dentry const * , unsigned int , char const * , struct qstr const * ) ; int (*d_delete)(struct dentry const * ) ; void (*d_release)(struct dentry * ) ; void (*d_prune)(struct dentry * ) ; void (*d_iput)(struct dentry * , struct inode * ) ; char *(*d_dname)(struct dentry * , char * , int ) ; struct vfsmount *(*d_automount)(struct path * ) ; int (*d_manage)(struct dentry * , bool ) ; }; struct path { struct vfsmount *mnt ; struct dentry *dentry ; }; struct list_lru_node { spinlock_t lock ; struct list_head list ; long nr_items ; }; struct list_lru { struct list_lru_node *node ; nodemask_t active_nodes ; }; struct radix_tree_node; struct radix_tree_root { unsigned int height ; gfp_t gfp_mask ; struct radix_tree_node *rnode ; }; enum pid_type { PIDTYPE_PID = 0, PIDTYPE_PGID = 1, PIDTYPE_SID = 2, PIDTYPE_MAX = 3 } ; struct pid_namespace; struct upid { int nr ; struct pid_namespace *ns ; struct hlist_node pid_chain ; }; struct pid { atomic_t count ; unsigned int level ; struct hlist_head tasks[3U] ; struct callback_head rcu ; struct upid numbers[1U] ; }; struct pid_link { struct hlist_node node ; struct pid *pid ; }; struct kernel_cap_struct { __u32 cap[2U] ; }; typedef struct kernel_cap_struct kernel_cap_t; struct fiemap_extent { __u64 fe_logical ; __u64 fe_physical ; __u64 fe_length ; __u64 fe_reserved64[2U] ; __u32 fe_flags ; __u32 fe_reserved[3U] ; }; enum migrate_mode { MIGRATE_ASYNC = 0, MIGRATE_SYNC_LIGHT = 1, MIGRATE_SYNC = 2 } ; struct block_device; struct io_context; struct cgroup_subsys_state; struct export_operations; struct kiocb; struct pipe_inode_info; struct poll_table_struct; struct kstatfs; struct swap_info_struct; struct iattr { unsigned int ia_valid ; umode_t ia_mode ; kuid_t ia_uid ; kgid_t ia_gid ; loff_t ia_size ; struct timespec ia_atime ; struct timespec ia_mtime ; struct timespec ia_ctime ; struct file *ia_file ; }; struct percpu_counter { raw_spinlock_t lock ; s64 count ; struct list_head list ; s32 *counters ; }; struct fs_disk_quota { __s8 d_version ; __s8 d_flags ; __u16 d_fieldmask ; __u32 d_id ; __u64 d_blk_hardlimit ; __u64 d_blk_softlimit ; __u64 d_ino_hardlimit ; __u64 d_ino_softlimit ; __u64 d_bcount ; __u64 d_icount ; __s32 d_itimer ; __s32 d_btimer ; __u16 d_iwarns ; __u16 d_bwarns ; __s32 d_padding2 ; __u64 d_rtb_hardlimit ; __u64 d_rtb_softlimit ; __u64 d_rtbcount ; __s32 d_rtbtimer ; __u16 d_rtbwarns ; __s16 d_padding3 ; char d_padding4[8U] ; }; struct fs_qfilestat { __u64 qfs_ino ; __u64 qfs_nblks ; __u32 qfs_nextents ; }; typedef struct fs_qfilestat fs_qfilestat_t; struct fs_quota_stat { __s8 qs_version ; __u16 qs_flags ; __s8 qs_pad ; fs_qfilestat_t qs_uquota ; fs_qfilestat_t qs_gquota ; __u32 qs_incoredqs ; __s32 qs_btimelimit ; __s32 qs_itimelimit ; __s32 qs_rtbtimelimit ; __u16 qs_bwarnlimit ; __u16 qs_iwarnlimit ; }; struct fs_qfilestatv { __u64 qfs_ino ; __u64 qfs_nblks ; __u32 qfs_nextents ; __u32 qfs_pad ; }; struct fs_quota_statv { __s8 qs_version ; __u8 qs_pad1 ; __u16 qs_flags ; __u32 qs_incoredqs ; struct fs_qfilestatv qs_uquota ; struct fs_qfilestatv qs_gquota ; struct fs_qfilestatv qs_pquota ; __s32 qs_btimelimit ; __s32 qs_itimelimit ; __s32 qs_rtbtimelimit ; __u16 qs_bwarnlimit ; __u16 qs_iwarnlimit ; __u64 qs_pad2[8U] ; }; struct dquot; typedef __kernel_uid32_t projid_t; struct __anonstruct_kprojid_t_168 { projid_t val ; }; typedef struct __anonstruct_kprojid_t_168 kprojid_t; struct if_dqinfo { __u64 dqi_bgrace ; __u64 dqi_igrace ; __u32 dqi_flags ; __u32 dqi_valid ; }; enum quota_type { USRQUOTA = 0, GRPQUOTA = 1, PRJQUOTA = 2 } ; typedef long long qsize_t; union __anonunion____missing_field_name_169 { kuid_t uid ; kgid_t gid ; kprojid_t projid ; }; struct kqid { union __anonunion____missing_field_name_169 __annonCompField51 ; enum quota_type type ; }; struct mem_dqblk { qsize_t dqb_bhardlimit ; qsize_t dqb_bsoftlimit ; qsize_t dqb_curspace ; qsize_t dqb_rsvspace ; qsize_t dqb_ihardlimit ; qsize_t dqb_isoftlimit ; qsize_t dqb_curinodes ; time_t dqb_btime ; time_t dqb_itime ; }; struct quota_format_type; struct mem_dqinfo { struct quota_format_type *dqi_format ; int dqi_fmt_id ; struct list_head dqi_dirty_list ; unsigned long dqi_flags ; unsigned int dqi_bgrace ; unsigned int dqi_igrace ; qsize_t dqi_maxblimit ; qsize_t dqi_maxilimit ; void *dqi_priv ; }; struct dquot { struct hlist_node dq_hash ; struct list_head dq_inuse ; struct list_head dq_free ; struct list_head dq_dirty ; struct mutex dq_lock ; atomic_t dq_count ; wait_queue_head_t dq_wait_unused ; struct super_block *dq_sb ; struct kqid dq_id ; loff_t dq_off ; unsigned long dq_flags ; struct mem_dqblk dq_dqb ; }; struct quota_format_ops { int (*check_quota_file)(struct super_block * , int ) ; int (*read_file_info)(struct super_block * , int ) ; int (*write_file_info)(struct super_block * , int ) ; int (*free_file_info)(struct super_block * , int ) ; int (*read_dqblk)(struct dquot * ) ; int (*commit_dqblk)(struct dquot * ) ; int (*release_dqblk)(struct dquot * ) ; }; struct dquot_operations { int (*write_dquot)(struct dquot * ) ; struct dquot *(*alloc_dquot)(struct super_block * , int ) ; void (*destroy_dquot)(struct dquot * ) ; int (*acquire_dquot)(struct dquot * ) ; int (*release_dquot)(struct dquot * ) ; int (*mark_dirty)(struct dquot * ) ; int (*write_info)(struct super_block * , int ) ; qsize_t *(*get_reserved_space)(struct inode * ) ; }; struct quotactl_ops { int (*quota_on)(struct super_block * , int , int , struct path * ) ; int (*quota_on_meta)(struct super_block * , int , int ) ; int (*quota_off)(struct super_block * , int ) ; int (*quota_sync)(struct super_block * , int ) ; int (*get_info)(struct super_block * , int , struct if_dqinfo * ) ; int (*set_info)(struct super_block * , int , struct if_dqinfo * ) ; int (*get_dqblk)(struct super_block * , struct kqid , struct fs_disk_quota * ) ; int (*set_dqblk)(struct super_block * , struct kqid , struct fs_disk_quota * ) ; int (*get_xstate)(struct super_block * , struct fs_quota_stat * ) ; int (*set_xstate)(struct super_block * , unsigned int , int ) ; int (*get_xstatev)(struct super_block * , struct fs_quota_statv * ) ; }; struct quota_format_type { int qf_fmt_id ; struct quota_format_ops const *qf_ops ; struct module *qf_owner ; struct quota_format_type *qf_next ; }; struct quota_info { unsigned int flags ; struct mutex dqio_mutex ; struct mutex dqonoff_mutex ; struct rw_semaphore dqptr_sem ; struct inode *files[2U] ; struct mem_dqinfo info[2U] ; struct quota_format_ops const *ops[2U] ; }; union __anonunion_arg_171 { char *buf ; void *data ; }; struct __anonstruct_read_descriptor_t_170 { size_t written ; size_t count ; union __anonunion_arg_171 arg ; int error ; }; typedef struct __anonstruct_read_descriptor_t_170 read_descriptor_t; struct address_space_operations { int (*writepage)(struct page * , struct writeback_control * ) ; int (*readpage)(struct file * , struct page * ) ; int (*writepages)(struct address_space * , struct writeback_control * ) ; int (*set_page_dirty)(struct page * ) ; int (*readpages)(struct file * , struct address_space * , struct list_head * , unsigned int ) ; int (*write_begin)(struct file * , struct address_space * , loff_t , unsigned int , unsigned int , struct page ** , void ** ) ; int (*write_end)(struct file * , struct address_space * , loff_t , unsigned int , unsigned int , struct page * , void * ) ; sector_t (*bmap)(struct address_space * , sector_t ) ; void (*invalidatepage)(struct page * , unsigned int , unsigned int ) ; int (*releasepage)(struct page * , gfp_t ) ; void (*freepage)(struct page * ) ; ssize_t (*direct_IO)(int , struct kiocb * , struct iovec const * , loff_t , unsigned long ) ; int (*get_xip_mem)(struct address_space * , unsigned long , int , void ** , unsigned long * ) ; int (*migratepage)(struct address_space * , struct page * , struct page * , enum migrate_mode ) ; int (*launder_page)(struct page * ) ; int (*is_partially_uptodate)(struct page * , read_descriptor_t * , unsigned long ) ; void (*is_dirty_writeback)(struct page * , bool * , bool * ) ; int (*error_remove_page)(struct address_space * , struct page * ) ; int (*swap_activate)(struct swap_info_struct * , struct file * , sector_t * ) ; void (*swap_deactivate)(struct file * ) ; }; struct address_space { struct inode *host ; struct radix_tree_root page_tree ; spinlock_t tree_lock ; unsigned int i_mmap_writable ; struct rb_root i_mmap ; struct list_head i_mmap_nonlinear ; struct mutex i_mmap_mutex ; unsigned long nrpages ; unsigned long writeback_index ; struct address_space_operations const *a_ops ; unsigned long flags ; struct backing_dev_info *backing_dev_info ; spinlock_t private_lock ; struct list_head private_list ; void *private_data ; }; struct request_queue; struct hd_struct; struct gendisk; struct block_device { dev_t bd_dev ; int bd_openers ; struct inode *bd_inode ; struct super_block *bd_super ; struct mutex bd_mutex ; struct list_head bd_inodes ; void *bd_claiming ; void *bd_holder ; int bd_holders ; bool bd_write_holder ; struct list_head bd_holder_disks ; struct block_device *bd_contains ; unsigned int bd_block_size ; struct hd_struct *bd_part ; unsigned int bd_part_count ; int bd_invalidated ; struct gendisk *bd_disk ; struct request_queue *bd_queue ; struct list_head bd_list ; unsigned long bd_private ; int bd_fsfreeze_count ; struct mutex bd_fsfreeze_mutex ; }; struct posix_acl; struct inode_operations; union __anonunion____missing_field_name_172 { unsigned int const i_nlink ; unsigned int __i_nlink ; }; union __anonunion____missing_field_name_173 { struct hlist_head i_dentry ; struct callback_head i_rcu ; }; struct file_lock; union __anonunion____missing_field_name_174 { struct pipe_inode_info *i_pipe ; struct block_device *i_bdev ; struct cdev *i_cdev ; }; struct inode { umode_t i_mode ; unsigned short i_opflags ; kuid_t i_uid ; kgid_t i_gid ; unsigned int i_flags ; struct posix_acl *i_acl ; struct posix_acl *i_default_acl ; struct inode_operations const *i_op ; struct super_block *i_sb ; struct address_space *i_mapping ; void *i_security ; unsigned long i_ino ; union __anonunion____missing_field_name_172 __annonCompField52 ; dev_t i_rdev ; loff_t i_size ; struct timespec i_atime ; struct timespec i_mtime ; struct timespec i_ctime ; spinlock_t i_lock ; unsigned short i_bytes ; unsigned int i_blkbits ; blkcnt_t i_blocks ; unsigned long i_state ; struct mutex i_mutex ; unsigned long dirtied_when ; struct hlist_node i_hash ; struct list_head i_wb_list ; struct list_head i_lru ; struct list_head i_sb_list ; union __anonunion____missing_field_name_173 __annonCompField53 ; u64 i_version ; atomic_t i_count ; atomic_t i_dio_count ; atomic_t i_writecount ; struct file_operations const *i_fop ; struct file_lock *i_flock ; struct address_space i_data ; struct dquot *i_dquot[2U] ; struct list_head i_devices ; union __anonunion____missing_field_name_174 __annonCompField54 ; __u32 i_generation ; __u32 i_fsnotify_mask ; struct hlist_head i_fsnotify_marks ; atomic_t i_readcount ; void *i_private ; }; struct fown_struct { rwlock_t lock ; struct pid *pid ; enum pid_type pid_type ; kuid_t uid ; kuid_t euid ; int signum ; }; struct file_ra_state { unsigned long start ; unsigned int size ; unsigned int async_size ; unsigned int ra_pages ; unsigned int mmap_miss ; loff_t prev_pos ; }; union __anonunion_f_u_175 { struct llist_node fu_llist ; struct callback_head fu_rcuhead ; }; struct file { union __anonunion_f_u_175 f_u ; struct path f_path ; struct inode *f_inode ; struct file_operations const *f_op ; spinlock_t f_lock ; atomic_long_t f_count ; unsigned int f_flags ; fmode_t f_mode ; struct mutex f_pos_lock ; loff_t f_pos ; struct fown_struct f_owner ; struct cred const *f_cred ; struct file_ra_state f_ra ; u64 f_version ; void *f_security ; void *private_data ; struct list_head f_ep_links ; struct list_head f_tfile_llink ; struct address_space *f_mapping ; unsigned long f_mnt_write_state ; }; struct files_struct; typedef struct files_struct *fl_owner_t; struct file_lock_operations { void (*fl_copy_lock)(struct file_lock * , struct file_lock * ) ; void (*fl_release_private)(struct file_lock * ) ; }; struct lock_manager_operations { int (*lm_compare_owner)(struct file_lock * , struct file_lock * ) ; unsigned long (*lm_owner_key)(struct file_lock * ) ; void (*lm_notify)(struct file_lock * ) ; int (*lm_grant)(struct file_lock * , struct file_lock * , int ) ; void (*lm_break)(struct file_lock * ) ; int (*lm_change)(struct file_lock ** , int ) ; }; struct net; struct nlm_lockowner; struct nfs_lock_info { u32 state ; struct nlm_lockowner *owner ; struct list_head list ; }; struct nfs4_lock_state; struct nfs4_lock_info { struct nfs4_lock_state *owner ; }; struct fasync_struct; struct __anonstruct_afs_177 { struct list_head link ; int state ; }; union __anonunion_fl_u_176 { struct nfs_lock_info nfs_fl ; struct nfs4_lock_info nfs4_fl ; struct __anonstruct_afs_177 afs ; }; struct file_lock { struct file_lock *fl_next ; struct hlist_node fl_link ; struct list_head fl_block ; fl_owner_t fl_owner ; unsigned int fl_flags ; unsigned char fl_type ; unsigned int fl_pid ; int fl_link_cpu ; struct pid *fl_nspid ; wait_queue_head_t fl_wait ; struct file *fl_file ; loff_t fl_start ; loff_t fl_end ; struct fasync_struct *fl_fasync ; unsigned long fl_break_time ; unsigned long fl_downgrade_time ; struct file_lock_operations const *fl_ops ; struct lock_manager_operations const *fl_lmops ; union __anonunion_fl_u_176 fl_u ; }; struct fasync_struct { spinlock_t fa_lock ; int magic ; int fa_fd ; struct fasync_struct *fa_next ; struct file *fa_file ; struct callback_head fa_rcu ; }; struct sb_writers { struct percpu_counter counter[3U] ; wait_queue_head_t wait ; int frozen ; wait_queue_head_t wait_unfrozen ; struct lockdep_map lock_map[3U] ; }; struct super_operations; struct xattr_handler; struct mtd_info; struct super_block { struct list_head s_list ; dev_t s_dev ; unsigned char s_blocksize_bits ; unsigned long s_blocksize ; loff_t s_maxbytes ; struct file_system_type *s_type ; struct super_operations const *s_op ; struct dquot_operations const *dq_op ; struct quotactl_ops const *s_qcop ; struct export_operations const *s_export_op ; unsigned long s_flags ; unsigned long s_magic ; struct dentry *s_root ; struct rw_semaphore s_umount ; int s_count ; atomic_t s_active ; void *s_security ; struct xattr_handler const **s_xattr ; struct list_head s_inodes ; struct hlist_bl_head s_anon ; struct list_head s_mounts ; struct block_device *s_bdev ; struct backing_dev_info *s_bdi ; struct mtd_info *s_mtd ; struct hlist_node s_instances ; struct quota_info s_dquot ; struct sb_writers s_writers ; char s_id[32U] ; u8 s_uuid[16U] ; void *s_fs_info ; unsigned int s_max_links ; fmode_t s_mode ; u32 s_time_gran ; struct mutex s_vfs_rename_mutex ; char *s_subtype ; char *s_options ; struct dentry_operations const *s_d_op ; int cleancache_poolid ; struct shrinker s_shrink ; atomic_long_t s_remove_count ; int s_readonly_remount ; struct workqueue_struct *s_dio_done_wq ; struct list_lru s_dentry_lru ; struct list_lru s_inode_lru ; struct callback_head rcu ; }; struct fiemap_extent_info { unsigned int fi_flags ; unsigned int fi_extents_mapped ; unsigned int fi_extents_max ; struct fiemap_extent *fi_extents_start ; }; struct dir_context { int (*actor)(void * , char const * , int , loff_t , u64 , unsigned int ) ; loff_t pos ; }; struct file_operations { struct module *owner ; loff_t (*llseek)(struct file * , loff_t , int ) ; ssize_t (*read)(struct file * , char * , size_t , loff_t * ) ; ssize_t (*write)(struct file * , char const * , size_t , loff_t * ) ; ssize_t (*aio_read)(struct kiocb * , struct iovec const * , unsigned long , loff_t ) ; ssize_t (*aio_write)(struct kiocb * , struct iovec const * , unsigned long , loff_t ) ; int (*iterate)(struct file * , struct dir_context * ) ; unsigned int (*poll)(struct file * , struct poll_table_struct * ) ; long (*unlocked_ioctl)(struct file * , unsigned int , unsigned long ) ; long (*compat_ioctl)(struct file * , unsigned int , unsigned long ) ; int (*mmap)(struct file * , struct vm_area_struct * ) ; int (*open)(struct inode * , struct file * ) ; int (*flush)(struct file * , fl_owner_t ) ; int (*release)(struct inode * , struct file * ) ; int (*fsync)(struct file * , loff_t , loff_t , int ) ; int (*aio_fsync)(struct kiocb * , int ) ; int (*fasync)(int , struct file * , int ) ; int (*lock)(struct file * , int , struct file_lock * ) ; ssize_t (*sendpage)(struct file * , struct page * , int , size_t , loff_t * , int ) ; unsigned long (*get_unmapped_area)(struct file * , unsigned long , unsigned long , unsigned long , unsigned long ) ; int (*check_flags)(int ) ; int (*flock)(struct file * , int , struct file_lock * ) ; ssize_t (*splice_write)(struct pipe_inode_info * , struct file * , loff_t * , size_t , unsigned int ) ; ssize_t (*splice_read)(struct file * , loff_t * , struct pipe_inode_info * , size_t , unsigned int ) ; int (*setlease)(struct file * , long , struct file_lock ** ) ; long (*fallocate)(struct file * , int , loff_t , loff_t ) ; int (*show_fdinfo)(struct seq_file * , struct file * ) ; }; struct inode_operations { struct dentry *(*lookup)(struct inode * , struct dentry * , unsigned int ) ; void *(*follow_link)(struct dentry * , struct nameidata * ) ; int (*permission)(struct inode * , int ) ; struct posix_acl *(*get_acl)(struct inode * , int ) ; int (*readlink)(struct dentry * , char * , int ) ; void (*put_link)(struct dentry * , struct nameidata * , void * ) ; int (*create)(struct inode * , struct dentry * , umode_t , bool ) ; int (*link)(struct dentry * , struct inode * , struct dentry * ) ; int (*unlink)(struct inode * , struct dentry * ) ; int (*symlink)(struct inode * , struct dentry * , char const * ) ; int (*mkdir)(struct inode * , struct dentry * , umode_t ) ; int (*rmdir)(struct inode * , struct dentry * ) ; int (*mknod)(struct inode * , struct dentry * , umode_t , dev_t ) ; int (*rename)(struct inode * , struct dentry * , struct inode * , struct dentry * ) ; int (*setattr)(struct dentry * , struct iattr * ) ; int (*getattr)(struct vfsmount * , struct dentry * , struct kstat * ) ; int (*setxattr)(struct dentry * , char const * , void const * , size_t , int ) ; ssize_t (*getxattr)(struct dentry * , char const * , void * , size_t ) ; ssize_t (*listxattr)(struct dentry * , char * , size_t ) ; int (*removexattr)(struct dentry * , char const * ) ; int (*fiemap)(struct inode * , struct fiemap_extent_info * , u64 , u64 ) ; int (*update_time)(struct inode * , struct timespec * , int ) ; int (*atomic_open)(struct inode * , struct dentry * , struct file * , unsigned int , umode_t , int * ) ; int (*tmpfile)(struct inode * , struct dentry * , umode_t ) ; int (*set_acl)(struct inode * , struct posix_acl * , int ) ; }; struct super_operations { struct inode *(*alloc_inode)(struct super_block * ) ; void (*destroy_inode)(struct inode * ) ; void (*dirty_inode)(struct inode * , int ) ; int (*write_inode)(struct inode * , struct writeback_control * ) ; int (*drop_inode)(struct inode * ) ; void (*evict_inode)(struct inode * ) ; void (*put_super)(struct super_block * ) ; int (*sync_fs)(struct super_block * , int ) ; int (*freeze_fs)(struct super_block * ) ; int (*unfreeze_fs)(struct super_block * ) ; int (*statfs)(struct dentry * , struct kstatfs * ) ; int (*remount_fs)(struct super_block * , int * , char * ) ; void (*umount_begin)(struct super_block * ) ; int (*show_options)(struct seq_file * , struct dentry * ) ; int (*show_devname)(struct seq_file * , struct dentry * ) ; int (*show_path)(struct seq_file * , struct dentry * ) ; int (*show_stats)(struct seq_file * , struct dentry * ) ; ssize_t (*quota_read)(struct super_block * , int , char * , size_t , loff_t ) ; ssize_t (*quota_write)(struct super_block * , int , char const * , size_t , loff_t ) ; int (*bdev_try_to_free_page)(struct super_block * , struct page * , gfp_t ) ; long (*nr_cached_objects)(struct super_block * , int ) ; long (*free_cached_objects)(struct super_block * , long , int ) ; }; struct file_system_type { char const *name ; int fs_flags ; struct dentry *(*mount)(struct file_system_type * , int , char const * , void * ) ; void (*kill_sb)(struct super_block * ) ; struct module *owner ; struct file_system_type *next ; struct hlist_head fs_supers ; struct lock_class_key s_lock_key ; struct lock_class_key s_umount_key ; struct lock_class_key s_vfs_rename_key ; struct lock_class_key s_writers_key[3U] ; struct lock_class_key i_lock_key ; struct lock_class_key i_mutex_key ; struct lock_class_key i_mutex_dir_key ; }; typedef unsigned long cputime_t; struct __anonstruct_sigset_t_178 { unsigned long sig[1U] ; }; typedef struct __anonstruct_sigset_t_178 sigset_t; struct siginfo; typedef void __signalfn_t(int ); typedef __signalfn_t *__sighandler_t; typedef void __restorefn_t(void); typedef __restorefn_t *__sigrestore_t; union sigval { int sival_int ; void *sival_ptr ; }; typedef union sigval sigval_t; struct __anonstruct__kill_180 { __kernel_pid_t _pid ; __kernel_uid32_t _uid ; }; struct __anonstruct__timer_181 { __kernel_timer_t _tid ; int _overrun ; char _pad[0U] ; sigval_t _sigval ; int _sys_private ; }; struct __anonstruct__rt_182 { __kernel_pid_t _pid ; __kernel_uid32_t _uid ; sigval_t _sigval ; }; struct __anonstruct__sigchld_183 { __kernel_pid_t _pid ; __kernel_uid32_t _uid ; int _status ; __kernel_clock_t _utime ; __kernel_clock_t _stime ; }; struct __anonstruct__sigfault_184 { void *_addr ; short _addr_lsb ; }; struct __anonstruct__sigpoll_185 { long _band ; int _fd ; }; struct __anonstruct__sigsys_186 { void *_call_addr ; int _syscall ; unsigned int _arch ; }; union __anonunion__sifields_179 { int _pad[28U] ; struct __anonstruct__kill_180 _kill ; struct __anonstruct__timer_181 _timer ; struct __anonstruct__rt_182 _rt ; struct __anonstruct__sigchld_183 _sigchld ; struct __anonstruct__sigfault_184 _sigfault ; struct __anonstruct__sigpoll_185 _sigpoll ; struct __anonstruct__sigsys_186 _sigsys ; }; struct siginfo { int si_signo ; int si_errno ; int si_code ; union __anonunion__sifields_179 _sifields ; }; typedef struct siginfo siginfo_t; struct sigpending { struct list_head list ; sigset_t signal ; }; struct sigaction { __sighandler_t sa_handler ; unsigned long sa_flags ; __sigrestore_t sa_restorer ; sigset_t sa_mask ; }; struct k_sigaction { struct sigaction sa ; }; struct seccomp_filter; struct seccomp { int mode ; struct seccomp_filter *filter ; }; struct rt_mutex_waiter; struct rlimit { __kernel_ulong_t rlim_cur ; __kernel_ulong_t rlim_max ; }; struct timerqueue_node { struct rb_node node ; ktime_t expires ; }; struct timerqueue_head { struct rb_root head ; struct timerqueue_node *next ; }; struct hrtimer_clock_base; struct hrtimer_cpu_base; enum hrtimer_restart { HRTIMER_NORESTART = 0, HRTIMER_RESTART = 1 } ; struct hrtimer { struct timerqueue_node node ; ktime_t _softexpires ; enum hrtimer_restart (*function)(struct hrtimer * ) ; struct hrtimer_clock_base *base ; unsigned long state ; int start_pid ; void *start_site ; char start_comm[16U] ; }; struct hrtimer_clock_base { struct hrtimer_cpu_base *cpu_base ; int index ; clockid_t clockid ; struct timerqueue_head active ; ktime_t resolution ; ktime_t (*get_time)(void) ; ktime_t softirq_time ; ktime_t offset ; }; struct hrtimer_cpu_base { raw_spinlock_t lock ; unsigned int active_bases ; unsigned int clock_was_set ; ktime_t expires_next ; int hres_active ; int hang_detected ; unsigned long nr_events ; unsigned long nr_retries ; unsigned long nr_hangs ; ktime_t max_hang_time ; struct hrtimer_clock_base clock_base[4U] ; }; struct task_io_accounting { u64 rchar ; u64 wchar ; u64 syscr ; u64 syscw ; u64 read_bytes ; u64 write_bytes ; u64 cancelled_write_bytes ; }; struct latency_record { unsigned long backtrace[12U] ; unsigned int count ; unsigned long time ; unsigned long max ; }; struct nsproxy; struct ctl_table_root; struct ctl_table_header; struct ctl_dir; typedef int proc_handler(struct ctl_table * , int , void * , size_t * , loff_t * ); struct ctl_table_poll { atomic_t event ; wait_queue_head_t wait ; }; struct ctl_table { char const *procname ; void *data ; int maxlen ; umode_t mode ; struct ctl_table *child ; proc_handler *proc_handler ; struct ctl_table_poll *poll ; void *extra1 ; void *extra2 ; }; struct ctl_node { struct rb_node node ; struct ctl_table_header *header ; }; struct __anonstruct____missing_field_name_190 { struct ctl_table *ctl_table ; int used ; int count ; int nreg ; }; union __anonunion____missing_field_name_189 { struct __anonstruct____missing_field_name_190 __annonCompField55 ; struct callback_head rcu ; }; struct ctl_table_set; struct ctl_table_header { union __anonunion____missing_field_name_189 __annonCompField56 ; struct completion *unregistering ; struct ctl_table *ctl_table_arg ; struct ctl_table_root *root ; struct ctl_table_set *set ; struct ctl_dir *parent ; struct ctl_node *node ; }; struct ctl_dir { struct ctl_table_header header ; struct rb_root root ; }; struct ctl_table_set { int (*is_seen)(struct ctl_table_set * ) ; struct ctl_dir dir ; }; struct ctl_table_root { struct ctl_table_set default_set ; struct ctl_table_set *(*lookup)(struct ctl_table_root * , struct nsproxy * ) ; int (*permissions)(struct ctl_table_header * , struct ctl_table * ) ; }; struct assoc_array_ptr; struct assoc_array { struct assoc_array_ptr *root ; unsigned long nr_leaves_on_tree ; }; typedef int32_t key_serial_t; typedef uint32_t key_perm_t; struct key; struct signal_struct; struct key_type; struct keyring_index_key { struct key_type *type ; char const *description ; size_t desc_len ; }; union __anonunion____missing_field_name_191 { struct list_head graveyard_link ; struct rb_node serial_node ; }; struct key_user; union __anonunion____missing_field_name_192 { time_t expiry ; time_t revoked_at ; }; struct __anonstruct____missing_field_name_194 { struct key_type *type ; char *description ; }; union __anonunion____missing_field_name_193 { struct keyring_index_key index_key ; struct __anonstruct____missing_field_name_194 __annonCompField59 ; }; union __anonunion_type_data_195 { struct list_head link ; unsigned long x[2U] ; void *p[2U] ; int reject_error ; }; union __anonunion_payload_197 { unsigned long value ; void *rcudata ; void *data ; void *data2[2U] ; }; union __anonunion____missing_field_name_196 { union __anonunion_payload_197 payload ; struct assoc_array keys ; }; struct key { atomic_t usage ; key_serial_t serial ; union __anonunion____missing_field_name_191 __annonCompField57 ; struct rw_semaphore sem ; struct key_user *user ; void *security ; union __anonunion____missing_field_name_192 __annonCompField58 ; time_t last_used_at ; kuid_t uid ; kgid_t gid ; key_perm_t perm ; unsigned short quotalen ; unsigned short datalen ; unsigned long flags ; union __anonunion____missing_field_name_193 __annonCompField60 ; union __anonunion_type_data_195 type_data ; union __anonunion____missing_field_name_196 __annonCompField61 ; }; struct audit_context; struct group_info { atomic_t usage ; int ngroups ; int nblocks ; kgid_t small_block[32U] ; kgid_t *blocks[0U] ; }; struct cred { atomic_t usage ; atomic_t subscribers ; void *put_addr ; unsigned int magic ; kuid_t uid ; kgid_t gid ; kuid_t suid ; kgid_t sgid ; kuid_t euid ; kgid_t egid ; kuid_t fsuid ; kgid_t fsgid ; unsigned int securebits ; kernel_cap_t cap_inheritable ; kernel_cap_t cap_permitted ; kernel_cap_t cap_effective ; kernel_cap_t cap_bset ; unsigned char jit_keyring ; struct key *session_keyring ; struct key *process_keyring ; struct key *thread_keyring ; struct key *request_key_auth ; void *security ; struct user_struct *user ; struct user_namespace *user_ns ; struct group_info *group_info ; struct callback_head rcu ; }; struct futex_pi_state; struct robust_list_head; struct bio_list; struct fs_struct; struct perf_event_context; struct blk_plug; struct cfs_rq; struct task_group; struct sighand_struct { atomic_t count ; struct k_sigaction action[64U] ; spinlock_t siglock ; wait_queue_head_t signalfd_wqh ; }; struct pacct_struct { int ac_flag ; long ac_exitcode ; unsigned long ac_mem ; cputime_t ac_utime ; cputime_t ac_stime ; unsigned long ac_minflt ; unsigned long ac_majflt ; }; struct cpu_itimer { cputime_t expires ; cputime_t incr ; u32 error ; u32 incr_error ; }; struct cputime { cputime_t utime ; cputime_t stime ; }; struct task_cputime { cputime_t utime ; cputime_t stime ; unsigned long long sum_exec_runtime ; }; struct thread_group_cputimer { struct task_cputime cputime ; int running ; raw_spinlock_t lock ; }; struct autogroup; struct tty_struct; struct taskstats; struct tty_audit_buf; struct signal_struct { atomic_t sigcnt ; atomic_t live ; int nr_threads ; struct list_head thread_head ; wait_queue_head_t wait_chldexit ; struct task_struct *curr_target ; struct sigpending shared_pending ; int group_exit_code ; int notify_count ; struct task_struct *group_exit_task ; int group_stop_count ; unsigned int flags ; unsigned int is_child_subreaper : 1 ; unsigned int has_child_subreaper : 1 ; int posix_timer_id ; struct list_head posix_timers ; struct hrtimer real_timer ; struct pid *leader_pid ; ktime_t it_real_incr ; struct cpu_itimer it[2U] ; struct thread_group_cputimer cputimer ; struct task_cputime cputime_expires ; struct list_head cpu_timers[3U] ; struct pid *tty_old_pgrp ; int leader ; struct tty_struct *tty ; struct autogroup *autogroup ; cputime_t utime ; cputime_t stime ; cputime_t cutime ; cputime_t cstime ; cputime_t gtime ; cputime_t cgtime ; struct cputime prev_cputime ; unsigned long nvcsw ; unsigned long nivcsw ; unsigned long cnvcsw ; unsigned long cnivcsw ; unsigned long min_flt ; unsigned long maj_flt ; unsigned long cmin_flt ; unsigned long cmaj_flt ; unsigned long inblock ; unsigned long oublock ; unsigned long cinblock ; unsigned long coublock ; unsigned long maxrss ; unsigned long cmaxrss ; struct task_io_accounting ioac ; unsigned long long sum_sched_runtime ; struct rlimit rlim[16U] ; struct pacct_struct pacct ; struct taskstats *stats ; unsigned int audit_tty ; unsigned int audit_tty_log_passwd ; struct tty_audit_buf *tty_audit_buf ; struct rw_semaphore group_rwsem ; oom_flags_t oom_flags ; short oom_score_adj ; short oom_score_adj_min ; struct mutex cred_guard_mutex ; }; struct user_struct { atomic_t __count ; atomic_t processes ; atomic_t files ; atomic_t sigpending ; atomic_t inotify_watches ; atomic_t inotify_devs ; atomic_t fanotify_listeners ; atomic_long_t epoll_watches ; unsigned long mq_bytes ; unsigned long locked_shm ; struct key *uid_keyring ; struct key *session_keyring ; struct hlist_node uidhash_node ; kuid_t uid ; atomic_long_t locked_vm ; }; struct reclaim_state; struct sched_info { unsigned long pcount ; unsigned long long run_delay ; unsigned long long last_arrival ; unsigned long long last_queued ; }; struct task_delay_info { spinlock_t lock ; unsigned int flags ; struct timespec blkio_start ; struct timespec blkio_end ; u64 blkio_delay ; u64 swapin_delay ; u32 blkio_count ; u32 swapin_count ; struct timespec freepages_start ; struct timespec freepages_end ; u64 freepages_delay ; u32 freepages_count ; }; struct uts_namespace; struct load_weight { unsigned long weight ; u32 inv_weight ; }; struct sched_avg { u32 runnable_avg_sum ; u32 runnable_avg_period ; u64 last_runnable_update ; s64 decay_count ; unsigned long load_avg_contrib ; }; struct sched_statistics { u64 wait_start ; u64 wait_max ; u64 wait_count ; u64 wait_sum ; u64 iowait_count ; u64 iowait_sum ; u64 sleep_start ; u64 sleep_max ; s64 sum_sleep_runtime ; u64 block_start ; u64 block_max ; u64 exec_max ; u64 slice_max ; u64 nr_migrations_cold ; u64 nr_failed_migrations_affine ; u64 nr_failed_migrations_running ; u64 nr_failed_migrations_hot ; u64 nr_forced_migrations ; u64 nr_wakeups ; u64 nr_wakeups_sync ; u64 nr_wakeups_migrate ; u64 nr_wakeups_local ; u64 nr_wakeups_remote ; u64 nr_wakeups_affine ; u64 nr_wakeups_affine_attempts ; u64 nr_wakeups_passive ; u64 nr_wakeups_idle ; }; struct sched_entity { struct load_weight load ; struct rb_node run_node ; struct list_head group_node ; unsigned int on_rq ; u64 exec_start ; u64 sum_exec_runtime ; u64 vruntime ; u64 prev_sum_exec_runtime ; u64 nr_migrations ; struct sched_statistics statistics ; struct sched_entity *parent ; struct cfs_rq *cfs_rq ; struct cfs_rq *my_q ; struct sched_avg avg ; }; struct rt_rq; struct sched_rt_entity { struct list_head run_list ; unsigned long timeout ; unsigned long watchdog_stamp ; unsigned int time_slice ; struct sched_rt_entity *back ; struct sched_rt_entity *parent ; struct rt_rq *rt_rq ; struct rt_rq *my_q ; }; struct sched_dl_entity { struct rb_node rb_node ; u64 dl_runtime ; u64 dl_deadline ; u64 dl_period ; u64 dl_bw ; s64 runtime ; u64 deadline ; unsigned int flags ; int dl_throttled ; int dl_new ; int dl_boosted ; struct hrtimer dl_timer ; }; struct mem_cgroup; struct memcg_batch_info { int do_batch ; struct mem_cgroup *memcg ; unsigned long nr_pages ; unsigned long memsw_nr_pages ; }; struct memcg_oom_info { struct mem_cgroup *memcg ; gfp_t gfp_mask ; int order ; unsigned int may_oom : 1 ; }; struct sched_class; struct css_set; struct compat_robust_list_head; struct numa_group; struct ftrace_ret_stack; struct task_struct { long volatile state ; void *stack ; atomic_t usage ; unsigned int flags ; unsigned int ptrace ; struct llist_node wake_entry ; int on_cpu ; struct task_struct *last_wakee ; unsigned long wakee_flips ; unsigned long wakee_flip_decay_ts ; int wake_cpu ; int on_rq ; int prio ; int static_prio ; int normal_prio ; unsigned int rt_priority ; struct sched_class const *sched_class ; struct sched_entity se ; struct sched_rt_entity rt ; struct task_group *sched_task_group ; struct sched_dl_entity dl ; struct hlist_head preempt_notifiers ; unsigned int btrace_seq ; unsigned int policy ; int nr_cpus_allowed ; cpumask_t cpus_allowed ; struct sched_info sched_info ; struct list_head tasks ; struct plist_node pushable_tasks ; struct rb_node pushable_dl_tasks ; struct mm_struct *mm ; struct mm_struct *active_mm ; unsigned int brk_randomized : 1 ; struct task_rss_stat rss_stat ; int exit_state ; int exit_code ; int exit_signal ; int pdeath_signal ; unsigned int jobctl ; unsigned int personality ; unsigned int in_execve : 1 ; unsigned int in_iowait : 1 ; unsigned int no_new_privs : 1 ; unsigned int sched_reset_on_fork : 1 ; unsigned int sched_contributes_to_load : 1 ; pid_t pid ; pid_t tgid ; struct task_struct *real_parent ; struct task_struct *parent ; struct list_head children ; struct list_head sibling ; struct task_struct *group_leader ; struct list_head ptraced ; struct list_head ptrace_entry ; struct pid_link pids[3U] ; struct list_head thread_group ; struct list_head thread_node ; struct completion *vfork_done ; int *set_child_tid ; int *clear_child_tid ; cputime_t utime ; cputime_t stime ; cputime_t utimescaled ; cputime_t stimescaled ; cputime_t gtime ; struct cputime prev_cputime ; unsigned long nvcsw ; unsigned long nivcsw ; struct timespec start_time ; struct timespec real_start_time ; unsigned long min_flt ; unsigned long maj_flt ; struct task_cputime cputime_expires ; struct list_head cpu_timers[3U] ; struct cred const *real_cred ; struct cred const *cred ; char comm[16U] ; int link_count ; int total_link_count ; struct sysv_sem sysvsem ; unsigned long last_switch_count ; struct thread_struct thread ; struct fs_struct *fs ; struct files_struct *files ; struct nsproxy *nsproxy ; struct signal_struct *signal ; struct sighand_struct *sighand ; sigset_t blocked ; sigset_t real_blocked ; sigset_t saved_sigmask ; struct sigpending pending ; unsigned long sas_ss_sp ; size_t sas_ss_size ; int (*notifier)(void * ) ; void *notifier_data ; sigset_t *notifier_mask ; struct callback_head *task_works ; struct audit_context *audit_context ; kuid_t loginuid ; unsigned int sessionid ; struct seccomp seccomp ; u32 parent_exec_id ; u32 self_exec_id ; spinlock_t alloc_lock ; raw_spinlock_t pi_lock ; struct rb_root pi_waiters ; struct rb_node *pi_waiters_leftmost ; struct rt_mutex_waiter *pi_blocked_on ; struct task_struct *pi_top_task ; struct mutex_waiter *blocked_on ; unsigned int irq_events ; unsigned long hardirq_enable_ip ; unsigned long hardirq_disable_ip ; unsigned int hardirq_enable_event ; unsigned int hardirq_disable_event ; int hardirqs_enabled ; int hardirq_context ; unsigned long softirq_disable_ip ; unsigned long softirq_enable_ip ; unsigned int softirq_disable_event ; unsigned int softirq_enable_event ; int softirqs_enabled ; int softirq_context ; u64 curr_chain_key ; int lockdep_depth ; unsigned int lockdep_recursion ; struct held_lock held_locks[48U] ; gfp_t lockdep_reclaim_gfp ; void *journal_info ; struct bio_list *bio_list ; struct blk_plug *plug ; struct reclaim_state *reclaim_state ; struct backing_dev_info *backing_dev_info ; struct io_context *io_context ; unsigned long ptrace_message ; siginfo_t *last_siginfo ; struct task_io_accounting ioac ; u64 acct_rss_mem1 ; u64 acct_vm_mem1 ; cputime_t acct_timexpd ; nodemask_t mems_allowed ; seqcount_t mems_allowed_seq ; int cpuset_mem_spread_rotor ; int cpuset_slab_spread_rotor ; struct css_set *cgroups ; struct list_head cg_list ; struct robust_list_head *robust_list ; struct compat_robust_list_head *compat_robust_list ; struct list_head pi_state_list ; struct futex_pi_state *pi_state_cache ; struct perf_event_context *perf_event_ctxp[2U] ; struct mutex perf_event_mutex ; struct list_head perf_event_list ; struct mempolicy *mempolicy ; short il_next ; short pref_node_fork ; int numa_scan_seq ; unsigned int numa_scan_period ; unsigned int numa_scan_period_max ; int numa_preferred_nid ; int numa_migrate_deferred ; unsigned long numa_migrate_retry ; u64 node_stamp ; struct callback_head numa_work ; struct list_head numa_entry ; struct numa_group *numa_group ; unsigned long *numa_faults ; unsigned long total_numa_faults ; unsigned long *numa_faults_buffer ; unsigned long numa_faults_locality[2U] ; unsigned long numa_pages_migrated ; struct callback_head rcu ; struct pipe_inode_info *splice_pipe ; struct page_frag task_frag ; struct task_delay_info *delays ; int make_it_fail ; int nr_dirtied ; int nr_dirtied_pause ; unsigned long dirty_paused_when ; int latency_record_count ; struct latency_record latency_record[32U] ; unsigned long timer_slack_ns ; unsigned long default_timer_slack_ns ; int curr_ret_stack ; struct ftrace_ret_stack *ret_stack ; unsigned long long ftrace_timestamp ; atomic_t trace_overrun ; atomic_t tracing_graph_pause ; unsigned long trace ; unsigned long trace_recursion ; struct memcg_batch_info memcg_batch ; unsigned int memcg_kmem_skip_account ; struct memcg_oom_info memcg_oom ; struct uprobe_task *utask ; unsigned int sequential_io ; unsigned int sequential_io_avg ; }; typedef s32 compat_long_t; typedef u32 compat_uptr_t; struct compat_robust_list { compat_uptr_t next ; }; struct compat_robust_list_head { struct compat_robust_list list ; compat_long_t futex_offset ; compat_uptr_t list_op_pending ; }; enum ldv_21643 { SS_FREE = 0, SS_UNCONNECTED = 1, SS_CONNECTING = 2, SS_CONNECTED = 3, SS_DISCONNECTING = 4 } ; typedef enum ldv_21643 socket_state; struct socket_wq { wait_queue_head_t wait ; struct fasync_struct *fasync_list ; struct callback_head rcu ; }; struct proto_ops; struct socket { socket_state state ; short type ; unsigned long flags ; struct socket_wq *wq ; struct file *file ; struct sock *sk ; struct proto_ops const *ops ; }; struct proto_ops { int family ; struct module *owner ; int (*release)(struct socket * ) ; int (*bind)(struct socket * , struct sockaddr * , int ) ; int (*connect)(struct socket * , struct sockaddr * , int , int ) ; int (*socketpair)(struct socket * , struct socket * ) ; int (*accept)(struct socket * , struct socket * , int ) ; int (*getname)(struct socket * , struct sockaddr * , int * , int ) ; unsigned int (*poll)(struct file * , struct socket * , struct poll_table_struct * ) ; int (*ioctl)(struct socket * , unsigned int , unsigned long ) ; int (*compat_ioctl)(struct socket * , unsigned int , unsigned long ) ; int (*listen)(struct socket * , int ) ; int (*shutdown)(struct socket * , int ) ; int (*setsockopt)(struct socket * , int , int , char * , unsigned int ) ; int (*getsockopt)(struct socket * , int , int , char * , int * ) ; int (*compat_setsockopt)(struct socket * , int , int , char * , unsigned int ) ; int (*compat_getsockopt)(struct socket * , int , int , char * , int * ) ; int (*sendmsg)(struct kiocb * , struct socket * , struct msghdr * , size_t ) ; int (*recvmsg)(struct kiocb * , struct socket * , struct msghdr * , size_t , int ) ; int (*mmap)(struct file * , struct socket * , struct vm_area_struct * ) ; ssize_t (*sendpage)(struct socket * , struct page * , int , size_t , int ) ; ssize_t (*splice_read)(struct socket * , loff_t * , struct pipe_inode_info * , size_t , unsigned int ) ; int (*set_peek_off)(struct sock * , int ) ; }; struct kmem_cache_cpu { void **freelist ; unsigned long tid ; struct page *page ; struct page *partial ; unsigned int stat[26U] ; }; struct kmem_cache_order_objects { unsigned long x ; }; struct memcg_cache_params; struct kmem_cache_node; struct kmem_cache { struct kmem_cache_cpu *cpu_slab ; unsigned long flags ; unsigned long min_partial ; int size ; int object_size ; int offset ; int cpu_partial ; struct kmem_cache_order_objects oo ; struct kmem_cache_order_objects max ; struct kmem_cache_order_objects min ; gfp_t allocflags ; int refcount ; void (*ctor)(void * ) ; int inuse ; int align ; int reserved ; char const *name ; struct list_head list ; struct kobject kobj ; struct memcg_cache_params *memcg_params ; int max_attr_size ; int remote_node_defrag_ratio ; struct kmem_cache_node *node[1024U] ; }; struct __anonstruct____missing_field_name_214 { struct callback_head callback_head ; struct kmem_cache *memcg_caches[0U] ; }; struct __anonstruct____missing_field_name_215 { struct mem_cgroup *memcg ; struct list_head list ; struct kmem_cache *root_cache ; bool dead ; atomic_t nr_pages ; struct work_struct destroy ; }; union __anonunion____missing_field_name_213 { struct __anonstruct____missing_field_name_214 __annonCompField63 ; struct __anonstruct____missing_field_name_215 __annonCompField64 ; }; struct memcg_cache_params { bool is_root_cache ; union __anonunion____missing_field_name_213 __annonCompField65 ; }; struct exception_table_entry { int insn ; int fixup ; }; struct in6_addr; struct sk_buff; struct dma_attrs { unsigned long flags[1U] ; }; enum dma_data_direction { DMA_BIDIRECTIONAL = 0, DMA_TO_DEVICE = 1, DMA_FROM_DEVICE = 2, DMA_NONE = 3 } ; struct dma_map_ops { void *(*alloc)(struct device * , size_t , dma_addr_t * , gfp_t , struct dma_attrs * ) ; void (*free)(struct device * , size_t , void * , dma_addr_t , struct dma_attrs * ) ; int (*mmap)(struct device * , struct vm_area_struct * , void * , dma_addr_t , size_t , struct dma_attrs * ) ; int (*get_sgtable)(struct device * , struct sg_table * , void * , dma_addr_t , size_t , struct dma_attrs * ) ; dma_addr_t (*map_page)(struct device * , struct page * , unsigned long , size_t , enum dma_data_direction , struct dma_attrs * ) ; void (*unmap_page)(struct device * , dma_addr_t , size_t , enum dma_data_direction , struct dma_attrs * ) ; int (*map_sg)(struct device * , struct scatterlist * , int , enum dma_data_direction , struct dma_attrs * ) ; void (*unmap_sg)(struct device * , struct scatterlist * , int , enum dma_data_direction , struct dma_attrs * ) ; void (*sync_single_for_cpu)(struct device * , dma_addr_t , size_t , enum dma_data_direction ) ; void (*sync_single_for_device)(struct device * , dma_addr_t , size_t , enum dma_data_direction ) ; void (*sync_sg_for_cpu)(struct device * , struct scatterlist * , int , enum dma_data_direction ) ; void (*sync_sg_for_device)(struct device * , struct scatterlist * , int , enum dma_data_direction ) ; int (*mapping_error)(struct device * , dma_addr_t ) ; int (*dma_supported)(struct device * , u64 ) ; int (*set_dma_mask)(struct device * , u64 ) ; int is_phys ; }; typedef u64 netdev_features_t; struct nf_conntrack { atomic_t use ; }; struct nf_bridge_info { atomic_t use ; unsigned int mask ; struct net_device *physindev ; struct net_device *physoutdev ; unsigned long data[4U] ; }; struct sk_buff_head { struct sk_buff *next ; struct sk_buff *prev ; __u32 qlen ; spinlock_t lock ; }; struct skb_frag_struct; typedef struct skb_frag_struct skb_frag_t; struct __anonstruct_page_217 { struct page *p ; }; struct skb_frag_struct { struct __anonstruct_page_217 page ; __u32 page_offset ; __u32 size ; }; struct skb_shared_hwtstamps { ktime_t hwtstamp ; ktime_t syststamp ; }; struct skb_shared_info { unsigned char nr_frags ; __u8 tx_flags ; unsigned short gso_size ; unsigned short gso_segs ; unsigned short gso_type ; struct sk_buff *frag_list ; struct skb_shared_hwtstamps hwtstamps ; __be32 ip6_frag_id ; atomic_t dataref ; void *destructor_arg ; skb_frag_t frags[17U] ; }; typedef unsigned int sk_buff_data_t; struct sec_path; struct __anonstruct____missing_field_name_219 { __u16 csum_start ; __u16 csum_offset ; }; union __anonunion____missing_field_name_218 { __wsum csum ; struct __anonstruct____missing_field_name_219 __annonCompField67 ; }; union __anonunion____missing_field_name_220 { unsigned int napi_id ; dma_cookie_t dma_cookie ; }; union __anonunion____missing_field_name_221 { __u32 mark ; __u32 dropcount ; __u32 reserved_tailroom ; }; struct sk_buff { struct sk_buff *next ; struct sk_buff *prev ; ktime_t tstamp ; struct sock *sk ; struct net_device *dev ; char cb[48U] ; unsigned long _skb_refdst ; struct sec_path *sp ; unsigned int len ; unsigned int data_len ; __u16 mac_len ; __u16 hdr_len ; union __anonunion____missing_field_name_218 __annonCompField68 ; __u32 priority ; __u8 local_df : 1 ; __u8 cloned : 1 ; __u8 ip_summed : 2 ; __u8 nohdr : 1 ; __u8 nfctinfo : 3 ; __u8 pkt_type : 3 ; __u8 fclone : 2 ; __u8 ipvs_property : 1 ; __u8 peeked : 1 ; __u8 nf_trace : 1 ; __be16 protocol ; void (*destructor)(struct sk_buff * ) ; struct nf_conntrack *nfct ; struct nf_bridge_info *nf_bridge ; int skb_iif ; __u32 rxhash ; __be16 vlan_proto ; __u16 vlan_tci ; __u16 tc_index ; __u16 tc_verd ; __u16 queue_mapping ; __u8 ndisc_nodetype : 2 ; __u8 pfmemalloc : 1 ; __u8 ooo_okay : 1 ; __u8 l4_rxhash : 1 ; __u8 wifi_acked_valid : 1 ; __u8 wifi_acked : 1 ; __u8 no_fcs : 1 ; __u8 head_frag : 1 ; __u8 encapsulation : 1 ; union __anonunion____missing_field_name_220 __annonCompField69 ; __u32 secmark ; union __anonunion____missing_field_name_221 __annonCompField70 ; __be16 inner_protocol ; __u16 inner_transport_header ; __u16 inner_network_header ; __u16 inner_mac_header ; __u16 transport_header ; __u16 network_header ; __u16 mac_header ; sk_buff_data_t tail ; sk_buff_data_t end ; unsigned char *head ; unsigned char *data ; unsigned int truesize ; atomic_t users ; }; struct dst_entry; struct rtable; struct ethhdr { unsigned char h_dest[6U] ; unsigned char h_source[6U] ; __be16 h_proto ; }; struct ethtool_cmd { __u32 cmd ; __u32 supported ; __u32 advertising ; __u16 speed ; __u8 duplex ; __u8 port ; __u8 phy_address ; __u8 transceiver ; __u8 autoneg ; __u8 mdio_support ; __u32 maxtxpkt ; __u32 maxrxpkt ; __u16 speed_hi ; __u8 eth_tp_mdix ; __u8 eth_tp_mdix_ctrl ; __u32 lp_advertising ; __u32 reserved[2U] ; }; struct ethtool_drvinfo { __u32 cmd ; char driver[32U] ; char version[32U] ; char fw_version[32U] ; char bus_info[32U] ; char reserved1[32U] ; char reserved2[12U] ; __u32 n_priv_flags ; __u32 n_stats ; __u32 testinfo_len ; __u32 eedump_len ; __u32 regdump_len ; }; struct ethtool_wolinfo { __u32 cmd ; __u32 supported ; __u32 wolopts ; __u8 sopass[6U] ; }; struct ethtool_regs { __u32 cmd ; __u32 version ; __u32 len ; __u8 data[0U] ; }; struct ethtool_eeprom { __u32 cmd ; __u32 magic ; __u32 offset ; __u32 len ; __u8 data[0U] ; }; struct ethtool_eee { __u32 cmd ; __u32 supported ; __u32 advertised ; __u32 lp_advertised ; __u32 eee_active ; __u32 eee_enabled ; __u32 tx_lpi_enabled ; __u32 tx_lpi_timer ; __u32 reserved[2U] ; }; struct ethtool_modinfo { __u32 cmd ; __u32 type ; __u32 eeprom_len ; __u32 reserved[8U] ; }; struct ethtool_coalesce { __u32 cmd ; __u32 rx_coalesce_usecs ; __u32 rx_max_coalesced_frames ; __u32 rx_coalesce_usecs_irq ; __u32 rx_max_coalesced_frames_irq ; __u32 tx_coalesce_usecs ; __u32 tx_max_coalesced_frames ; __u32 tx_coalesce_usecs_irq ; __u32 tx_max_coalesced_frames_irq ; __u32 stats_block_coalesce_usecs ; __u32 use_adaptive_rx_coalesce ; __u32 use_adaptive_tx_coalesce ; __u32 pkt_rate_low ; __u32 rx_coalesce_usecs_low ; __u32 rx_max_coalesced_frames_low ; __u32 tx_coalesce_usecs_low ; __u32 tx_max_coalesced_frames_low ; __u32 pkt_rate_high ; __u32 rx_coalesce_usecs_high ; __u32 rx_max_coalesced_frames_high ; __u32 tx_coalesce_usecs_high ; __u32 tx_max_coalesced_frames_high ; __u32 rate_sample_interval ; }; struct ethtool_ringparam { __u32 cmd ; __u32 rx_max_pending ; __u32 rx_mini_max_pending ; __u32 rx_jumbo_max_pending ; __u32 tx_max_pending ; __u32 rx_pending ; __u32 rx_mini_pending ; __u32 rx_jumbo_pending ; __u32 tx_pending ; }; struct ethtool_channels { __u32 cmd ; __u32 max_rx ; __u32 max_tx ; __u32 max_other ; __u32 max_combined ; __u32 rx_count ; __u32 tx_count ; __u32 other_count ; __u32 combined_count ; }; struct ethtool_pauseparam { __u32 cmd ; __u32 autoneg ; __u32 rx_pause ; __u32 tx_pause ; }; struct ethtool_test { __u32 cmd ; __u32 flags ; __u32 reserved ; __u32 len ; __u64 data[0U] ; }; struct ethtool_stats { __u32 cmd ; __u32 n_stats ; __u64 data[0U] ; }; struct ethtool_tcpip4_spec { __be32 ip4src ; __be32 ip4dst ; __be16 psrc ; __be16 pdst ; __u8 tos ; }; struct ethtool_ah_espip4_spec { __be32 ip4src ; __be32 ip4dst ; __be32 spi ; __u8 tos ; }; struct ethtool_usrip4_spec { __be32 ip4src ; __be32 ip4dst ; __be32 l4_4_bytes ; __u8 tos ; __u8 ip_ver ; __u8 proto ; }; union ethtool_flow_union { struct ethtool_tcpip4_spec tcp_ip4_spec ; struct ethtool_tcpip4_spec udp_ip4_spec ; struct ethtool_tcpip4_spec sctp_ip4_spec ; struct ethtool_ah_espip4_spec ah_ip4_spec ; struct ethtool_ah_espip4_spec esp_ip4_spec ; struct ethtool_usrip4_spec usr_ip4_spec ; struct ethhdr ether_spec ; __u8 hdata[52U] ; }; struct ethtool_flow_ext { __u8 padding[2U] ; unsigned char h_dest[6U] ; __be16 vlan_etype ; __be16 vlan_tci ; __be32 data[2U] ; }; struct ethtool_rx_flow_spec { __u32 flow_type ; union ethtool_flow_union h_u ; struct ethtool_flow_ext h_ext ; union ethtool_flow_union m_u ; struct ethtool_flow_ext m_ext ; __u64 ring_cookie ; __u32 location ; }; struct ethtool_rxnfc { __u32 cmd ; __u32 flow_type ; __u64 data ; struct ethtool_rx_flow_spec fs ; __u32 rule_cnt ; __u32 rule_locs[0U] ; }; struct ethtool_flash { __u32 cmd ; __u32 region ; char data[128U] ; }; struct ethtool_dump { __u32 cmd ; __u32 version ; __u32 flag ; __u32 len ; __u8 data[0U] ; }; struct ethtool_ts_info { __u32 cmd ; __u32 so_timestamping ; __s32 phc_index ; __u32 tx_types ; __u32 tx_reserved[3U] ; __u32 rx_filters ; __u32 rx_reserved[3U] ; }; enum ethtool_phys_id_state { ETHTOOL_ID_INACTIVE = 0, ETHTOOL_ID_ACTIVE = 1, ETHTOOL_ID_ON = 2, ETHTOOL_ID_OFF = 3 } ; struct ethtool_ops { int (*get_settings)(struct net_device * , struct ethtool_cmd * ) ; int (*set_settings)(struct net_device * , struct ethtool_cmd * ) ; void (*get_drvinfo)(struct net_device * , struct ethtool_drvinfo * ) ; int (*get_regs_len)(struct net_device * ) ; void (*get_regs)(struct net_device * , struct ethtool_regs * , void * ) ; void (*get_wol)(struct net_device * , struct ethtool_wolinfo * ) ; int (*set_wol)(struct net_device * , struct ethtool_wolinfo * ) ; u32 (*get_msglevel)(struct net_device * ) ; void (*set_msglevel)(struct net_device * , u32 ) ; int (*nway_reset)(struct net_device * ) ; u32 (*get_link)(struct net_device * ) ; int (*get_eeprom_len)(struct net_device * ) ; int (*get_eeprom)(struct net_device * , struct ethtool_eeprom * , u8 * ) ; int (*set_eeprom)(struct net_device * , struct ethtool_eeprom * , u8 * ) ; int (*get_coalesce)(struct net_device * , struct ethtool_coalesce * ) ; int (*set_coalesce)(struct net_device * , struct ethtool_coalesce * ) ; void (*get_ringparam)(struct net_device * , struct ethtool_ringparam * ) ; int (*set_ringparam)(struct net_device * , struct ethtool_ringparam * ) ; void (*get_pauseparam)(struct net_device * , struct ethtool_pauseparam * ) ; int (*set_pauseparam)(struct net_device * , struct ethtool_pauseparam * ) ; void (*self_test)(struct net_device * , struct ethtool_test * , u64 * ) ; void (*get_strings)(struct net_device * , u32 , u8 * ) ; int (*set_phys_id)(struct net_device * , enum ethtool_phys_id_state ) ; void (*get_ethtool_stats)(struct net_device * , struct ethtool_stats * , u64 * ) ; int (*begin)(struct net_device * ) ; void (*complete)(struct net_device * ) ; u32 (*get_priv_flags)(struct net_device * ) ; int (*set_priv_flags)(struct net_device * , u32 ) ; int (*get_sset_count)(struct net_device * , int ) ; int (*get_rxnfc)(struct net_device * , struct ethtool_rxnfc * , u32 * ) ; int (*set_rxnfc)(struct net_device * , struct ethtool_rxnfc * ) ; int (*flash_device)(struct net_device * , struct ethtool_flash * ) ; int (*reset)(struct net_device * , u32 * ) ; u32 (*get_rxfh_indir_size)(struct net_device * ) ; int (*get_rxfh_indir)(struct net_device * , u32 * ) ; int (*set_rxfh_indir)(struct net_device * , u32 const * ) ; void (*get_channels)(struct net_device * , struct ethtool_channels * ) ; int (*set_channels)(struct net_device * , struct ethtool_channels * ) ; int (*get_dump_flag)(struct net_device * , struct ethtool_dump * ) ; int (*get_dump_data)(struct net_device * , struct ethtool_dump * , void * ) ; int (*set_dump)(struct net_device * , struct ethtool_dump * ) ; int (*get_ts_info)(struct net_device * , struct ethtool_ts_info * ) ; int (*get_module_info)(struct net_device * , struct ethtool_modinfo * ) ; int (*get_module_eeprom)(struct net_device * , struct ethtool_eeprom * , u8 * ) ; int (*get_eee)(struct net_device * , struct ethtool_eee * ) ; int (*set_eee)(struct net_device * , struct ethtool_eee * ) ; }; struct prot_inuse; struct netns_core { struct ctl_table_header *sysctl_hdr ; int sysctl_somaxconn ; struct prot_inuse *inuse ; }; struct u64_stats_sync { }; struct ipstats_mib { u64 mibs[36U] ; struct u64_stats_sync syncp ; }; struct icmp_mib { unsigned long mibs[28U] ; }; struct icmpmsg_mib { atomic_long_t mibs[512U] ; }; struct icmpv6_mib { unsigned long mibs[6U] ; }; struct icmpv6_mib_device { atomic_long_t mibs[6U] ; }; struct icmpv6msg_mib { atomic_long_t mibs[512U] ; }; struct icmpv6msg_mib_device { atomic_long_t mibs[512U] ; }; struct tcp_mib { unsigned long mibs[16U] ; }; struct udp_mib { unsigned long mibs[8U] ; }; struct linux_mib { unsigned long mibs[97U] ; }; struct linux_xfrm_mib { unsigned long mibs[29U] ; }; struct proc_dir_entry; struct netns_mib { struct tcp_mib *tcp_statistics[1U] ; struct ipstats_mib *ip_statistics[1U] ; struct linux_mib *net_statistics[1U] ; struct udp_mib *udp_statistics[1U] ; struct udp_mib *udplite_statistics[1U] ; struct icmp_mib *icmp_statistics[1U] ; struct icmpmsg_mib *icmpmsg_statistics ; struct proc_dir_entry *proc_net_devsnmp6 ; struct udp_mib *udp_stats_in6[1U] ; struct udp_mib *udplite_stats_in6[1U] ; struct ipstats_mib *ipv6_statistics[1U] ; struct icmpv6_mib *icmpv6_statistics[1U] ; struct icmpv6msg_mib *icmpv6msg_statistics ; struct linux_xfrm_mib *xfrm_statistics[1U] ; }; struct netns_unix { int sysctl_max_dgram_qlen ; struct ctl_table_header *ctl ; }; struct netns_packet { struct mutex sklist_lock ; struct hlist_head sklist ; }; struct netns_frags { int nqueues ; struct list_head lru_list ; spinlock_t lru_lock ; struct percpu_counter mem ; int timeout ; int high_thresh ; int low_thresh ; }; struct tcpm_hash_bucket; struct ipv4_devconf; struct fib_rules_ops; struct fib_table; struct local_ports { seqlock_t lock ; int range[2U] ; }; struct inet_peer_base; struct xt_table; struct netns_ipv4 { struct ctl_table_header *forw_hdr ; struct ctl_table_header *frags_hdr ; struct ctl_table_header *ipv4_hdr ; struct ctl_table_header *route_hdr ; struct ctl_table_header *xfrm4_hdr ; struct ipv4_devconf *devconf_all ; struct ipv4_devconf *devconf_dflt ; struct fib_rules_ops *rules_ops ; bool fib_has_custom_rules ; struct fib_table *fib_local ; struct fib_table *fib_main ; struct fib_table *fib_default ; int fib_num_tclassid_users ; struct hlist_head *fib_table_hash ; struct sock *fibnl ; struct sock **icmp_sk ; struct inet_peer_base *peers ; struct tcpm_hash_bucket *tcp_metrics_hash ; unsigned int tcp_metrics_hash_log ; struct netns_frags frags ; struct xt_table *iptable_filter ; struct xt_table *iptable_mangle ; struct xt_table *iptable_raw ; struct xt_table *arptable_filter ; struct xt_table *iptable_security ; struct xt_table *nat_table ; int sysctl_icmp_echo_ignore_all ; int sysctl_icmp_echo_ignore_broadcasts ; int sysctl_icmp_ignore_bogus_error_responses ; int sysctl_icmp_ratelimit ; int sysctl_icmp_ratemask ; int sysctl_icmp_errors_use_inbound_ifaddr ; struct local_ports sysctl_local_ports ; int sysctl_tcp_ecn ; int sysctl_ip_no_pmtu_disc ; int sysctl_ip_fwd_use_pmtu ; kgid_t sysctl_ping_group_range[2U] ; atomic_t dev_addr_genid ; struct list_head mr_tables ; struct fib_rules_ops *mr_rules_ops ; atomic_t rt_genid ; }; struct neighbour; struct dst_ops { unsigned short family ; __be16 protocol ; unsigned int gc_thresh ; int (*gc)(struct dst_ops * ) ; struct dst_entry *(*check)(struct dst_entry * , __u32 ) ; unsigned int (*default_advmss)(struct dst_entry const * ) ; unsigned int (*mtu)(struct dst_entry const * ) ; u32 *(*cow_metrics)(struct dst_entry * , unsigned long ) ; void (*destroy)(struct dst_entry * ) ; void (*ifdown)(struct dst_entry * , struct net_device * , int ) ; struct dst_entry *(*negative_advice)(struct dst_entry * ) ; void (*link_failure)(struct sk_buff * ) ; void (*update_pmtu)(struct dst_entry * , struct sock * , struct sk_buff * , u32 ) ; void (*redirect)(struct dst_entry * , struct sock * , struct sk_buff * ) ; int (*local_out)(struct sk_buff * ) ; struct neighbour *(*neigh_lookup)(struct dst_entry const * , struct sk_buff * , void const * ) ; struct kmem_cache *kmem_cachep ; struct percpu_counter pcpuc_entries ; }; struct netns_sysctl_ipv6 { struct ctl_table_header *hdr ; struct ctl_table_header *route_hdr ; struct ctl_table_header *icmp_hdr ; struct ctl_table_header *frags_hdr ; struct ctl_table_header *xfrm6_hdr ; int bindv6only ; int flush_delay ; int ip6_rt_max_size ; int ip6_rt_gc_min_interval ; int ip6_rt_gc_timeout ; int ip6_rt_gc_interval ; int ip6_rt_gc_elasticity ; int ip6_rt_mtu_expires ; int ip6_rt_min_advmss ; int flowlabel_consistency ; int icmpv6_time ; int anycast_src_echo_reply ; }; struct ipv6_devconf; struct rt6_info; struct rt6_statistics; struct fib6_table; struct netns_ipv6 { struct netns_sysctl_ipv6 sysctl ; struct ipv6_devconf *devconf_all ; struct ipv6_devconf *devconf_dflt ; struct inet_peer_base *peers ; struct netns_frags frags ; struct xt_table *ip6table_filter ; struct xt_table *ip6table_mangle ; struct xt_table *ip6table_raw ; struct xt_table *ip6table_security ; struct xt_table *ip6table_nat ; struct rt6_info *ip6_null_entry ; struct rt6_statistics *rt6_stats ; struct timer_list ip6_fib_timer ; struct hlist_head *fib_table_hash ; struct fib6_table *fib6_main_tbl ; struct dst_ops ip6_dst_ops ; unsigned int ip6_rt_gc_expire ; unsigned long ip6_rt_last_gc ; struct rt6_info *ip6_prohibit_entry ; struct rt6_info *ip6_blk_hole_entry ; struct fib6_table *fib6_local_tbl ; struct fib_rules_ops *fib6_rules_ops ; struct sock **icmp_sk ; struct sock *ndisc_sk ; struct sock *tcp_sk ; struct sock *igmp_sk ; struct list_head mr6_tables ; struct fib_rules_ops *mr6_rules_ops ; atomic_t dev_addr_genid ; atomic_t rt_genid ; }; struct netns_nf_frag { struct netns_sysctl_ipv6 sysctl ; struct netns_frags frags ; }; struct sctp_mib; struct netns_sctp { struct sctp_mib *sctp_statistics[1U] ; struct proc_dir_entry *proc_net_sctp ; struct ctl_table_header *sysctl_header ; struct sock *ctl_sock ; struct list_head local_addr_list ; struct list_head addr_waitq ; struct timer_list addr_wq_timer ; struct list_head auto_asconf_splist ; spinlock_t addr_wq_lock ; spinlock_t local_addr_lock ; unsigned int rto_initial ; unsigned int rto_min ; unsigned int rto_max ; int rto_alpha ; int rto_beta ; int max_burst ; int cookie_preserve_enable ; char *sctp_hmac_alg ; unsigned int valid_cookie_life ; unsigned int sack_timeout ; unsigned int hb_interval ; int max_retrans_association ; int max_retrans_path ; int max_retrans_init ; int pf_retrans ; int sndbuf_policy ; int rcvbuf_policy ; int default_auto_asconf ; int addip_enable ; int addip_noauth ; int prsctp_enable ; int auth_enable ; int scope_policy ; int rwnd_upd_shift ; unsigned long max_autoclose ; }; struct netns_dccp { struct sock *v4_ctl_sk ; struct sock *v6_ctl_sk ; }; union __anonunion_in6_u_224 { __u8 u6_addr8[16U] ; __be16 u6_addr16[8U] ; __be32 u6_addr32[4U] ; }; struct in6_addr { union __anonunion_in6_u_224 in6_u ; }; struct nlattr; struct nf_logger; struct netns_nf { struct proc_dir_entry *proc_netfilter ; struct nf_logger const *nf_loggers[13U] ; struct ctl_table_header *nf_log_dir_header ; }; struct ebt_table; struct netns_xt { struct list_head tables[13U] ; bool notrack_deprecated_warning ; struct ebt_table *broute_table ; struct ebt_table *frame_filter ; struct ebt_table *frame_nat ; bool ulog_warn_deprecated ; bool ebt_ulog_warn_deprecated ; }; struct hlist_nulls_node; struct hlist_nulls_head { struct hlist_nulls_node *first ; }; struct hlist_nulls_node { struct hlist_nulls_node *next ; struct hlist_nulls_node **pprev ; }; struct nf_proto_net { struct ctl_table_header *ctl_table_header ; struct ctl_table *ctl_table ; struct ctl_table_header *ctl_compat_header ; struct ctl_table *ctl_compat_table ; unsigned int users ; }; struct nf_generic_net { struct nf_proto_net pn ; unsigned int timeout ; }; struct nf_tcp_net { struct nf_proto_net pn ; unsigned int timeouts[14U] ; unsigned int tcp_loose ; unsigned int tcp_be_liberal ; unsigned int tcp_max_retrans ; }; struct nf_udp_net { struct nf_proto_net pn ; unsigned int timeouts[2U] ; }; struct nf_icmp_net { struct nf_proto_net pn ; unsigned int timeout ; }; struct nf_ip_net { struct nf_generic_net generic ; struct nf_tcp_net tcp ; struct nf_udp_net udp ; struct nf_icmp_net icmp ; struct nf_icmp_net icmpv6 ; struct ctl_table_header *ctl_table_header ; struct ctl_table *ctl_table ; }; struct ip_conntrack_stat; struct nf_ct_event_notifier; struct nf_exp_event_notifier; struct netns_ct { atomic_t count ; unsigned int expect_count ; struct ctl_table_header *sysctl_header ; struct ctl_table_header *acct_sysctl_header ; struct ctl_table_header *tstamp_sysctl_header ; struct ctl_table_header *event_sysctl_header ; struct ctl_table_header *helper_sysctl_header ; char *slabname ; unsigned int sysctl_log_invalid ; unsigned int sysctl_events_retry_timeout ; int sysctl_events ; int sysctl_acct ; int sysctl_auto_assign_helper ; bool auto_assign_helper_warned ; int sysctl_tstamp ; int sysctl_checksum ; unsigned int htable_size ; struct kmem_cache *nf_conntrack_cachep ; struct hlist_nulls_head *hash ; struct hlist_head *expect_hash ; struct hlist_nulls_head unconfirmed ; struct hlist_nulls_head dying ; struct hlist_nulls_head tmpl ; struct ip_conntrack_stat *stat ; struct nf_ct_event_notifier *nf_conntrack_event_cb ; struct nf_exp_event_notifier *nf_expect_event_cb ; struct nf_ip_net nf_ct_proto ; unsigned int labels_used ; u8 label_words ; struct hlist_head *nat_bysource ; unsigned int nat_htable_size ; }; struct nft_af_info; struct netns_nftables { struct list_head af_info ; struct list_head commit_list ; struct nft_af_info *ipv4 ; struct nft_af_info *ipv6 ; struct nft_af_info *inet ; struct nft_af_info *arp ; struct nft_af_info *bridge ; u8 gencursor ; u8 genctr ; }; struct xfrm_policy_hash { struct hlist_head *table ; unsigned int hmask ; }; struct netns_xfrm { struct list_head state_all ; struct hlist_head *state_bydst ; struct hlist_head *state_bysrc ; struct hlist_head *state_byspi ; unsigned int state_hmask ; unsigned int state_num ; struct work_struct state_hash_work ; struct hlist_head state_gc_list ; struct work_struct state_gc_work ; struct list_head policy_all ; struct hlist_head *policy_byidx ; unsigned int policy_idx_hmask ; struct hlist_head policy_inexact[6U] ; struct xfrm_policy_hash policy_bydst[6U] ; unsigned int policy_count[6U] ; struct work_struct policy_hash_work ; struct sock *nlsk ; struct sock *nlsk_stash ; u32 sysctl_aevent_etime ; u32 sysctl_aevent_rseqth ; int sysctl_larval_drop ; u32 sysctl_acq_expires ; struct ctl_table_header *sysctl_hdr ; struct dst_ops xfrm4_dst_ops ; struct dst_ops xfrm6_dst_ops ; spinlock_t xfrm_state_lock ; spinlock_t xfrm_policy_sk_bundle_lock ; rwlock_t xfrm_policy_lock ; struct mutex xfrm_cfg_mutex ; }; struct net_generic; struct netns_ipvs; struct net { atomic_t passive ; atomic_t count ; spinlock_t rules_mod_lock ; struct list_head list ; struct list_head cleanup_list ; struct list_head exit_list ; struct user_namespace *user_ns ; unsigned int proc_inum ; struct proc_dir_entry *proc_net ; struct proc_dir_entry *proc_net_stat ; struct ctl_table_set sysctls ; struct sock *rtnl ; struct sock *genl_sock ; struct list_head dev_base_head ; struct hlist_head *dev_name_head ; struct hlist_head *dev_index_head ; unsigned int dev_base_seq ; int ifindex ; unsigned int dev_unreg_count ; struct list_head rules_ops ; struct net_device *loopback_dev ; struct netns_core core ; struct netns_mib mib ; struct netns_packet packet ; struct netns_unix unx ; struct netns_ipv4 ipv4 ; struct netns_ipv6 ipv6 ; struct netns_sctp sctp ; struct netns_dccp dccp ; struct netns_nf nf ; struct netns_xt xt ; struct netns_ct ct ; struct netns_nftables nft ; struct netns_nf_frag nf_frag ; struct sock *nfnl ; struct sock *nfnl_stash ; struct sk_buff_head wext_nlevents ; struct net_generic *gen ; struct netns_xfrm xfrm ; struct netns_ipvs *ipvs ; struct sock *diag_nlsk ; atomic_t fnhe_genid ; }; struct dsa_chip_data { struct device *mii_bus ; int sw_addr ; char *port_names[12U] ; s8 *rtable ; }; struct dsa_platform_data { struct device *netdev ; int nr_chips ; struct dsa_chip_data *chip ; }; struct dsa_switch; struct dsa_switch_tree { struct dsa_platform_data *pd ; struct net_device *master_netdev ; __be16 tag_protocol ; s8 cpu_switch ; s8 cpu_port ; int link_poll_needed ; struct work_struct link_poll_work ; struct timer_list link_poll_timer ; struct dsa_switch *ds[4U] ; }; struct dsa_switch_driver; struct mii_bus; struct dsa_switch { struct dsa_switch_tree *dst ; int index ; struct dsa_chip_data *pd ; struct dsa_switch_driver *drv ; struct mii_bus *master_mii_bus ; u32 dsa_port_mask ; u32 phys_port_mask ; struct mii_bus *slave_mii_bus ; struct net_device *ports[12U] ; }; struct dsa_switch_driver { struct list_head list ; __be16 tag_protocol ; int priv_size ; char *(*probe)(struct mii_bus * , int ) ; int (*setup)(struct dsa_switch * ) ; int (*set_addr)(struct dsa_switch * , u8 * ) ; int (*phy_read)(struct dsa_switch * , int , int ) ; int (*phy_write)(struct dsa_switch * , int , int , u16 ) ; void (*poll_link)(struct dsa_switch * ) ; void (*get_strings)(struct dsa_switch * , int , uint8_t * ) ; void (*get_ethtool_stats)(struct dsa_switch * , int , uint64_t * ) ; int (*get_sset_count)(struct dsa_switch * ) ; }; struct ieee_ets { __u8 willing ; __u8 ets_cap ; __u8 cbs ; __u8 tc_tx_bw[8U] ; __u8 tc_rx_bw[8U] ; __u8 tc_tsa[8U] ; __u8 prio_tc[8U] ; __u8 tc_reco_bw[8U] ; __u8 tc_reco_tsa[8U] ; __u8 reco_prio_tc[8U] ; }; struct ieee_maxrate { __u64 tc_maxrate[8U] ; }; struct ieee_pfc { __u8 pfc_cap ; __u8 pfc_en ; __u8 mbc ; __u16 delay ; __u64 requests[8U] ; __u64 indications[8U] ; }; struct cee_pg { __u8 willing ; __u8 error ; __u8 pg_en ; __u8 tcs_supported ; __u8 pg_bw[8U] ; __u8 prio_pg[8U] ; }; struct cee_pfc { __u8 willing ; __u8 error ; __u8 pfc_en ; __u8 tcs_supported ; }; struct dcb_app { __u8 selector ; __u8 priority ; __u16 protocol ; }; struct dcb_peer_app_info { __u8 willing ; __u8 error ; }; struct dcbnl_rtnl_ops { int (*ieee_getets)(struct net_device * , struct ieee_ets * ) ; int (*ieee_setets)(struct net_device * , struct ieee_ets * ) ; int (*ieee_getmaxrate)(struct net_device * , struct ieee_maxrate * ) ; int (*ieee_setmaxrate)(struct net_device * , struct ieee_maxrate * ) ; int (*ieee_getpfc)(struct net_device * , struct ieee_pfc * ) ; int (*ieee_setpfc)(struct net_device * , struct ieee_pfc * ) ; int (*ieee_getapp)(struct net_device * , struct dcb_app * ) ; int (*ieee_setapp)(struct net_device * , struct dcb_app * ) ; int (*ieee_delapp)(struct net_device * , struct dcb_app * ) ; int (*ieee_peer_getets)(struct net_device * , struct ieee_ets * ) ; int (*ieee_peer_getpfc)(struct net_device * , struct ieee_pfc * ) ; u8 (*getstate)(struct net_device * ) ; u8 (*setstate)(struct net_device * , u8 ) ; void (*getpermhwaddr)(struct net_device * , u8 * ) ; void (*setpgtccfgtx)(struct net_device * , int , u8 , u8 , u8 , u8 ) ; void (*setpgbwgcfgtx)(struct net_device * , int , u8 ) ; void (*setpgtccfgrx)(struct net_device * , int , u8 , u8 , u8 , u8 ) ; void (*setpgbwgcfgrx)(struct net_device * , int , u8 ) ; void (*getpgtccfgtx)(struct net_device * , int , u8 * , u8 * , u8 * , u8 * ) ; void (*getpgbwgcfgtx)(struct net_device * , int , u8 * ) ; void (*getpgtccfgrx)(struct net_device * , int , u8 * , u8 * , u8 * , u8 * ) ; void (*getpgbwgcfgrx)(struct net_device * , int , u8 * ) ; void (*setpfccfg)(struct net_device * , int , u8 ) ; void (*getpfccfg)(struct net_device * , int , u8 * ) ; u8 (*setall)(struct net_device * ) ; u8 (*getcap)(struct net_device * , int , u8 * ) ; int (*getnumtcs)(struct net_device * , int , u8 * ) ; int (*setnumtcs)(struct net_device * , int , u8 ) ; u8 (*getpfcstate)(struct net_device * ) ; void (*setpfcstate)(struct net_device * , u8 ) ; void (*getbcncfg)(struct net_device * , int , u32 * ) ; void (*setbcncfg)(struct net_device * , int , u32 ) ; void (*getbcnrp)(struct net_device * , int , u8 * ) ; void (*setbcnrp)(struct net_device * , int , u8 ) ; u8 (*setapp)(struct net_device * , u8 , u16 , u8 ) ; u8 (*getapp)(struct net_device * , u8 , u16 ) ; u8 (*getfeatcfg)(struct net_device * , int , u8 * ) ; u8 (*setfeatcfg)(struct net_device * , int , u8 ) ; u8 (*getdcbx)(struct net_device * ) ; u8 (*setdcbx)(struct net_device * , u8 ) ; int (*peer_getappinfo)(struct net_device * , struct dcb_peer_app_info * , u16 * ) ; int (*peer_getapptable)(struct net_device * , struct dcb_app * ) ; int (*cee_peer_getpg)(struct net_device * , struct cee_pg * ) ; int (*cee_peer_getpfc)(struct net_device * , struct cee_pfc * ) ; }; struct taskstats { __u16 version ; __u32 ac_exitcode ; __u8 ac_flag ; __u8 ac_nice ; __u64 cpu_count ; __u64 cpu_delay_total ; __u64 blkio_count ; __u64 blkio_delay_total ; __u64 swapin_count ; __u64 swapin_delay_total ; __u64 cpu_run_real_total ; __u64 cpu_run_virtual_total ; char ac_comm[32U] ; __u8 ac_sched ; __u8 ac_pad[3U] ; __u32 ac_uid ; __u32 ac_gid ; __u32 ac_pid ; __u32 ac_ppid ; __u32 ac_btime ; __u64 ac_etime ; __u64 ac_utime ; __u64 ac_stime ; __u64 ac_minflt ; __u64 ac_majflt ; __u64 coremem ; __u64 virtmem ; __u64 hiwater_rss ; __u64 hiwater_vm ; __u64 read_char ; __u64 write_char ; __u64 read_syscalls ; __u64 write_syscalls ; __u64 read_bytes ; __u64 write_bytes ; __u64 cancelled_write_bytes ; __u64 nvcsw ; __u64 nivcsw ; __u64 ac_utimescaled ; __u64 ac_stimescaled ; __u64 cpu_scaled_run_real_total ; __u64 freepages_count ; __u64 freepages_delay_total ; }; struct xattr_handler { char const *prefix ; int flags ; size_t (*list)(struct dentry * , char * , size_t , char const * , size_t , int ) ; int (*get)(struct dentry * , char const * , void * , size_t , int ) ; int (*set)(struct dentry * , char const * , void const * , size_t , int , int ) ; }; struct simple_xattrs { struct list_head head ; spinlock_t lock ; }; struct percpu_ref; typedef void percpu_ref_func_t(struct percpu_ref * ); struct percpu_ref { atomic_t count ; unsigned int *pcpu_count ; percpu_ref_func_t *release ; percpu_ref_func_t *confirm_kill ; struct callback_head rcu ; }; struct cgroupfs_root; struct cgroup_subsys; struct cgroup; struct cgroup_subsys_state { struct cgroup *cgroup ; struct cgroup_subsys *ss ; struct percpu_ref refcnt ; struct cgroup_subsys_state *parent ; unsigned long flags ; struct callback_head callback_head ; struct work_struct destroy_work ; }; struct cgroup_name { struct callback_head callback_head ; char name[] ; }; struct cgroup { unsigned long flags ; int id ; int nr_css ; struct list_head sibling ; struct list_head children ; struct list_head files ; struct cgroup *parent ; struct dentry *dentry ; u64 serial_nr ; struct cgroup_name *name ; struct cgroup_subsys_state *subsys[12U] ; struct cgroupfs_root *root ; struct list_head cset_links ; struct list_head release_list ; struct list_head pidlists ; struct mutex pidlist_mutex ; struct cgroup_subsys_state dummy_css ; struct callback_head callback_head ; struct work_struct destroy_work ; struct simple_xattrs xattrs ; }; struct cgroupfs_root { struct super_block *sb ; unsigned long subsys_mask ; int hierarchy_id ; struct cgroup top_cgroup ; int number_of_cgroups ; struct list_head root_list ; unsigned long flags ; struct idr cgroup_idr ; char release_agent_path[4096U] ; char name[64U] ; }; struct css_set { atomic_t refcount ; struct hlist_node hlist ; struct list_head tasks ; struct list_head cgrp_links ; struct cgroup_subsys_state *subsys[12U] ; struct callback_head callback_head ; }; struct cftype { char name[64U] ; int private ; umode_t mode ; size_t max_write_len ; unsigned int flags ; struct cgroup_subsys *ss ; u64 (*read_u64)(struct cgroup_subsys_state * , struct cftype * ) ; s64 (*read_s64)(struct cgroup_subsys_state * , struct cftype * ) ; int (*seq_show)(struct seq_file * , void * ) ; void *(*seq_start)(struct seq_file * , loff_t * ) ; void *(*seq_next)(struct seq_file * , void * , loff_t * ) ; void (*seq_stop)(struct seq_file * , void * ) ; int (*write_u64)(struct cgroup_subsys_state * , struct cftype * , u64 ) ; int (*write_s64)(struct cgroup_subsys_state * , struct cftype * , s64 ) ; int (*write_string)(struct cgroup_subsys_state * , struct cftype * , char const * ) ; int (*trigger)(struct cgroup_subsys_state * , unsigned int ) ; }; struct cftype_set { struct list_head node ; struct cftype *cfts ; }; struct cgroup_taskset; struct cgroup_subsys { struct cgroup_subsys_state *(*css_alloc)(struct cgroup_subsys_state * ) ; int (*css_online)(struct cgroup_subsys_state * ) ; void (*css_offline)(struct cgroup_subsys_state * ) ; void (*css_free)(struct cgroup_subsys_state * ) ; int (*can_attach)(struct cgroup_subsys_state * , struct cgroup_taskset * ) ; void (*cancel_attach)(struct cgroup_subsys_state * , struct cgroup_taskset * ) ; void (*attach)(struct cgroup_subsys_state * , struct cgroup_taskset * ) ; void (*fork)(struct task_struct * ) ; void (*exit)(struct cgroup_subsys_state * , struct cgroup_subsys_state * , struct task_struct * ) ; void (*bind)(struct cgroup_subsys_state * ) ; int subsys_id ; int disabled ; int early_init ; bool broken_hierarchy ; bool warned_broken_hierarchy ; char const *name ; struct cgroupfs_root *root ; struct list_head cftsets ; struct cftype *base_cftypes ; struct cftype_set base_cftset ; struct module *module ; }; enum irqreturn { IRQ_NONE = 0, IRQ_HANDLED = 1, IRQ_WAKE_THREAD = 2 } ; typedef enum irqreturn irqreturn_t; struct netprio_map { struct callback_head rcu ; u32 priomap_len ; u32 priomap[] ; }; struct xfrm_policy; struct xfrm_state; struct request_sock; struct mnt_namespace; struct ipc_namespace; struct nsproxy { atomic_t count ; struct uts_namespace *uts_ns ; struct ipc_namespace *ipc_ns ; struct mnt_namespace *mnt_ns ; struct pid_namespace *pid_ns_for_children ; struct net *net_ns ; }; struct nlmsghdr { __u32 nlmsg_len ; __u16 nlmsg_type ; __u16 nlmsg_flags ; __u32 nlmsg_seq ; __u32 nlmsg_pid ; }; struct nlattr { __u16 nla_len ; __u16 nla_type ; }; struct netlink_callback { struct sk_buff *skb ; struct nlmsghdr const *nlh ; int (*dump)(struct sk_buff * , struct netlink_callback * ) ; int (*done)(struct netlink_callback * ) ; void *data ; struct module *module ; u16 family ; u16 min_dump_alloc ; unsigned int prev_seq ; unsigned int seq ; long args[6U] ; }; struct ndmsg { __u8 ndm_family ; __u8 ndm_pad1 ; __u16 ndm_pad2 ; __s32 ndm_ifindex ; __u16 ndm_state ; __u8 ndm_flags ; __u8 ndm_type ; }; struct rtnl_link_stats64 { __u64 rx_packets ; __u64 tx_packets ; __u64 rx_bytes ; __u64 tx_bytes ; __u64 rx_errors ; __u64 tx_errors ; __u64 rx_dropped ; __u64 tx_dropped ; __u64 multicast ; __u64 collisions ; __u64 rx_length_errors ; __u64 rx_over_errors ; __u64 rx_crc_errors ; __u64 rx_frame_errors ; __u64 rx_fifo_errors ; __u64 rx_missed_errors ; __u64 tx_aborted_errors ; __u64 tx_carrier_errors ; __u64 tx_fifo_errors ; __u64 tx_heartbeat_errors ; __u64 tx_window_errors ; __u64 rx_compressed ; __u64 tx_compressed ; }; enum macvlan_mode { MACVLAN_MODE_PRIVATE = 1, MACVLAN_MODE_VEPA = 2, MACVLAN_MODE_BRIDGE = 4, MACVLAN_MODE_PASSTHRU = 8 } ; struct ifla_vf_info { __u32 vf ; __u8 mac[32U] ; __u32 vlan ; __u32 qos ; __u32 tx_rate ; __u32 spoofchk ; __u32 linkstate ; }; struct netpoll_info; struct phy_device; struct wireless_dev; enum netdev_tx { __NETDEV_TX_MIN = (-0x7FFFFFFF-1), NETDEV_TX_OK = 0, NETDEV_TX_BUSY = 16, NETDEV_TX_LOCKED = 32 } ; typedef enum netdev_tx netdev_tx_t; struct net_device_stats { unsigned long rx_packets ; unsigned long tx_packets ; unsigned long rx_bytes ; unsigned long tx_bytes ; unsigned long rx_errors ; unsigned long tx_errors ; unsigned long rx_dropped ; unsigned long tx_dropped ; unsigned long multicast ; unsigned long collisions ; unsigned long rx_length_errors ; unsigned long rx_over_errors ; unsigned long rx_crc_errors ; unsigned long rx_frame_errors ; unsigned long rx_fifo_errors ; unsigned long rx_missed_errors ; unsigned long tx_aborted_errors ; unsigned long tx_carrier_errors ; unsigned long tx_fifo_errors ; unsigned long tx_heartbeat_errors ; unsigned long tx_window_errors ; unsigned long rx_compressed ; unsigned long tx_compressed ; }; struct neigh_parms; struct netdev_hw_addr { struct list_head list ; unsigned char addr[32U] ; unsigned char type ; bool global_use ; int sync_cnt ; int refcount ; int synced ; struct callback_head callback_head ; }; struct netdev_hw_addr_list { struct list_head list ; int count ; }; struct hh_cache { u16 hh_len ; u16 __pad ; seqlock_t hh_lock ; unsigned long hh_data[16U] ; }; struct header_ops { int (*create)(struct sk_buff * , struct net_device * , unsigned short , void const * , void const * , unsigned int ) ; int (*parse)(struct sk_buff const * , unsigned char * ) ; int (*rebuild)(struct sk_buff * ) ; int (*cache)(struct neighbour const * , struct hh_cache * , __be16 ) ; void (*cache_update)(struct hh_cache * , struct net_device const * , unsigned char const * ) ; }; struct napi_struct { struct list_head poll_list ; unsigned long state ; int weight ; unsigned int gro_count ; int (*poll)(struct napi_struct * , int ) ; spinlock_t poll_lock ; int poll_owner ; struct net_device *dev ; struct sk_buff *gro_list ; struct sk_buff *skb ; struct list_head dev_list ; struct hlist_node napi_hash_node ; unsigned int napi_id ; }; enum gro_result { GRO_MERGED = 0, GRO_MERGED_FREE = 1, GRO_HELD = 2, GRO_NORMAL = 3, GRO_DROP = 4 } ; typedef enum gro_result gro_result_t; enum rx_handler_result { RX_HANDLER_CONSUMED = 0, RX_HANDLER_ANOTHER = 1, RX_HANDLER_EXACT = 2, RX_HANDLER_PASS = 3 } ; typedef enum rx_handler_result rx_handler_result_t; typedef rx_handler_result_t rx_handler_func_t(struct sk_buff ** ); struct Qdisc; struct netdev_queue { struct net_device *dev ; struct Qdisc *qdisc ; struct Qdisc *qdisc_sleeping ; struct kobject kobj ; int numa_node ; spinlock_t _xmit_lock ; int xmit_lock_owner ; unsigned long trans_start ; unsigned long trans_timeout ; unsigned long state ; struct dql dql ; }; struct rps_map { unsigned int len ; struct callback_head rcu ; u16 cpus[0U] ; }; struct rps_dev_flow { u16 cpu ; u16 filter ; unsigned int last_qtail ; }; struct rps_dev_flow_table { unsigned int mask ; struct callback_head rcu ; struct rps_dev_flow flows[0U] ; }; struct netdev_rx_queue { struct rps_map *rps_map ; struct rps_dev_flow_table *rps_flow_table ; struct kobject kobj ; struct net_device *dev ; }; struct xps_map { unsigned int len ; unsigned int alloc_len ; struct callback_head rcu ; u16 queues[0U] ; }; struct xps_dev_maps { struct callback_head rcu ; struct xps_map *cpu_map[0U] ; }; struct netdev_tc_txq { u16 count ; u16 offset ; }; struct netdev_fcoe_hbainfo { char manufacturer[64U] ; char serial_number[64U] ; char hardware_version[64U] ; char driver_version[64U] ; char optionrom_version[64U] ; char firmware_version[64U] ; char model[256U] ; char model_description[256U] ; }; struct netdev_phys_port_id { unsigned char id[32U] ; unsigned char id_len ; }; struct net_device_ops { int (*ndo_init)(struct net_device * ) ; void (*ndo_uninit)(struct net_device * ) ; int (*ndo_open)(struct net_device * ) ; int (*ndo_stop)(struct net_device * ) ; netdev_tx_t (*ndo_start_xmit)(struct sk_buff * , struct net_device * ) ; u16 (*ndo_select_queue)(struct net_device * , struct sk_buff * , void * , u16 (*)(struct net_device * , struct sk_buff * ) ) ; void (*ndo_change_rx_flags)(struct net_device * , int ) ; void (*ndo_set_rx_mode)(struct net_device * ) ; int (*ndo_set_mac_address)(struct net_device * , void * ) ; int (*ndo_validate_addr)(struct net_device * ) ; int (*ndo_do_ioctl)(struct net_device * , struct ifreq * , int ) ; int (*ndo_set_config)(struct net_device * , struct ifmap * ) ; int (*ndo_change_mtu)(struct net_device * , int ) ; int (*ndo_neigh_setup)(struct net_device * , struct neigh_parms * ) ; void (*ndo_tx_timeout)(struct net_device * ) ; struct rtnl_link_stats64 *(*ndo_get_stats64)(struct net_device * , struct rtnl_link_stats64 * ) ; struct net_device_stats *(*ndo_get_stats)(struct net_device * ) ; int (*ndo_vlan_rx_add_vid)(struct net_device * , __be16 , u16 ) ; int (*ndo_vlan_rx_kill_vid)(struct net_device * , __be16 , u16 ) ; void (*ndo_poll_controller)(struct net_device * ) ; int (*ndo_netpoll_setup)(struct net_device * , struct netpoll_info * , gfp_t ) ; void (*ndo_netpoll_cleanup)(struct net_device * ) ; int (*ndo_busy_poll)(struct napi_struct * ) ; int (*ndo_set_vf_mac)(struct net_device * , int , u8 * ) ; int (*ndo_set_vf_vlan)(struct net_device * , int , u16 , u8 ) ; int (*ndo_set_vf_tx_rate)(struct net_device * , int , int ) ; int (*ndo_set_vf_spoofchk)(struct net_device * , int , bool ) ; int (*ndo_get_vf_config)(struct net_device * , int , struct ifla_vf_info * ) ; int (*ndo_set_vf_link_state)(struct net_device * , int , int ) ; int (*ndo_set_vf_port)(struct net_device * , int , struct nlattr ** ) ; int (*ndo_get_vf_port)(struct net_device * , int , struct sk_buff * ) ; int (*ndo_setup_tc)(struct net_device * , u8 ) ; int (*ndo_fcoe_enable)(struct net_device * ) ; int (*ndo_fcoe_disable)(struct net_device * ) ; int (*ndo_fcoe_ddp_setup)(struct net_device * , u16 , struct scatterlist * , unsigned int ) ; int (*ndo_fcoe_ddp_done)(struct net_device * , u16 ) ; int (*ndo_fcoe_ddp_target)(struct net_device * , u16 , struct scatterlist * , unsigned int ) ; int (*ndo_fcoe_get_hbainfo)(struct net_device * , struct netdev_fcoe_hbainfo * ) ; int (*ndo_fcoe_get_wwn)(struct net_device * , u64 * , int ) ; int (*ndo_rx_flow_steer)(struct net_device * , struct sk_buff const * , u16 , u32 ) ; int (*ndo_add_slave)(struct net_device * , struct net_device * ) ; int (*ndo_del_slave)(struct net_device * , struct net_device * ) ; netdev_features_t (*ndo_fix_features)(struct net_device * , netdev_features_t ) ; int (*ndo_set_features)(struct net_device * , netdev_features_t ) ; int (*ndo_neigh_construct)(struct neighbour * ) ; void (*ndo_neigh_destroy)(struct neighbour * ) ; int (*ndo_fdb_add)(struct ndmsg * , struct nlattr ** , struct net_device * , unsigned char const * , u16 ) ; int (*ndo_fdb_del)(struct ndmsg * , struct nlattr ** , struct net_device * , unsigned char const * ) ; int (*ndo_fdb_dump)(struct sk_buff * , struct netlink_callback * , struct net_device * , int ) ; int (*ndo_bridge_setlink)(struct net_device * , struct nlmsghdr * ) ; int (*ndo_bridge_getlink)(struct sk_buff * , u32 , u32 , struct net_device * , u32 ) ; int (*ndo_bridge_dellink)(struct net_device * , struct nlmsghdr * ) ; int (*ndo_change_carrier)(struct net_device * , bool ) ; int (*ndo_get_phys_port_id)(struct net_device * , struct netdev_phys_port_id * ) ; void (*ndo_add_vxlan_port)(struct net_device * , sa_family_t , __be16 ) ; void (*ndo_del_vxlan_port)(struct net_device * , sa_family_t , __be16 ) ; void *(*ndo_dfwd_add_station)(struct net_device * , struct net_device * ) ; void (*ndo_dfwd_del_station)(struct net_device * , void * ) ; netdev_tx_t (*ndo_dfwd_start_xmit)(struct sk_buff * , struct net_device * , void * ) ; }; enum ldv_28001 { NETREG_UNINITIALIZED = 0, NETREG_REGISTERED = 1, NETREG_UNREGISTERING = 2, NETREG_UNREGISTERED = 3, NETREG_RELEASED = 4, NETREG_DUMMY = 5 } ; enum ldv_28002 { RTNL_LINK_INITIALIZED = 0, RTNL_LINK_INITIALIZING = 1 } ; struct __anonstruct_adj_list_235 { struct list_head upper ; struct list_head lower ; }; struct __anonstruct_all_adj_list_236 { struct list_head upper ; struct list_head lower ; }; struct iw_handler_def; struct iw_public_data; struct forwarding_accel_ops; struct vlan_info; struct tipc_bearer; struct in_device; struct dn_dev; struct inet6_dev; struct cpu_rmap; struct pcpu_lstats; struct pcpu_sw_netstats; struct pcpu_dstats; struct pcpu_vstats; union __anonunion____missing_field_name_237 { void *ml_priv ; struct pcpu_lstats *lstats ; struct pcpu_sw_netstats *tstats ; struct pcpu_dstats *dstats ; struct pcpu_vstats *vstats ; }; struct garp_port; struct mrp_port; struct rtnl_link_ops; struct net_device { char name[16U] ; struct hlist_node name_hlist ; char *ifalias ; unsigned long mem_end ; unsigned long mem_start ; unsigned long base_addr ; int irq ; unsigned long state ; struct list_head dev_list ; struct list_head napi_list ; struct list_head unreg_list ; struct list_head close_list ; struct __anonstruct_adj_list_235 adj_list ; struct __anonstruct_all_adj_list_236 all_adj_list ; netdev_features_t features ; netdev_features_t hw_features ; netdev_features_t wanted_features ; netdev_features_t vlan_features ; netdev_features_t hw_enc_features ; netdev_features_t mpls_features ; int ifindex ; int iflink ; struct net_device_stats stats ; atomic_long_t rx_dropped ; struct iw_handler_def const *wireless_handlers ; struct iw_public_data *wireless_data ; struct net_device_ops const *netdev_ops ; struct ethtool_ops const *ethtool_ops ; struct forwarding_accel_ops const *fwd_ops ; struct header_ops const *header_ops ; unsigned int flags ; unsigned int priv_flags ; unsigned short gflags ; unsigned short padded ; unsigned char operstate ; unsigned char link_mode ; unsigned char if_port ; unsigned char dma ; unsigned int mtu ; unsigned short type ; unsigned short hard_header_len ; unsigned short needed_headroom ; unsigned short needed_tailroom ; unsigned char perm_addr[32U] ; unsigned char addr_assign_type ; unsigned char addr_len ; unsigned short neigh_priv_len ; unsigned short dev_id ; spinlock_t addr_list_lock ; struct netdev_hw_addr_list uc ; struct netdev_hw_addr_list mc ; struct netdev_hw_addr_list dev_addrs ; struct kset *queues_kset ; bool uc_promisc ; unsigned int promiscuity ; unsigned int allmulti ; struct vlan_info *vlan_info ; struct dsa_switch_tree *dsa_ptr ; struct tipc_bearer *tipc_ptr ; void *atalk_ptr ; struct in_device *ip_ptr ; struct dn_dev *dn_ptr ; struct inet6_dev *ip6_ptr ; void *ax25_ptr ; struct wireless_dev *ieee80211_ptr ; unsigned long last_rx ; unsigned char *dev_addr ; struct netdev_rx_queue *_rx ; unsigned int num_rx_queues ; unsigned int real_num_rx_queues ; rx_handler_func_t *rx_handler ; void *rx_handler_data ; struct netdev_queue *ingress_queue ; unsigned char broadcast[32U] ; struct netdev_queue *_tx ; unsigned int num_tx_queues ; unsigned int real_num_tx_queues ; struct Qdisc *qdisc ; unsigned long tx_queue_len ; spinlock_t tx_global_lock ; struct xps_dev_maps *xps_maps ; struct cpu_rmap *rx_cpu_rmap ; unsigned long trans_start ; int watchdog_timeo ; struct timer_list watchdog_timer ; int *pcpu_refcnt ; struct list_head todo_list ; struct hlist_node index_hlist ; struct list_head link_watch_list ; enum ldv_28001 reg_state : 8 ; bool dismantle ; enum ldv_28002 rtnl_link_state : 16 ; void (*destructor)(struct net_device * ) ; struct netpoll_info *npinfo ; struct net *nd_net ; union __anonunion____missing_field_name_237 __annonCompField74 ; struct garp_port *garp_port ; struct mrp_port *mrp_port ; struct device dev ; struct attribute_group const *sysfs_groups[4U] ; struct attribute_group const *sysfs_rx_queue_group ; struct rtnl_link_ops const *rtnl_link_ops ; unsigned int gso_max_size ; u16 gso_max_segs ; struct dcbnl_rtnl_ops const *dcbnl_ops ; u8 num_tc ; struct netdev_tc_txq tc_to_txq[16U] ; u8 prio_tc_map[16U] ; unsigned int fcoe_ddp_xid ; struct netprio_map *priomap ; struct phy_device *phydev ; struct lock_class_key *qdisc_tx_busylock ; int group ; struct pm_qos_request pm_qos_req ; }; struct pcpu_sw_netstats { u64 rx_packets ; u64 rx_bytes ; u64 tx_packets ; u64 tx_bytes ; struct u64_stats_sync syncp ; }; enum skb_free_reason { SKB_REASON_CONSUMED = 0, SKB_REASON_DROPPED = 1 } ; typedef unsigned long kernel_ulong_t; struct pci_device_id { __u32 vendor ; __u32 device ; __u32 subvendor ; __u32 subdevice ; __u32 class ; __u32 class_mask ; kernel_ulong_t driver_data ; }; struct acpi_device_id { __u8 id[9U] ; kernel_ulong_t driver_data ; }; struct of_device_id { char name[32U] ; char type[32U] ; char compatible[128U] ; void const *data ; }; struct hotplug_slot; struct pci_slot { struct pci_bus *bus ; struct list_head list ; struct hotplug_slot *hotplug ; unsigned char number ; struct kobject kobj ; }; typedef int pci_power_t; typedef unsigned int pci_channel_state_t; enum pci_channel_state { pci_channel_io_normal = 1, pci_channel_io_frozen = 2, pci_channel_io_perm_failure = 3 } ; typedef unsigned short pci_dev_flags_t; typedef unsigned short pci_bus_flags_t; enum pcie_link_width { PCIE_LNK_WIDTH_RESRV = 0, PCIE_LNK_X1 = 1, PCIE_LNK_X2 = 2, PCIE_LNK_X4 = 4, PCIE_LNK_X8 = 8, PCIE_LNK_X12 = 12, PCIE_LNK_X16 = 16, PCIE_LNK_X32 = 32, PCIE_LNK_WIDTH_UNKNOWN = 255 } ; enum pci_bus_speed { PCI_SPEED_33MHz = 0, PCI_SPEED_66MHz = 1, PCI_SPEED_66MHz_PCIX = 2, PCI_SPEED_100MHz_PCIX = 3, PCI_SPEED_133MHz_PCIX = 4, PCI_SPEED_66MHz_PCIX_ECC = 5, PCI_SPEED_100MHz_PCIX_ECC = 6, PCI_SPEED_133MHz_PCIX_ECC = 7, PCI_SPEED_66MHz_PCIX_266 = 9, PCI_SPEED_100MHz_PCIX_266 = 10, PCI_SPEED_133MHz_PCIX_266 = 11, AGP_UNKNOWN = 12, AGP_1X = 13, AGP_2X = 14, AGP_4X = 15, AGP_8X = 16, PCI_SPEED_66MHz_PCIX_533 = 17, PCI_SPEED_100MHz_PCIX_533 = 18, PCI_SPEED_133MHz_PCIX_533 = 19, PCIE_SPEED_2_5GT = 20, PCIE_SPEED_5_0GT = 21, PCIE_SPEED_8_0GT = 22, PCI_SPEED_UNKNOWN = 255 } ; struct pcie_link_state; struct pci_vpd; struct pci_sriov; struct pci_ats; struct pci_driver; union __anonunion____missing_field_name_241 { struct pci_sriov *sriov ; struct pci_dev *physfn ; }; struct pci_dev { struct list_head bus_list ; struct pci_bus *bus ; struct pci_bus *subordinate ; void *sysdata ; struct proc_dir_entry *procent ; struct pci_slot *slot ; unsigned int devfn ; unsigned short vendor ; unsigned short device ; unsigned short subsystem_vendor ; unsigned short subsystem_device ; unsigned int class ; u8 revision ; u8 hdr_type ; u8 pcie_cap ; u8 msi_cap ; u8 msix_cap ; u8 pcie_mpss : 3 ; u8 rom_base_reg ; u8 pin ; u16 pcie_flags_reg ; struct pci_driver *driver ; u64 dma_mask ; struct device_dma_parameters dma_parms ; pci_power_t current_state ; u8 pm_cap ; unsigned int pme_support : 5 ; unsigned int pme_interrupt : 1 ; unsigned int pme_poll : 1 ; unsigned int d1_support : 1 ; unsigned int d2_support : 1 ; unsigned int no_d1d2 : 1 ; unsigned int no_d3cold : 1 ; unsigned int d3cold_allowed : 1 ; unsigned int mmio_always_on : 1 ; unsigned int wakeup_prepared : 1 ; unsigned int runtime_d3cold : 1 ; unsigned int d3_delay ; unsigned int d3cold_delay ; struct pcie_link_state *link_state ; pci_channel_state_t error_state ; struct device dev ; int cfg_size ; unsigned int irq ; struct resource resource[17U] ; bool match_driver ; unsigned int transparent : 1 ; unsigned int multifunction : 1 ; unsigned int is_added : 1 ; unsigned int is_busmaster : 1 ; unsigned int no_msi : 1 ; unsigned int block_cfg_access : 1 ; unsigned int broken_parity_status : 1 ; unsigned int irq_reroute_variant : 2 ; unsigned int msi_enabled : 1 ; unsigned int msix_enabled : 1 ; unsigned int ari_enabled : 1 ; unsigned int is_managed : 1 ; unsigned int needs_freset : 1 ; unsigned int state_saved : 1 ; unsigned int is_physfn : 1 ; unsigned int is_virtfn : 1 ; unsigned int reset_fn : 1 ; unsigned int is_hotplug_bridge : 1 ; unsigned int __aer_firmware_first_valid : 1 ; unsigned int __aer_firmware_first : 1 ; unsigned int broken_intx_masking : 1 ; unsigned int io_window_1k : 1 ; pci_dev_flags_t dev_flags ; atomic_t enable_cnt ; u32 saved_config_space[16U] ; struct hlist_head saved_cap_space ; struct bin_attribute *rom_attr ; int rom_attr_enabled ; struct bin_attribute *res_attr[17U] ; struct bin_attribute *res_attr_wc[17U] ; struct list_head msi_list ; struct attribute_group const **msi_irq_groups ; struct pci_vpd *vpd ; union __anonunion____missing_field_name_241 __annonCompField75 ; struct pci_ats *ats ; phys_addr_t rom ; size_t romlen ; }; struct pci_ops; struct msi_chip; struct pci_bus { struct list_head node ; struct pci_bus *parent ; struct list_head children ; struct list_head devices ; struct pci_dev *self ; struct list_head slots ; struct resource *resource[4U] ; struct list_head resources ; struct resource busn_res ; struct pci_ops *ops ; struct msi_chip *msi ; void *sysdata ; struct proc_dir_entry *procdir ; unsigned char number ; unsigned char primary ; unsigned char max_bus_speed ; unsigned char cur_bus_speed ; char name[48U] ; unsigned short bridge_ctl ; pci_bus_flags_t bus_flags ; struct device *bridge ; struct device dev ; struct bin_attribute *legacy_io ; struct bin_attribute *legacy_mem ; unsigned int is_added : 1 ; }; struct pci_ops { int (*read)(struct pci_bus * , unsigned int , int , int , u32 * ) ; int (*write)(struct pci_bus * , unsigned int , int , int , u32 ) ; }; struct pci_dynids { spinlock_t lock ; struct list_head list ; }; typedef unsigned int pci_ers_result_t; struct pci_error_handlers { pci_ers_result_t (*error_detected)(struct pci_dev * , enum pci_channel_state ) ; pci_ers_result_t (*mmio_enabled)(struct pci_dev * ) ; pci_ers_result_t (*link_reset)(struct pci_dev * ) ; pci_ers_result_t (*slot_reset)(struct pci_dev * ) ; void (*resume)(struct pci_dev * ) ; }; struct pci_driver { struct list_head node ; char const *name ; struct pci_device_id const *id_table ; int (*probe)(struct pci_dev * , struct pci_device_id const * ) ; void (*remove)(struct pci_dev * ) ; int (*suspend)(struct pci_dev * , pm_message_t ) ; int (*suspend_late)(struct pci_dev * , pm_message_t ) ; int (*resume_early)(struct pci_dev * ) ; int (*resume)(struct pci_dev * ) ; void (*shutdown)(struct pci_dev * ) ; int (*sriov_configure)(struct pci_dev * , int ) ; struct pci_error_handlers const *err_handler ; struct device_driver driver ; struct pci_dynids dynids ; }; struct dma_pool; struct msix_entry { u32 vector ; u16 entry ; }; typedef __u64 Elf64_Addr; typedef __u16 Elf64_Half; typedef __u32 Elf64_Word; typedef __u64 Elf64_Xword; struct elf64_sym { Elf64_Word st_name ; unsigned char st_info ; unsigned char st_other ; Elf64_Half st_shndx ; Elf64_Addr st_value ; Elf64_Xword st_size ; }; typedef struct elf64_sym Elf64_Sym; struct kernel_param; struct kernel_param_ops { unsigned int flags ; int (*set)(char const * , struct kernel_param const * ) ; int (*get)(char * , struct kernel_param const * ) ; void (*free)(void * ) ; }; struct kparam_string; struct kparam_array; union __anonunion____missing_field_name_246 { void *arg ; struct kparam_string const *str ; struct kparam_array const *arr ; }; struct kernel_param { char const *name ; struct kernel_param_ops const *ops ; u16 perm ; s16 level ; union __anonunion____missing_field_name_246 __annonCompField76 ; }; struct kparam_string { unsigned int maxlen ; char *string ; }; struct kparam_array { unsigned int max ; unsigned int elemsize ; unsigned int *num ; struct kernel_param_ops const *ops ; void *elem ; }; struct tracepoint; struct tracepoint_func { void *func ; void *data ; }; struct tracepoint { char const *name ; struct static_key key ; void (*regfunc)(void) ; void (*unregfunc)(void) ; struct tracepoint_func *funcs ; }; struct mod_arch_specific { }; struct module_param_attrs; struct module_kobject { struct kobject kobj ; struct module *mod ; struct kobject *drivers_dir ; struct module_param_attrs *mp ; struct completion *kobj_completion ; }; struct module_attribute { struct attribute attr ; ssize_t (*show)(struct module_attribute * , struct module_kobject * , char * ) ; ssize_t (*store)(struct module_attribute * , struct module_kobject * , char const * , size_t ) ; void (*setup)(struct module * , char const * ) ; int (*test)(struct module * ) ; void (*free)(struct module * ) ; }; enum module_state { MODULE_STATE_LIVE = 0, MODULE_STATE_COMING = 1, MODULE_STATE_GOING = 2, MODULE_STATE_UNFORMED = 3 } ; struct module_ref { unsigned long incs ; unsigned long decs ; }; struct module_sect_attrs; struct module_notes_attrs; struct ftrace_event_call; struct module { enum module_state state ; struct list_head list ; char name[56U] ; struct module_kobject mkobj ; struct module_attribute *modinfo_attrs ; char const *version ; char const *srcversion ; struct kobject *holders_dir ; struct kernel_symbol const *syms ; unsigned long const *crcs ; unsigned int num_syms ; struct kernel_param *kp ; unsigned int num_kp ; unsigned int num_gpl_syms ; struct kernel_symbol const *gpl_syms ; unsigned long const *gpl_crcs ; struct kernel_symbol const *unused_syms ; unsigned long const *unused_crcs ; unsigned int num_unused_syms ; unsigned int num_unused_gpl_syms ; struct kernel_symbol const *unused_gpl_syms ; unsigned long const *unused_gpl_crcs ; bool sig_ok ; struct kernel_symbol const *gpl_future_syms ; unsigned long const *gpl_future_crcs ; unsigned int num_gpl_future_syms ; unsigned int num_exentries ; struct exception_table_entry *extable ; int (*init)(void) ; void *module_init ; void *module_core ; unsigned int init_size ; unsigned int core_size ; unsigned int init_text_size ; unsigned int core_text_size ; unsigned int init_ro_size ; unsigned int core_ro_size ; struct mod_arch_specific arch ; unsigned int taints ; unsigned int num_bugs ; struct list_head bug_list ; struct bug_entry *bug_table ; Elf64_Sym *symtab ; Elf64_Sym *core_symtab ; unsigned int num_symtab ; unsigned int core_num_syms ; char *strtab ; char *core_strtab ; struct module_sect_attrs *sect_attrs ; struct module_notes_attrs *notes_attrs ; char *args ; void *percpu ; unsigned int percpu_size ; unsigned int num_tracepoints ; struct tracepoint * const *tracepoints_ptrs ; struct jump_entry *jump_entries ; unsigned int num_jump_entries ; unsigned int num_trace_bprintk_fmt ; char const **trace_bprintk_fmt_start ; struct ftrace_event_call **trace_events ; unsigned int num_trace_events ; unsigned int num_ftrace_callsites ; unsigned long *ftrace_callsites ; struct list_head source_list ; struct list_head target_list ; void (*exit)(void) ; struct module_ref *refptr ; ctor_fn_t (**ctors)(void) ; unsigned int num_ctors ; }; struct iphdr { __u8 ihl : 4 ; __u8 version : 4 ; __u8 tos ; __be16 tot_len ; __be16 id ; __be16 frag_off ; __u8 ttl ; __u8 protocol ; __sum16 check ; __be32 saddr ; __be32 daddr ; }; struct res_counter { unsigned long long usage ; unsigned long long max_usage ; unsigned long long limit ; unsigned long long soft_limit ; unsigned long long failcnt ; spinlock_t lock ; struct res_counter *parent ; }; struct kioctx; typedef int kiocb_cancel_fn(struct kiocb * ); union __anonunion_ki_obj_247 { void *user ; struct task_struct *tsk ; }; struct eventfd_ctx; struct kiocb { struct file *ki_filp ; struct kioctx *ki_ctx ; kiocb_cancel_fn *ki_cancel ; void *private ; union __anonunion_ki_obj_247 ki_obj ; __u64 ki_user_data ; loff_t ki_pos ; size_t ki_nbytes ; struct list_head ki_list ; struct eventfd_ctx *ki_eventfd ; }; struct sock_filter { __u16 code ; __u8 jt ; __u8 jf ; __u32 k ; }; union __anonunion____missing_field_name_248 { struct sock_filter insns[0U] ; struct work_struct work ; }; struct sk_filter { atomic_t refcnt ; unsigned int len ; struct callback_head rcu ; unsigned int (*bpf_func)(struct sk_buff const * , struct sock_filter const * ) ; union __anonunion____missing_field_name_248 __annonCompField77 ; }; struct poll_table_struct { void (*_qproc)(struct file * , wait_queue_head_t * , struct poll_table_struct * ) ; unsigned long _key ; }; struct nla_policy { u16 type ; u16 len ; }; struct rtnl_link_ops { struct list_head list ; char const *kind ; size_t priv_size ; void (*setup)(struct net_device * ) ; int maxtype ; struct nla_policy const *policy ; int (*validate)(struct nlattr ** , struct nlattr ** ) ; int (*newlink)(struct net * , struct net_device * , struct nlattr ** , struct nlattr ** ) ; int (*changelink)(struct net_device * , struct nlattr ** , struct nlattr ** ) ; void (*dellink)(struct net_device * , struct list_head * ) ; size_t (*get_size)(struct net_device const * ) ; int (*fill_info)(struct sk_buff * , struct net_device const * ) ; size_t (*get_xstats_size)(struct net_device const * ) ; int (*fill_xstats)(struct sk_buff * , struct net_device const * ) ; unsigned int (*get_num_tx_queues)(void) ; unsigned int (*get_num_rx_queues)(void) ; int slave_maxtype ; struct nla_policy const *slave_policy ; int (*slave_validate)(struct nlattr ** , struct nlattr ** ) ; int (*slave_changelink)(struct net_device * , struct net_device * , struct nlattr ** , struct nlattr ** ) ; size_t (*get_slave_size)(struct net_device const * , struct net_device const * ) ; int (*fill_slave_info)(struct sk_buff * , struct net_device const * , struct net_device const * ) ; }; struct neigh_table; struct neigh_parms { struct net *net ; struct net_device *dev ; struct neigh_parms *next ; int (*neigh_setup)(struct neighbour * ) ; void (*neigh_cleanup)(struct neighbour * ) ; struct neigh_table *tbl ; void *sysctl_table ; int dead ; atomic_t refcnt ; struct callback_head callback_head ; int reachable_time ; int data[12U] ; unsigned long data_state[1U] ; }; struct neigh_statistics { unsigned long allocs ; unsigned long destroys ; unsigned long hash_grows ; unsigned long res_failed ; unsigned long lookups ; unsigned long hits ; unsigned long rcv_probes_mcast ; unsigned long rcv_probes_ucast ; unsigned long periodic_gc_runs ; unsigned long forced_gc_runs ; unsigned long unres_discards ; }; struct neigh_ops; struct neighbour { struct neighbour *next ; struct neigh_table *tbl ; struct neigh_parms *parms ; unsigned long confirmed ; unsigned long updated ; rwlock_t lock ; atomic_t refcnt ; struct sk_buff_head arp_queue ; unsigned int arp_queue_len_bytes ; struct timer_list timer ; unsigned long used ; atomic_t probes ; __u8 flags ; __u8 nud_state ; __u8 type ; __u8 dead ; seqlock_t ha_lock ; unsigned char ha[32U] ; struct hh_cache hh ; int (*output)(struct neighbour * , struct sk_buff * ) ; struct neigh_ops const *ops ; struct callback_head rcu ; struct net_device *dev ; u8 primary_key[0U] ; }; struct neigh_ops { int family ; void (*solicit)(struct neighbour * , struct sk_buff * ) ; void (*error_report)(struct neighbour * , struct sk_buff * ) ; int (*output)(struct neighbour * , struct sk_buff * ) ; int (*connected_output)(struct neighbour * , struct sk_buff * ) ; }; struct pneigh_entry { struct pneigh_entry *next ; struct net *net ; struct net_device *dev ; u8 flags ; u8 key[0U] ; }; struct neigh_hash_table { struct neighbour **hash_buckets ; unsigned int hash_shift ; __u32 hash_rnd[4U] ; struct callback_head rcu ; }; struct neigh_table { struct neigh_table *next ; int family ; int entry_size ; int key_len ; __u32 (*hash)(void const * , struct net_device const * , __u32 * ) ; int (*constructor)(struct neighbour * ) ; int (*pconstructor)(struct pneigh_entry * ) ; void (*pdestructor)(struct pneigh_entry * ) ; void (*proxy_redo)(struct sk_buff * ) ; char *id ; struct neigh_parms parms ; int gc_interval ; int gc_thresh1 ; int gc_thresh2 ; int gc_thresh3 ; unsigned long last_flush ; struct delayed_work gc_work ; struct timer_list proxy_timer ; struct sk_buff_head proxy_queue ; atomic_t entries ; rwlock_t lock ; unsigned long last_rand ; struct neigh_statistics *stats ; struct neigh_hash_table *nht ; struct pneigh_entry **phash_buckets ; }; struct dn_route; union __anonunion____missing_field_name_253 { struct dst_entry *next ; struct rtable *rt_next ; struct rt6_info *rt6_next ; struct dn_route *dn_next ; }; struct dst_entry { struct callback_head callback_head ; struct dst_entry *child ; struct net_device *dev ; struct dst_ops *ops ; unsigned long _metrics ; unsigned long expires ; struct dst_entry *path ; struct dst_entry *from ; struct xfrm_state *xfrm ; int (*input)(struct sk_buff * ) ; int (*output)(struct sk_buff * ) ; unsigned short flags ; unsigned short pending_confirm ; short error ; short obsolete ; unsigned short header_len ; unsigned short trailer_len ; __u32 tclassid ; long __pad_to_align_refcnt[2U] ; atomic_t __refcnt ; int __use ; unsigned long lastuse ; union __anonunion____missing_field_name_253 __annonCompField78 ; }; struct __anonstruct_socket_lock_t_254 { spinlock_t slock ; int owned ; wait_queue_head_t wq ; struct lockdep_map dep_map ; }; typedef struct __anonstruct_socket_lock_t_254 socket_lock_t; struct proto; typedef __u32 __portpair; typedef __u64 __addrpair; struct __anonstruct____missing_field_name_256 { __be32 skc_daddr ; __be32 skc_rcv_saddr ; }; union __anonunion____missing_field_name_255 { __addrpair skc_addrpair ; struct __anonstruct____missing_field_name_256 __annonCompField79 ; }; union __anonunion____missing_field_name_257 { unsigned int skc_hash ; __u16 skc_u16hashes[2U] ; }; struct __anonstruct____missing_field_name_259 { __be16 skc_dport ; __u16 skc_num ; }; union __anonunion____missing_field_name_258 { __portpair skc_portpair ; struct __anonstruct____missing_field_name_259 __annonCompField82 ; }; union __anonunion____missing_field_name_260 { struct hlist_node skc_bind_node ; struct hlist_nulls_node skc_portaddr_node ; }; union __anonunion____missing_field_name_261 { struct hlist_node skc_node ; struct hlist_nulls_node skc_nulls_node ; }; struct sock_common { union __anonunion____missing_field_name_255 __annonCompField80 ; union __anonunion____missing_field_name_257 __annonCompField81 ; union __anonunion____missing_field_name_258 __annonCompField83 ; unsigned short skc_family ; unsigned char volatile skc_state ; unsigned char skc_reuse : 4 ; unsigned char skc_reuseport : 4 ; int skc_bound_dev_if ; union __anonunion____missing_field_name_260 __annonCompField84 ; struct proto *skc_prot ; struct net *skc_net ; struct in6_addr skc_v6_daddr ; struct in6_addr skc_v6_rcv_saddr ; int skc_dontcopy_begin[0U] ; union __anonunion____missing_field_name_261 __annonCompField85 ; int skc_tx_queue_mapping ; atomic_t skc_refcnt ; int skc_dontcopy_end[0U] ; }; struct cg_proto; struct __anonstruct_sk_backlog_262 { atomic_t rmem_alloc ; int len ; struct sk_buff *head ; struct sk_buff *tail ; }; struct sock { struct sock_common __sk_common ; socket_lock_t sk_lock ; struct sk_buff_head sk_receive_queue ; struct __anonstruct_sk_backlog_262 sk_backlog ; int sk_forward_alloc ; __u32 sk_rxhash ; unsigned int sk_napi_id ; unsigned int sk_ll_usec ; atomic_t sk_drops ; int sk_rcvbuf ; struct sk_filter *sk_filter ; struct socket_wq *sk_wq ; struct xfrm_policy *sk_policy[2U] ; unsigned long sk_flags ; struct dst_entry *sk_rx_dst ; struct dst_entry *sk_dst_cache ; spinlock_t sk_dst_lock ; atomic_t sk_wmem_alloc ; atomic_t sk_omem_alloc ; int sk_sndbuf ; struct sk_buff_head sk_write_queue ; unsigned int sk_shutdown : 2 ; unsigned int sk_no_check : 2 ; unsigned int sk_userlocks : 4 ; unsigned int sk_protocol : 8 ; unsigned int sk_type : 16 ; int sk_wmem_queued ; gfp_t sk_allocation ; u32 sk_pacing_rate ; u32 sk_max_pacing_rate ; netdev_features_t sk_route_caps ; netdev_features_t sk_route_nocaps ; int sk_gso_type ; unsigned int sk_gso_max_size ; u16 sk_gso_max_segs ; int sk_rcvlowat ; unsigned long sk_lingertime ; struct sk_buff_head sk_error_queue ; struct proto *sk_prot_creator ; rwlock_t sk_callback_lock ; int sk_err ; int sk_err_soft ; unsigned short sk_ack_backlog ; unsigned short sk_max_ack_backlog ; __u32 sk_priority ; __u32 sk_cgrp_prioidx ; struct pid *sk_peer_pid ; struct cred const *sk_peer_cred ; long sk_rcvtimeo ; long sk_sndtimeo ; void *sk_protinfo ; struct timer_list sk_timer ; ktime_t sk_stamp ; struct socket *sk_socket ; void *sk_user_data ; struct page_frag sk_frag ; struct sk_buff *sk_send_head ; __s32 sk_peek_off ; int sk_write_pending ; void *sk_security ; __u32 sk_mark ; u32 sk_classid ; struct cg_proto *sk_cgrp ; void (*sk_state_change)(struct sock * ) ; void (*sk_data_ready)(struct sock * , int ) ; void (*sk_write_space)(struct sock * ) ; void (*sk_error_report)(struct sock * ) ; int (*sk_backlog_rcv)(struct sock * , struct sk_buff * ) ; void (*sk_destruct)(struct sock * ) ; }; struct request_sock_ops; struct timewait_sock_ops; struct inet_hashinfo; struct raw_hashinfo; struct udp_table; union __anonunion_h_263 { struct inet_hashinfo *hashinfo ; struct udp_table *udp_table ; struct raw_hashinfo *raw_hash ; }; struct proto { void (*close)(struct sock * , long ) ; int (*connect)(struct sock * , struct sockaddr * , int ) ; int (*disconnect)(struct sock * , int ) ; struct sock *(*accept)(struct sock * , int , int * ) ; int (*ioctl)(struct sock * , int , unsigned long ) ; int (*init)(struct sock * ) ; void (*destroy)(struct sock * ) ; void (*shutdown)(struct sock * , int ) ; int (*setsockopt)(struct sock * , int , int , char * , unsigned int ) ; int (*getsockopt)(struct sock * , int , int , char * , int * ) ; int (*compat_setsockopt)(struct sock * , int , int , char * , unsigned int ) ; int (*compat_getsockopt)(struct sock * , int , int , char * , int * ) ; int (*compat_ioctl)(struct sock * , unsigned int , unsigned long ) ; int (*sendmsg)(struct kiocb * , struct sock * , struct msghdr * , size_t ) ; int (*recvmsg)(struct kiocb * , struct sock * , struct msghdr * , size_t , int , int , int * ) ; int (*sendpage)(struct sock * , struct page * , int , size_t , int ) ; int (*bind)(struct sock * , struct sockaddr * , int ) ; int (*backlog_rcv)(struct sock * , struct sk_buff * ) ; void (*release_cb)(struct sock * ) ; void (*mtu_reduced)(struct sock * ) ; void (*hash)(struct sock * ) ; void (*unhash)(struct sock * ) ; void (*rehash)(struct sock * ) ; int (*get_port)(struct sock * , unsigned short ) ; void (*clear_sk)(struct sock * , int ) ; unsigned int inuse_idx ; bool (*stream_memory_free)(struct sock const * ) ; void (*enter_memory_pressure)(struct sock * ) ; atomic_long_t *memory_allocated ; struct percpu_counter *sockets_allocated ; int *memory_pressure ; long *sysctl_mem ; int *sysctl_wmem ; int *sysctl_rmem ; int max_header ; bool no_autobind ; struct kmem_cache *slab ; unsigned int obj_size ; int slab_flags ; struct percpu_counter *orphan_count ; struct request_sock_ops *rsk_prot ; struct timewait_sock_ops *twsk_prot ; union __anonunion_h_263 h ; struct module *owner ; char name[32U] ; struct list_head node ; int (*init_cgroup)(struct mem_cgroup * , struct cgroup_subsys * ) ; void (*destroy_cgroup)(struct mem_cgroup * ) ; struct cg_proto *(*proto_cgroup)(struct mem_cgroup * ) ; }; struct cg_proto { struct res_counter memory_allocated ; struct percpu_counter sockets_allocated ; int memory_pressure ; long sysctl_mem[3U] ; unsigned long flags ; struct mem_cgroup *memcg ; }; struct request_sock_ops { int family ; int obj_size ; struct kmem_cache *slab ; char *slab_name ; int (*rtx_syn_ack)(struct sock * , struct request_sock * ) ; void (*send_ack)(struct sock * , struct sk_buff * , struct request_sock * ) ; void (*send_reset)(struct sock * , struct sk_buff * ) ; void (*destructor)(struct request_sock * ) ; void (*syn_ack_timeout)(struct sock * , struct request_sock * ) ; }; struct request_sock { struct sock_common __req_common ; struct request_sock *dl_next ; u16 mss ; u8 num_retrans ; u8 cookie_ts : 1 ; u8 num_timeout : 7 ; u32 window_clamp ; u32 rcv_wnd ; u32 ts_recent ; unsigned long expires ; struct request_sock_ops const *rsk_ops ; struct sock *sk ; u32 secid ; u32 peer_secid ; }; struct timewait_sock_ops { struct kmem_cache *twsk_slab ; char *twsk_slab_name ; unsigned int twsk_obj_size ; int (*twsk_unique)(struct sock * , struct sock * , void * ) ; void (*twsk_destructor)(struct sock * ) ; }; struct tcphdr { __be16 source ; __be16 dest ; __be32 seq ; __be32 ack_seq ; __u16 res1 : 4 ; __u16 doff : 4 ; __u16 fin : 1 ; __u16 syn : 1 ; __u16 rst : 1 ; __u16 psh : 1 ; __u16 ack : 1 ; __u16 urg : 1 ; __u16 ece : 1 ; __u16 cwr : 1 ; __be16 window ; __sum16 check ; __be16 urg_ptr ; }; struct ipv6hdr { __u8 priority : 4 ; __u8 version : 4 ; __u8 flow_lbl[3U] ; __be16 payload_len ; __u8 nexthdr ; __u8 hop_limit ; struct in6_addr saddr ; struct in6_addr daddr ; }; struct ipv6_devconf { __s32 forwarding ; __s32 hop_limit ; __s32 mtu6 ; __s32 accept_ra ; __s32 accept_redirects ; __s32 autoconf ; __s32 dad_transmits ; __s32 rtr_solicits ; __s32 rtr_solicit_interval ; __s32 rtr_solicit_delay ; __s32 force_mld_version ; __s32 mldv1_unsolicited_report_interval ; __s32 mldv2_unsolicited_report_interval ; __s32 use_tempaddr ; __s32 temp_valid_lft ; __s32 temp_prefered_lft ; __s32 regen_max_retry ; __s32 max_desync_factor ; __s32 max_addresses ; __s32 accept_ra_defrtr ; __s32 accept_ra_pinfo ; __s32 accept_ra_rtr_pref ; __s32 rtr_probe_interval ; __s32 accept_ra_rt_info_max_plen ; __s32 proxy_ndp ; __s32 accept_source_route ; __s32 optimistic_dad ; __s32 mc_forwarding ; __s32 disable_ipv6 ; __s32 accept_dad ; __s32 force_tllao ; __s32 ndisc_notify ; __s32 suppress_frag_ndisc ; void *sysctl ; }; struct ip6_sf_list { struct ip6_sf_list *sf_next ; struct in6_addr sf_addr ; unsigned long sf_count[2U] ; unsigned char sf_gsresp ; unsigned char sf_oldin ; unsigned char sf_crcount ; }; struct ifmcaddr6 { struct in6_addr mca_addr ; struct inet6_dev *idev ; struct ifmcaddr6 *next ; struct ip6_sf_list *mca_sources ; struct ip6_sf_list *mca_tomb ; unsigned int mca_sfmode ; unsigned char mca_crcount ; unsigned long mca_sfcount[2U] ; struct timer_list mca_timer ; unsigned int mca_flags ; int mca_users ; atomic_t mca_refcnt ; spinlock_t mca_lock ; unsigned long mca_cstamp ; unsigned long mca_tstamp ; }; struct ifacaddr6 { struct in6_addr aca_addr ; struct inet6_dev *aca_idev ; struct rt6_info *aca_rt ; struct ifacaddr6 *aca_next ; int aca_users ; atomic_t aca_refcnt ; spinlock_t aca_lock ; unsigned long aca_cstamp ; unsigned long aca_tstamp ; }; struct ipv6_devstat { struct proc_dir_entry *proc_dir_entry ; struct ipstats_mib *ipv6[1U] ; struct icmpv6_mib_device *icmpv6dev ; struct icmpv6msg_mib_device *icmpv6msgdev ; }; struct inet6_dev { struct net_device *dev ; struct list_head addr_list ; struct ifmcaddr6 *mc_list ; struct ifmcaddr6 *mc_tomb ; spinlock_t mc_lock ; unsigned char mc_qrv ; unsigned char mc_gq_running ; unsigned char mc_ifc_count ; unsigned char mc_dad_count ; unsigned long mc_v1_seen ; unsigned long mc_qi ; unsigned long mc_qri ; unsigned long mc_maxdelay ; struct timer_list mc_gq_timer ; struct timer_list mc_ifc_timer ; struct timer_list mc_dad_timer ; struct ifacaddr6 *ac_list ; rwlock_t lock ; atomic_t refcnt ; __u32 if_flags ; int dead ; u8 rndid[8U] ; struct timer_list regen_timer ; struct list_head tempaddr_list ; struct in6_addr token ; struct neigh_parms *nd_parms ; struct ipv6_devconf cnf ; struct ipv6_devstat stats ; struct timer_list rs_timer ; __u8 rs_probes ; unsigned long tstamp ; struct callback_head rcu ; }; union __anonunion____missing_field_name_280 { __be32 a4 ; __be32 a6[4U] ; }; struct inetpeer_addr_base { union __anonunion____missing_field_name_280 __annonCompField87 ; }; struct inetpeer_addr { struct inetpeer_addr_base addr ; __u16 family ; }; union __anonunion____missing_field_name_281 { struct list_head gc_list ; struct callback_head gc_rcu ; }; struct __anonstruct____missing_field_name_283 { atomic_t rid ; atomic_t ip_id_count ; }; union __anonunion____missing_field_name_282 { struct __anonstruct____missing_field_name_283 __annonCompField89 ; struct callback_head rcu ; struct inet_peer *gc_next ; }; struct inet_peer { struct inet_peer *avl_left ; struct inet_peer *avl_right ; struct inetpeer_addr daddr ; __u32 avl_height ; u32 metrics[15U] ; u32 rate_tokens ; unsigned long rate_last ; union __anonunion____missing_field_name_281 __annonCompField88 ; union __anonunion____missing_field_name_282 __annonCompField90 ; __u32 dtime ; atomic_t refcnt ; }; struct inet_peer_base { struct inet_peer *root ; seqlock_t lock ; u32 flush_seq ; int total ; }; struct rtable { struct dst_entry dst ; int rt_genid ; unsigned int rt_flags ; __u16 rt_type ; __u8 rt_is_input ; __u8 rt_uses_gateway ; int rt_iif ; __be32 rt_gateway ; u32 rt_pmtu ; struct list_head rt_uncached ; }; struct vlan_hdr { __be16 h_vlan_TCI ; __be16 h_vlan_encapsulated_proto ; }; struct vlan_ethhdr { unsigned char h_dest[6U] ; unsigned char h_source[6U] ; __be16 h_vlan_proto ; __be16 h_vlan_TCI ; __be16 h_vlan_encapsulated_proto ; }; struct vlan_pcpu_stats { u64 rx_packets ; u64 rx_bytes ; u64 rx_multicast ; u64 tx_packets ; u64 tx_bytes ; struct u64_stats_sync syncp ; u32 rx_errors ; u32 tx_dropped ; }; struct macvlan_port; struct macvtap_queue; struct macvlan_dev { struct net_device *dev ; struct list_head list ; struct hlist_node hlist ; struct macvlan_port *port ; struct net_device *lowerdev ; void *fwd_priv ; struct vlan_pcpu_stats *pcpu_stats ; unsigned long mc_filter[4U] ; netdev_features_t set_features ; enum macvlan_mode mode ; u16 flags ; struct macvtap_queue *taps[16U] ; struct list_head queue_list ; int numvtaps ; int numqueues ; netdev_features_t tap_features ; int minor ; }; struct ptp_clock_time { __s64 sec ; __u32 nsec ; __u32 reserved ; }; struct ptp_extts_request { unsigned int index ; unsigned int flags ; unsigned int rsv[2U] ; }; struct ptp_perout_request { struct ptp_clock_time start ; struct ptp_clock_time period ; unsigned int index ; unsigned int flags ; unsigned int rsv[4U] ; }; enum ldv_35055 { PTP_CLK_REQ_EXTTS = 0, PTP_CLK_REQ_PEROUT = 1, PTP_CLK_REQ_PPS = 2 } ; union __anonunion____missing_field_name_288 { struct ptp_extts_request extts ; struct ptp_perout_request perout ; }; struct ptp_clock_request { enum ldv_35055 type ; union __anonunion____missing_field_name_288 __annonCompField92 ; }; struct ptp_clock_info { struct module *owner ; char name[16U] ; s32 max_adj ; int n_alarm ; int n_ext_ts ; int n_per_out ; int pps ; int (*adjfreq)(struct ptp_clock_info * , s32 ) ; int (*adjtime)(struct ptp_clock_info * , s64 ) ; int (*gettime)(struct ptp_clock_info * , struct timespec * ) ; int (*settime)(struct ptp_clock_info * , struct timespec const * ) ; int (*enable)(struct ptp_clock_info * , struct ptp_clock_request * , int ) ; }; struct ptp_clock; struct mii_ioctl_data { __u16 phy_id ; __u16 reg_num ; __u16 val_in ; __u16 val_out ; }; struct mdio_if_info { int prtad ; u32 mmds ; unsigned int mode_support ; struct net_device *dev ; int (*mdio_read)(struct net_device * , int , int , u16 ) ; int (*mdio_write)(struct net_device * , int , int , u16 , u16 ) ; }; struct ixgbe_thermal_diode_data { u8 location ; u8 temp ; u8 caution_thresh ; u8 max_op_thresh ; }; struct ixgbe_thermal_sensor_data { struct ixgbe_thermal_diode_data sensor[3U] ; }; struct __anonstruct_read_291 { __le64 buffer_addr ; __le32 cmd_type_len ; __le32 olinfo_status ; }; struct __anonstruct_wb_292 { __le64 rsvd ; __le32 nxtseq_seed ; __le32 status ; }; union ixgbe_adv_tx_desc { struct __anonstruct_read_291 read ; struct __anonstruct_wb_292 wb ; }; struct __anonstruct_read_293 { __le64 pkt_addr ; __le64 hdr_addr ; }; struct __anonstruct_hs_rss_297 { __le16 pkt_info ; __le16 hdr_info ; }; union __anonunion_lo_dword_296 { __le32 data ; struct __anonstruct_hs_rss_297 hs_rss ; }; struct __anonstruct_csum_ip_299 { __le16 ip_id ; __le16 csum ; }; union __anonunion_hi_dword_298 { __le32 rss ; struct __anonstruct_csum_ip_299 csum_ip ; }; struct __anonstruct_lower_295 { union __anonunion_lo_dword_296 lo_dword ; union __anonunion_hi_dword_298 hi_dword ; }; struct __anonstruct_upper_300 { __le32 status_error ; __le16 length ; __le16 vlan ; }; struct __anonstruct_wb_294 { struct __anonstruct_lower_295 lower ; struct __anonstruct_upper_300 upper ; }; union ixgbe_adv_rx_desc { struct __anonstruct_read_293 read ; struct __anonstruct_wb_294 wb ; }; typedef u32 ixgbe_autoneg_advertised; typedef u32 ixgbe_link_speed; struct __anonstruct_formatted_301 { u8 vm_pool ; u8 flow_type ; __be16 vlan_id ; __be32 dst_ip[4U] ; __be32 src_ip[4U] ; __be16 src_port ; __be16 dst_port ; __be16 flex_bytes ; __be16 bkt_hash ; }; union ixgbe_atr_input { struct __anonstruct_formatted_301 formatted ; __be32 dword_stream[11U] ; }; struct __anonstruct_formatted_302 { u8 vm_pool ; u8 flow_type ; __be16 vlan_id ; }; struct __anonstruct_port_303 { __be16 src ; __be16 dst ; }; union ixgbe_atr_hash_dword { struct __anonstruct_formatted_302 formatted ; __be32 ip ; struct __anonstruct_port_303 port ; __be16 flex_bytes ; __be32 dword ; }; enum ixgbe_eeprom_type { ixgbe_eeprom_uninitialized = 0, ixgbe_eeprom_spi = 1, ixgbe_flash = 2, ixgbe_eeprom_none = 3 } ; enum ixgbe_mac_type { ixgbe_mac_unknown = 0, ixgbe_mac_82598EB = 1, ixgbe_mac_82599EB = 2, ixgbe_mac_X540 = 3, ixgbe_num_macs = 4 } ; enum ixgbe_phy_type { ixgbe_phy_unknown = 0, ixgbe_phy_none = 1, ixgbe_phy_tn = 2, ixgbe_phy_aq = 3, ixgbe_phy_cu_unknown = 4, ixgbe_phy_qt = 5, ixgbe_phy_xaui = 6, ixgbe_phy_nl = 7, ixgbe_phy_sfp_passive_tyco = 8, ixgbe_phy_sfp_passive_unknown = 9, ixgbe_phy_sfp_active_unknown = 10, ixgbe_phy_sfp_avago = 11, ixgbe_phy_sfp_ftl = 12, ixgbe_phy_sfp_ftl_active = 13, ixgbe_phy_sfp_unknown = 14, ixgbe_phy_sfp_intel = 15, ixgbe_phy_qsfp_passive_unknown = 16, ixgbe_phy_qsfp_active_unknown = 17, ixgbe_phy_qsfp_intel = 18, ixgbe_phy_qsfp_unknown = 19, ixgbe_phy_sfp_unsupported = 20, ixgbe_phy_generic = 21 } ; enum ixgbe_sfp_type { ixgbe_sfp_type_da_cu = 0, ixgbe_sfp_type_sr = 1, ixgbe_sfp_type_lr = 2, ixgbe_sfp_type_da_cu_core0 = 3, ixgbe_sfp_type_da_cu_core1 = 4, ixgbe_sfp_type_srlr_core0 = 5, ixgbe_sfp_type_srlr_core1 = 6, ixgbe_sfp_type_da_act_lmt_core0 = 7, ixgbe_sfp_type_da_act_lmt_core1 = 8, ixgbe_sfp_type_1g_cu_core0 = 9, ixgbe_sfp_type_1g_cu_core1 = 10, ixgbe_sfp_type_1g_sx_core0 = 11, ixgbe_sfp_type_1g_sx_core1 = 12, ixgbe_sfp_type_1g_lx_core0 = 13, ixgbe_sfp_type_1g_lx_core1 = 14, ixgbe_sfp_type_not_present = 65534, ixgbe_sfp_type_unknown = 65535 } ; enum ixgbe_media_type { ixgbe_media_type_unknown = 0, ixgbe_media_type_fiber = 1, ixgbe_media_type_fiber_fixed = 2, ixgbe_media_type_fiber_qsfp = 3, ixgbe_media_type_fiber_lco = 4, ixgbe_media_type_copper = 5, ixgbe_media_type_backplane = 6, ixgbe_media_type_cx4 = 7, ixgbe_media_type_virtual = 8 } ; enum ixgbe_fc_mode { ixgbe_fc_none = 0, ixgbe_fc_rx_pause = 1, ixgbe_fc_tx_pause = 2, ixgbe_fc_full = 3, ixgbe_fc_default = 4 } ; enum ixgbe_smart_speed { ixgbe_smart_speed_auto = 0, ixgbe_smart_speed_on = 1, ixgbe_smart_speed_off = 2 } ; enum ixgbe_bus_type { ixgbe_bus_type_unknown = 0, ixgbe_bus_type_pci = 1, ixgbe_bus_type_pcix = 2, ixgbe_bus_type_pci_express = 3, ixgbe_bus_type_reserved = 4 } ; enum ixgbe_bus_speed { ixgbe_bus_speed_unknown = 0, ixgbe_bus_speed_33 = 33, ixgbe_bus_speed_66 = 66, ixgbe_bus_speed_100 = 100, ixgbe_bus_speed_120 = 120, ixgbe_bus_speed_133 = 133, ixgbe_bus_speed_2500 = 2500, ixgbe_bus_speed_5000 = 5000, ixgbe_bus_speed_8000 = 8000, ixgbe_bus_speed_reserved = 8001 } ; enum ixgbe_bus_width { ixgbe_bus_width_unknown = 0, ixgbe_bus_width_pcie_x1 = 1, ixgbe_bus_width_pcie_x2 = 2, ixgbe_bus_width_pcie_x4 = 4, ixgbe_bus_width_pcie_x8 = 8, ixgbe_bus_width_32 = 32, ixgbe_bus_width_64 = 64, ixgbe_bus_width_reserved = 65 } ; struct ixgbe_addr_filter_info { u32 num_mc_addrs ; u32 rar_used_count ; u32 mta_in_use ; u32 overflow_promisc ; bool uc_set_promisc ; bool user_set_promisc ; }; struct ixgbe_bus_info { enum ixgbe_bus_speed speed ; enum ixgbe_bus_width width ; enum ixgbe_bus_type type ; u16 func ; u16 lan_id ; }; struct ixgbe_fc_info { u32 high_water[8U] ; u32 low_water ; u16 pause_time ; bool send_xon ; bool strict_ieee ; bool disable_fc_autoneg ; bool fc_was_autonegged ; enum ixgbe_fc_mode current_mode ; enum ixgbe_fc_mode requested_mode ; }; struct ixgbe_hw_stats { u64 crcerrs ; u64 illerrc ; u64 errbc ; u64 mspdc ; u64 mpctotal ; u64 mpc[8U] ; u64 mlfc ; u64 mrfc ; u64 rlec ; u64 lxontxc ; u64 lxonrxc ; u64 lxofftxc ; u64 lxoffrxc ; u64 pxontxc[8U] ; u64 pxonrxc[8U] ; u64 pxofftxc[8U] ; u64 pxoffrxc[8U] ; u64 prc64 ; u64 prc127 ; u64 prc255 ; u64 prc511 ; u64 prc1023 ; u64 prc1522 ; u64 gprc ; u64 bprc ; u64 mprc ; u64 gptc ; u64 gorc ; u64 gotc ; u64 rnbc[8U] ; u64 ruc ; u64 rfc ; u64 roc ; u64 rjc ; u64 mngprc ; u64 mngpdc ; u64 mngptc ; u64 tor ; u64 tpr ; u64 tpt ; u64 ptc64 ; u64 ptc127 ; u64 ptc255 ; u64 ptc511 ; u64 ptc1023 ; u64 ptc1522 ; u64 mptc ; u64 bptc ; u64 xec ; u64 rqsmr[16U] ; u64 tqsmr[8U] ; u64 qprc[16U] ; u64 qptc[16U] ; u64 qbrc[16U] ; u64 qbtc[16U] ; u64 qprdc[16U] ; u64 pxon2offc[8U] ; u64 fdirustat_add ; u64 fdirustat_remove ; u64 fdirfstat_fadd ; u64 fdirfstat_fremove ; u64 fdirmatch ; u64 fdirmiss ; u64 fccrc ; u64 fcoerpdc ; u64 fcoeprc ; u64 fcoeptc ; u64 fcoedwrc ; u64 fcoedwtc ; u64 fcoe_noddp ; u64 fcoe_noddp_ext_buff ; u64 b2ospc ; u64 b2ogprc ; u64 o2bgptc ; u64 o2bspc ; }; struct ixgbe_hw; struct ixgbe_eeprom_operations { s32 (*init_params)(struct ixgbe_hw * ) ; s32 (*read)(struct ixgbe_hw * , u16 , u16 * ) ; s32 (*read_buffer)(struct ixgbe_hw * , u16 , u16 , u16 * ) ; s32 (*write)(struct ixgbe_hw * , u16 , u16 ) ; s32 (*write_buffer)(struct ixgbe_hw * , u16 , u16 , u16 * ) ; s32 (*validate_checksum)(struct ixgbe_hw * , u16 * ) ; s32 (*update_checksum)(struct ixgbe_hw * ) ; u16 (*calc_checksum)(struct ixgbe_hw * ) ; }; struct ixgbe_mac_operations { s32 (*init_hw)(struct ixgbe_hw * ) ; s32 (*reset_hw)(struct ixgbe_hw * ) ; s32 (*start_hw)(struct ixgbe_hw * ) ; s32 (*clear_hw_cntrs)(struct ixgbe_hw * ) ; enum ixgbe_media_type (*get_media_type)(struct ixgbe_hw * ) ; u32 (*get_supported_physical_layer)(struct ixgbe_hw * ) ; s32 (*get_mac_addr)(struct ixgbe_hw * , u8 * ) ; s32 (*get_san_mac_addr)(struct ixgbe_hw * , u8 * ) ; s32 (*get_device_caps)(struct ixgbe_hw * , u16 * ) ; s32 (*get_wwn_prefix)(struct ixgbe_hw * , u16 * , u16 * ) ; s32 (*stop_adapter)(struct ixgbe_hw * ) ; s32 (*get_bus_info)(struct ixgbe_hw * ) ; void (*set_lan_id)(struct ixgbe_hw * ) ; s32 (*read_analog_reg8)(struct ixgbe_hw * , u32 , u8 * ) ; s32 (*write_analog_reg8)(struct ixgbe_hw * , u32 , u8 ) ; s32 (*setup_sfp)(struct ixgbe_hw * ) ; s32 (*disable_rx_buff)(struct ixgbe_hw * ) ; s32 (*enable_rx_buff)(struct ixgbe_hw * ) ; s32 (*enable_rx_dma)(struct ixgbe_hw * , u32 ) ; s32 (*acquire_swfw_sync)(struct ixgbe_hw * , u16 ) ; void (*release_swfw_sync)(struct ixgbe_hw * , u16 ) ; void (*disable_tx_laser)(struct ixgbe_hw * ) ; void (*enable_tx_laser)(struct ixgbe_hw * ) ; void (*flap_tx_laser)(struct ixgbe_hw * ) ; void (*stop_link_on_d3)(struct ixgbe_hw * ) ; s32 (*setup_link)(struct ixgbe_hw * , ixgbe_link_speed , bool ) ; s32 (*check_link)(struct ixgbe_hw * , ixgbe_link_speed * , bool * , bool ) ; s32 (*get_link_capabilities)(struct ixgbe_hw * , ixgbe_link_speed * , bool * ) ; void (*set_rxpba)(struct ixgbe_hw * , int , u32 , int ) ; s32 (*led_on)(struct ixgbe_hw * , u32 ) ; s32 (*led_off)(struct ixgbe_hw * , u32 ) ; s32 (*blink_led_start)(struct ixgbe_hw * , u32 ) ; s32 (*blink_led_stop)(struct ixgbe_hw * , u32 ) ; s32 (*set_rar)(struct ixgbe_hw * , u32 , u8 * , u32 , u32 ) ; s32 (*clear_rar)(struct ixgbe_hw * , u32 ) ; s32 (*set_vmdq)(struct ixgbe_hw * , u32 , u32 ) ; s32 (*set_vmdq_san_mac)(struct ixgbe_hw * , u32 ) ; s32 (*clear_vmdq)(struct ixgbe_hw * , u32 , u32 ) ; s32 (*init_rx_addrs)(struct ixgbe_hw * ) ; s32 (*update_mc_addr_list)(struct ixgbe_hw * , struct net_device * ) ; s32 (*enable_mc)(struct ixgbe_hw * ) ; s32 (*disable_mc)(struct ixgbe_hw * ) ; s32 (*clear_vfta)(struct ixgbe_hw * ) ; s32 (*set_vfta)(struct ixgbe_hw * , u32 , u32 , bool ) ; s32 (*init_uta_tables)(struct ixgbe_hw * ) ; void (*set_mac_anti_spoofing)(struct ixgbe_hw * , bool , int ) ; void (*set_vlan_anti_spoofing)(struct ixgbe_hw * , bool , int ) ; s32 (*fc_enable)(struct ixgbe_hw * ) ; s32 (*set_fw_drv_ver)(struct ixgbe_hw * , u8 , u8 , u8 , u8 ) ; s32 (*get_thermal_sensor_data)(struct ixgbe_hw * ) ; s32 (*init_thermal_sensor_thresh)(struct ixgbe_hw * ) ; bool (*mng_fw_enabled)(struct ixgbe_hw * ) ; }; struct ixgbe_phy_operations { s32 (*identify)(struct ixgbe_hw * ) ; s32 (*identify_sfp)(struct ixgbe_hw * ) ; s32 (*init)(struct ixgbe_hw * ) ; s32 (*reset)(struct ixgbe_hw * ) ; s32 (*read_reg)(struct ixgbe_hw * , u32 , u32 , u16 * ) ; s32 (*write_reg)(struct ixgbe_hw * , u32 , u32 , u16 ) ; s32 (*read_reg_mdi)(struct ixgbe_hw * , u32 , u32 , u16 * ) ; s32 (*write_reg_mdi)(struct ixgbe_hw * , u32 , u32 , u16 ) ; s32 (*setup_link)(struct ixgbe_hw * ) ; s32 (*setup_link_speed)(struct ixgbe_hw * , ixgbe_link_speed , bool ) ; s32 (*check_link)(struct ixgbe_hw * , ixgbe_link_speed * , bool * ) ; s32 (*get_firmware_version)(struct ixgbe_hw * , u16 * ) ; s32 (*read_i2c_byte)(struct ixgbe_hw * , u8 , u8 , u8 * ) ; s32 (*write_i2c_byte)(struct ixgbe_hw * , u8 , u8 , u8 ) ; s32 (*read_i2c_sff8472)(struct ixgbe_hw * , u8 , u8 * ) ; s32 (*read_i2c_eeprom)(struct ixgbe_hw * , u8 , u8 * ) ; s32 (*write_i2c_eeprom)(struct ixgbe_hw * , u8 , u8 ) ; s32 (*check_overtemp)(struct ixgbe_hw * ) ; }; struct ixgbe_eeprom_info { struct ixgbe_eeprom_operations ops ; enum ixgbe_eeprom_type type ; u32 semaphore_delay ; u16 word_size ; u16 address_bits ; u16 word_page_size ; }; struct ixgbe_mac_info { struct ixgbe_mac_operations ops ; enum ixgbe_mac_type type ; u8 addr[6U] ; u8 perm_addr[6U] ; u8 san_addr[6U] ; u16 wwnn_prefix ; u16 wwpn_prefix ; u16 max_msix_vectors ; u32 mta_shadow[128U] ; s32 mc_filter_type ; u32 mcft_size ; u32 vft_size ; u32 num_rar_entries ; u32 rar_highwater ; u32 rx_pb_size ; u32 max_tx_queues ; u32 max_rx_queues ; u32 orig_autoc ; u32 cached_autoc ; u32 orig_autoc2 ; bool orig_link_settings_stored ; bool autotry_restart ; u8 flags ; u8 san_mac_rar_index ; struct ixgbe_thermal_sensor_data thermal_sensor_data ; }; struct ixgbe_phy_info { struct ixgbe_phy_operations ops ; struct mdio_if_info mdio ; enum ixgbe_phy_type type ; u32 id ; enum ixgbe_sfp_type sfp_type ; bool sfp_setup_needed ; u32 revision ; enum ixgbe_media_type media_type ; bool reset_disable ; ixgbe_autoneg_advertised autoneg_advertised ; enum ixgbe_smart_speed smart_speed ; bool smart_speed_active ; bool multispeed_fiber ; bool reset_if_overtemp ; bool qsfp_shared_i2c_bus ; }; struct ixgbe_mbx_operations; struct ixgbe_mbx_operations { s32 (*init_params)(struct ixgbe_hw * ) ; s32 (*read)(struct ixgbe_hw * , u32 * , u16 , u16 ) ; s32 (*write)(struct ixgbe_hw * , u32 * , u16 , u16 ) ; s32 (*read_posted)(struct ixgbe_hw * , u32 * , u16 , u16 ) ; s32 (*write_posted)(struct ixgbe_hw * , u32 * , u16 , u16 ) ; s32 (*check_for_msg)(struct ixgbe_hw * , u16 ) ; s32 (*check_for_ack)(struct ixgbe_hw * , u16 ) ; s32 (*check_for_rst)(struct ixgbe_hw * , u16 ) ; }; struct ixgbe_mbx_stats { u32 msgs_tx ; u32 msgs_rx ; u32 acks ; u32 reqs ; u32 rsts ; }; struct ixgbe_mbx_info { struct ixgbe_mbx_operations ops ; struct ixgbe_mbx_stats stats ; u32 timeout ; u32 usec_delay ; u32 v2p_mailbox ; u16 size ; }; struct ixgbe_hw { u8 *hw_addr ; void *back ; struct ixgbe_mac_info mac ; struct ixgbe_addr_filter_info addr_ctrl ; struct ixgbe_fc_info fc ; struct ixgbe_phy_info phy ; struct ixgbe_eeprom_info eeprom ; struct ixgbe_bus_info bus ; struct ixgbe_mbx_info mbx ; u16 device_id ; u16 vendor_id ; u16 subsystem_device_id ; u16 subsystem_vendor_id ; u8 revision_id ; bool adapter_stopped ; bool force_full_reset ; bool allow_unsupported_sfp ; bool mng_fw_enabled ; bool wol_enabled ; }; struct ixgbe_info { enum ixgbe_mac_type mac ; s32 (*get_invariants)(struct ixgbe_hw * ) ; struct ixgbe_mac_operations *mac_ops ; struct ixgbe_eeprom_operations *eeprom_ops ; struct ixgbe_phy_operations *phy_ops ; struct ixgbe_mbx_operations *mbx_ops ; }; enum strict_prio_type { prio_none = 0, prio_group = 1, prio_link = 2 } ; struct dcb_support { u32 capabilities ; u8 traffic_classes ; u8 pfc_traffic_classes ; }; struct tc_bw_alloc { u8 bwg_id ; u8 bwg_percent ; u8 link_percent ; u8 up_to_tc_bitmap ; u16 data_credits_refill ; u16 data_credits_max ; enum strict_prio_type prio_type ; }; enum dcb_pfc_type { pfc_disabled = 0, pfc_enabled_full = 1, pfc_enabled_tx = 2, pfc_enabled_rx = 3 } ; struct tc_configuration { struct tc_bw_alloc path[2U] ; enum dcb_pfc_type dcb_pfc ; u16 desc_credits_max ; u8 tc ; }; struct dcb_num_tcs { u8 pg_tcs ; u8 pfc_tcs ; }; struct ixgbe_dcb_config { struct dcb_support support ; struct dcb_num_tcs num_tcs ; struct tc_configuration tc_config[8U] ; u8 bw_percentage[2U][8U] ; bool pfc_mode_enable ; u32 dcb_cfg_version ; u32 link_speed ; }; struct ixgbe_fcoe_ddp { int len ; u32 err ; unsigned int sgc ; struct scatterlist *sgl ; dma_addr_t udp ; u64 *udl ; struct dma_pool *pool ; }; struct ixgbe_fcoe_ddp_pool { struct dma_pool *pool ; u64 noddp ; u64 noddp_ext_buff ; }; struct ixgbe_fcoe { struct ixgbe_fcoe_ddp_pool *ddp_pool ; atomic_t refcnt ; spinlock_t lock ; struct ixgbe_fcoe_ddp ddp[512U] ; void *extra_ddp_buffer ; dma_addr_t extra_ddp_buffer_dma ; unsigned long mode ; u8 up ; }; struct vf_data_storage { unsigned char vf_mac_addresses[6U] ; u16 vf_mc_hashes[30U] ; u16 num_vf_mc_hashes ; u16 default_vf_vlan_id ; u16 vlans_enabled ; bool clear_to_send ; bool pf_set_mac ; u16 pf_vlan ; u16 pf_qos ; u16 tx_rate ; u16 vlan_count ; u8 spoofchk_enabled ; unsigned int vf_api ; }; struct vf_macvlans { struct list_head l ; int vf ; int rar_entry ; bool free ; bool is_macvlan ; u8 vf_macvlan[6U] ; }; struct ixgbe_tx_buffer { union ixgbe_adv_tx_desc *next_to_watch ; unsigned long time_stamp ; struct sk_buff *skb ; unsigned int bytecount ; unsigned short gso_segs ; __be16 protocol ; dma_addr_t dma ; __u32 len ; u32 tx_flags ; }; struct ixgbe_rx_buffer { struct sk_buff *skb ; dma_addr_t dma ; struct page *page ; unsigned int page_offset ; }; struct ixgbe_queue_stats { u64 packets ; u64 bytes ; u64 yields ; u64 misses ; u64 cleaned ; }; struct ixgbe_tx_queue_stats { u64 restart_queue ; u64 tx_busy ; u64 tx_done_old ; }; struct ixgbe_rx_queue_stats { u64 rsc_count ; u64 rsc_flush ; u64 non_eop_descs ; u64 alloc_rx_page_failed ; u64 alloc_rx_buff_failed ; u64 csum_err ; }; struct ixgbe_adapter; struct ixgbe_fwd_adapter { unsigned long active_vlans[64U] ; struct net_device *netdev ; struct ixgbe_adapter *real_adapter ; unsigned int tx_base_queue ; unsigned int rx_base_queue ; int pool ; }; struct ixgbe_q_vector; union __anonunion____missing_field_name_304 { struct ixgbe_tx_buffer *tx_buffer_info ; struct ixgbe_rx_buffer *rx_buffer_info ; }; struct __anonstruct____missing_field_name_306 { u8 atr_sample_rate ; u8 atr_count ; }; union __anonunion____missing_field_name_305 { u16 next_to_alloc ; struct __anonstruct____missing_field_name_306 __annonCompField95 ; }; union __anonunion____missing_field_name_307 { struct ixgbe_tx_queue_stats tx_stats ; struct ixgbe_rx_queue_stats rx_stats ; }; struct ixgbe_ring { struct ixgbe_ring *next ; struct ixgbe_q_vector *q_vector ; struct net_device *netdev ; struct device *dev ; struct ixgbe_fwd_adapter *l2_accel_priv ; void *desc ; union __anonunion____missing_field_name_304 __annonCompField94 ; unsigned long last_rx_timestamp ; unsigned long state ; u8 *tail ; dma_addr_t dma ; unsigned int size ; u16 count ; u8 queue_index ; u8 reg_idx ; u16 next_to_use ; u16 next_to_clean ; union __anonunion____missing_field_name_305 __annonCompField96 ; u8 dcb_tc ; struct ixgbe_queue_stats stats ; struct u64_stats_sync syncp ; union __anonunion____missing_field_name_307 __annonCompField97 ; }; struct ixgbe_ring_feature { u16 limit ; u16 indices ; u16 mask ; u16 offset ; }; struct ixgbe_ring_container { struct ixgbe_ring *ring ; unsigned int total_bytes ; unsigned int total_packets ; u16 work_limit ; u8 count ; u8 itr ; }; struct ixgbe_q_vector { struct ixgbe_adapter *adapter ; int cpu ; u16 v_idx ; u16 itr ; struct ixgbe_ring_container rx ; struct ixgbe_ring_container tx ; struct napi_struct napi ; cpumask_t affinity_mask ; int numa_node ; struct callback_head rcu ; char name[25U] ; unsigned int state ; spinlock_t lock ; struct ixgbe_ring ring[0U] ; }; struct hwmon_attr { struct device_attribute dev_attr ; struct ixgbe_hw *hw ; struct ixgbe_thermal_diode_data *sensor ; char name[12U] ; }; struct hwmon_buff { struct attribute_group group ; struct attribute_group const *groups[2U] ; struct attribute *attrs[13U] ; struct hwmon_attr hwmon_list[12U] ; unsigned int n_hwmon ; }; struct ixgbe_adapter { unsigned long active_vlans[64U] ; struct net_device *netdev ; struct pci_dev *pdev ; unsigned long state ; u32 flags ; u32 flags2 ; int num_tx_queues ; u16 tx_itr_setting ; u16 tx_work_limit ; int num_rx_queues ; u16 rx_itr_setting ; struct ixgbe_ring *tx_ring[64U] ; u64 restart_queue ; u64 lsc_int ; u32 tx_timeout_count ; struct ixgbe_ring *rx_ring[64U] ; int num_rx_pools ; int num_rx_queues_per_pool ; u64 hw_csum_rx_error ; u64 hw_rx_no_dma_resources ; u64 rsc_total_count ; u64 rsc_total_flush ; u64 non_eop_descs ; u32 alloc_rx_page_failed ; u32 alloc_rx_buff_failed ; struct ixgbe_q_vector *q_vector[64U] ; struct ieee_pfc *ixgbe_ieee_pfc ; struct ieee_ets *ixgbe_ieee_ets ; struct ixgbe_dcb_config dcb_cfg ; struct ixgbe_dcb_config temp_dcb_cfg ; u8 dcb_set_bitmap ; u8 dcbx_cap ; enum ixgbe_fc_mode last_lfc_mode ; int num_q_vectors ; int max_q_vectors ; struct ixgbe_ring_feature ring_feature[5U] ; struct msix_entry *msix_entries ; u32 test_icr ; struct ixgbe_ring test_tx_ring ; struct ixgbe_ring test_rx_ring ; struct ixgbe_hw hw ; u16 msg_enable ; struct ixgbe_hw_stats stats ; u64 tx_busy ; unsigned int tx_ring_count ; unsigned int rx_ring_count ; u32 link_speed ; bool link_up ; unsigned long link_check_timeout ; struct timer_list service_timer ; struct work_struct service_task ; struct hlist_head fdir_filter_list ; unsigned long fdir_overflow ; union ixgbe_atr_input fdir_mask ; int fdir_filter_count ; u32 fdir_pballoc ; u32 atr_sample_rate ; spinlock_t fdir_perfect_lock ; struct ixgbe_fcoe fcoe ; u8 *io_addr ; u32 wol ; u16 bd_number ; u16 eeprom_verh ; u16 eeprom_verl ; u16 eeprom_cap ; u32 interrupt_event ; u32 led_reg ; struct ptp_clock *ptp_clock ; struct ptp_clock_info ptp_caps ; struct work_struct ptp_tx_work ; struct sk_buff *ptp_tx_skb ; unsigned long ptp_tx_start ; unsigned long last_overflow_check ; unsigned long last_rx_ptp_check ; spinlock_t tmreg_lock ; struct cyclecounter cc ; struct timecounter tc ; u32 base_incval ; unsigned long active_vfs[1U] ; unsigned int num_vfs ; struct vf_data_storage *vfinfo ; int vf_rate_link_speed ; struct vf_macvlans vf_mvs ; struct vf_macvlans *mv_list ; u32 timer_event_accumulator ; u32 vferr_refcount ; struct kobject *info_kobj ; struct hwmon_buff *ixgbe_hwmon_buff ; struct dentry *ixgbe_dbg_adapter ; u8 default_up ; unsigned long fwd_bitmask ; }; struct ixgbe_fdir_filter { struct hlist_node fdir_node ; union ixgbe_atr_input filter ; u16 sw_idx ; u16 action ; }; union __anonunion____missing_field_name_308 { struct sk_buff *head ; struct sk_buff *tail ; }; struct ixgbe_cb { union __anonunion____missing_field_name_308 __annonCompField98 ; dma_addr_t dma ; u16 append_cnt ; bool page_released ; }; struct ixgbe_reg_info { u32 ofs ; char *name ; }; struct my_u0 { u64 a ; u64 b ; }; union __anonunion_hdr_310 { unsigned char *network ; struct ethhdr *eth ; struct vlan_hdr *vlan ; struct iphdr *ipv4 ; struct ipv6hdr *ipv6 ; }; union __anonunion_hdr_312 { unsigned char *network ; struct iphdr *ipv4 ; struct ipv6hdr *ipv6 ; }; typedef int ldv_func_ret_type; typedef int ldv_func_ret_type___0; typedef int ldv_func_ret_type___1; typedef int ldv_func_ret_type___2; typedef int ldv_func_ret_type___3; typedef int ldv_func_ret_type___4; typedef int ldv_func_ret_type___5; typedef struct net_device *ldv_func_ret_type___6; typedef int ldv_func_ret_type___7; typedef int ldv_func_ret_type___8; enum hrtimer_restart; union __anonunion_cmd_or_resp_248 { u8 cmd_resv ; u8 ret_status ; }; struct ixgbe_hic_hdr { u8 cmd ; u8 buf_len ; union __anonunion_cmd_or_resp_248 cmd_or_resp ; u8 checksum ; }; struct ixgbe_hic_drv_info { struct ixgbe_hic_hdr hdr ; u8 port_num ; u8 ver_sub ; u8 ver_build ; u8 ver_min ; u8 ver_maj ; u8 pad ; u16 pad2 ; }; enum hrtimer_restart; struct ixgbe_stats { char stat_string[32U] ; int type ; int sizeof_stat ; int stat_offset ; }; struct ixgbe_reg_test { u16 reg ; u8 array_len ; u8 test_type ; u32 mask ; u32 write ; }; enum hrtimer_restart; enum hrtimer_restart; enum hrtimer_restart; enum hrtimer_restart; enum hrtimer_restart; enum hrtimer_restart; enum hrtimer_restart; struct ixgbe_adv_tx_context_desc { __le32 vlan_macip_lens ; __le32 seqnum_seed ; __le32 type_tucmd_mlhl ; __le32 mss_l4len_idx ; }; enum hrtimer_restart; struct hwtstamp_config { int flags ; int tx_type ; int rx_filter ; }; struct pps_event_time { struct timespec ts_real ; }; union __anonunion____missing_field_name_247 { u64 timestamp ; struct pps_event_time pps_times ; }; struct ptp_clock_event { int type ; int index ; union __anonunion____missing_field_name_247 __annonCompField77 ; }; enum hrtimer_restart; enum hrtimer_restart; enum hrtimer_restart; enum hrtimer_restart; enum hrtimer_restart; enum hrtimer_restart; enum hrtimer_restart; struct bio_vec; union __anonunion____missing_field_name_132 { struct list_head list ; struct llist_node llist ; }; struct call_single_data { union __anonunion____missing_field_name_132 __annonCompField32 ; void (*func)(void * ) ; void *info ; u16 flags ; }; struct bio_set; struct bio; struct bio_integrity_payload; typedef void bio_end_io_t(struct bio * , int ); struct bio_vec { struct page *bv_page ; unsigned int bv_len ; unsigned int bv_offset ; }; struct bvec_iter { sector_t bi_sector ; unsigned int bi_size ; unsigned int bi_idx ; unsigned int bi_bvec_done ; }; struct bio { struct bio *bi_next ; struct block_device *bi_bdev ; unsigned long bi_flags ; unsigned long bi_rw ; struct bvec_iter bi_iter ; unsigned int bi_phys_segments ; unsigned int bi_seg_front_size ; unsigned int bi_seg_back_size ; atomic_t bi_remaining ; bio_end_io_t *bi_end_io ; void *bi_private ; struct io_context *bi_ioc ; struct cgroup_subsys_state *bi_css ; struct bio_integrity_payload *bi_integrity ; unsigned short bi_vcnt ; unsigned short bi_max_vecs ; atomic_t bi_cnt ; struct bio_vec *bi_io_vec ; struct bio_set *bi_pool ; struct bio_vec bi_inline_vecs[0U] ; }; struct hd_geometry; struct block_device_operations; struct fc_frame_header { __u8 fh_r_ctl ; __u8 fh_d_id[3U] ; __u8 fh_cs_ctl ; __u8 fh_s_id[3U] ; __u8 fh_type ; __u8 fh_f_ctl[3U] ; __u8 fh_seq_id ; __u8 fh_df_ctl ; __be16 fh_seq_cnt ; __be16 fh_ox_id ; __be16 fh_rx_id ; __be32 fh_parm_offset ; }; struct fcoe_hdr { __u8 fcoe_ver ; __u8 fcoe_resvd[12U] ; __u8 fcoe_sof ; }; struct fcoe_crc_eof { __le32 fcoe_crc32 ; __u8 fcoe_eof ; __u8 fcoe_resvd[3U] ; }; struct disk_stats { unsigned long sectors[2U] ; unsigned long ios[2U] ; unsigned long merges[2U] ; unsigned long ticks[2U] ; unsigned long io_ticks ; unsigned long time_in_queue ; }; struct partition_meta_info { char uuid[37U] ; u8 volname[64U] ; }; struct hd_struct { sector_t start_sect ; sector_t nr_sects ; seqcount_t nr_sects_seq ; sector_t alignment_offset ; unsigned int discard_alignment ; struct device __dev ; struct kobject *holder_dir ; int policy ; int partno ; struct partition_meta_info *info ; int make_it_fail ; unsigned long stamp ; atomic_t in_flight[2U] ; struct disk_stats *dkstats ; atomic_t ref ; struct callback_head callback_head ; }; struct disk_part_tbl { struct callback_head callback_head ; int len ; struct hd_struct *last_lookup ; struct hd_struct *part[] ; }; struct disk_events; struct timer_rand_state; struct blk_integrity; struct gendisk { int major ; int first_minor ; int minors ; char disk_name[32U] ; char *(*devnode)(struct gendisk * , umode_t * ) ; unsigned int events ; unsigned int async_events ; struct disk_part_tbl *part_tbl ; struct hd_struct part0 ; struct block_device_operations const *fops ; struct request_queue *queue ; void *private_data ; int flags ; struct device *driverfs_dev ; struct kobject *slave_dir ; struct timer_rand_state *random ; atomic_t sync_io ; struct disk_events *ev ; struct blk_integrity *integrity ; int node_id ; }; struct fprop_local_percpu { struct percpu_counter events ; unsigned int period ; raw_spinlock_t lock ; }; enum writeback_sync_modes { WB_SYNC_NONE = 0, WB_SYNC_ALL = 1 } ; struct writeback_control { long nr_to_write ; long pages_skipped ; loff_t range_start ; loff_t range_end ; enum writeback_sync_modes sync_mode ; unsigned int for_kupdate : 1 ; unsigned int for_background : 1 ; unsigned int tagged_writepages : 1 ; unsigned int for_reclaim : 1 ; unsigned int range_cyclic : 1 ; unsigned int for_sync : 1 ; }; struct bdi_writeback; typedef int congested_fn(void * , int ); struct bdi_writeback { struct backing_dev_info *bdi ; unsigned int nr ; unsigned long last_old_flush ; struct delayed_work dwork ; struct list_head b_dirty ; struct list_head b_io ; struct list_head b_more_io ; spinlock_t list_lock ; }; struct backing_dev_info { struct list_head bdi_list ; unsigned long ra_pages ; unsigned long state ; unsigned int capabilities ; congested_fn *congested_fn ; void *congested_data ; char *name ; struct percpu_counter bdi_stat[4U] ; unsigned long bw_time_stamp ; unsigned long dirtied_stamp ; unsigned long written_stamp ; unsigned long write_bandwidth ; unsigned long avg_write_bandwidth ; unsigned long dirty_ratelimit ; unsigned long balanced_dirty_ratelimit ; struct fprop_local_percpu completions ; int dirty_exceeded ; unsigned int min_ratio ; unsigned int max_ratio ; unsigned int max_prop_frac ; struct bdi_writeback wb ; spinlock_t wb_lock ; struct list_head work_list ; struct device *dev ; struct timer_list laptop_mode_wb_timer ; struct dentry *debug_dir ; struct dentry *debug_stats ; }; typedef void *mempool_alloc_t(gfp_t , void * ); typedef void mempool_free_t(void * , void * ); struct mempool_s { spinlock_t lock ; int min_nr ; int curr_nr ; void **elements ; void *pool_data ; mempool_alloc_t *alloc ; mempool_free_t *free ; wait_queue_head_t wait ; }; typedef struct mempool_s mempool_t; union __anonunion____missing_field_name_297 { struct list_head q_node ; struct kmem_cache *__rcu_icq_cache ; }; union __anonunion____missing_field_name_298 { struct hlist_node ioc_node ; struct callback_head __rcu_head ; }; struct io_cq { struct request_queue *q ; struct io_context *ioc ; union __anonunion____missing_field_name_297 __annonCompField97 ; union __anonunion____missing_field_name_298 __annonCompField98 ; unsigned int flags ; }; struct io_context { atomic_long_t refcount ; atomic_t active_ref ; atomic_t nr_tasks ; spinlock_t lock ; unsigned short ioprio ; int nr_batch_requests ; unsigned long last_waited ; struct radix_tree_root icq_tree ; struct io_cq *icq_hint ; struct hlist_head icq_list ; struct work_struct release_work ; }; struct bio_integrity_payload { struct bio *bip_bio ; struct bvec_iter bip_iter ; void *bip_buf ; bio_end_io_t *bip_end_io ; unsigned short bip_slab ; unsigned short bip_vcnt ; unsigned int bip_owns_buf : 1 ; struct work_struct bip_work ; struct bio_vec *bip_vec ; struct bio_vec bip_inline_vecs[0U] ; }; struct bio_list { struct bio *head ; struct bio *tail ; }; struct bio_set { struct kmem_cache *bio_slab ; unsigned int front_pad ; mempool_t *bio_pool ; mempool_t *bvec_pool ; mempool_t *bio_integrity_pool ; mempool_t *bvec_integrity_pool ; spinlock_t rescue_lock ; struct bio_list rescue_list ; struct work_struct rescue_work ; struct workqueue_struct *rescue_workqueue ; }; struct bsg_class_device { struct device *class_dev ; struct device *parent ; int minor ; struct request_queue *queue ; struct kref ref ; void (*release)(struct device * ) ; }; struct elevator_queue; struct blk_trace; struct request; struct bsg_job; struct blkcg_gq; typedef void rq_end_io_fn(struct request * , int ); struct request_list { struct request_queue *q ; struct blkcg_gq *blkg ; int count[2U] ; int starved[2U] ; mempool_t *rq_pool ; wait_queue_head_t wait[2U] ; unsigned int flags ; }; enum rq_cmd_type_bits { REQ_TYPE_FS = 1, REQ_TYPE_BLOCK_PC = 2, REQ_TYPE_SENSE = 3, REQ_TYPE_PM_SUSPEND = 4, REQ_TYPE_PM_RESUME = 5, REQ_TYPE_PM_SHUTDOWN = 6, REQ_TYPE_SPECIAL = 7, REQ_TYPE_ATA_TASKFILE = 8, REQ_TYPE_ATA_PC = 9 } ; union __anonunion____missing_field_name_299 { struct call_single_data csd ; struct work_struct mq_flush_work ; }; struct blk_mq_ctx; union __anonunion____missing_field_name_300 { struct rb_node rb_node ; void *completion_data ; }; struct __anonstruct_elv_302 { struct io_cq *icq ; void *priv[2U] ; }; struct __anonstruct_flush_303 { unsigned int seq ; struct list_head list ; rq_end_io_fn *saved_end_io ; }; union __anonunion____missing_field_name_301 { struct __anonstruct_elv_302 elv ; struct __anonstruct_flush_303 flush ; }; struct request { struct list_head queuelist ; union __anonunion____missing_field_name_299 __annonCompField99 ; struct request_queue *q ; struct blk_mq_ctx *mq_ctx ; u64 cmd_flags ; enum rq_cmd_type_bits cmd_type ; unsigned long atomic_flags ; int cpu ; unsigned int __data_len ; sector_t __sector ; struct bio *bio ; struct bio *biotail ; struct hlist_node hash ; union __anonunion____missing_field_name_300 __annonCompField100 ; union __anonunion____missing_field_name_301 __annonCompField101 ; struct gendisk *rq_disk ; struct hd_struct *part ; unsigned long start_time ; struct request_list *rl ; unsigned long long start_time_ns ; unsigned long long io_start_time_ns ; unsigned short nr_phys_segments ; unsigned short nr_integrity_segments ; unsigned short ioprio ; void *special ; char *buffer ; int tag ; int errors ; unsigned char __cmd[16U] ; unsigned char *cmd ; unsigned short cmd_len ; unsigned int extra_len ; unsigned int sense_len ; unsigned int resid_len ; void *sense ; unsigned long deadline ; struct list_head timeout_list ; unsigned int timeout ; int retries ; rq_end_io_fn *end_io ; void *end_io_data ; struct request *next_rq ; }; struct elevator_type; typedef int elevator_merge_fn(struct request_queue * , struct request ** , struct bio * ); typedef void elevator_merge_req_fn(struct request_queue * , struct request * , struct request * ); typedef void elevator_merged_fn(struct request_queue * , struct request * , int ); typedef int elevator_allow_merge_fn(struct request_queue * , struct request * , struct bio * ); typedef void elevator_bio_merged_fn(struct request_queue * , struct request * , struct bio * ); typedef int elevator_dispatch_fn(struct request_queue * , int ); typedef void elevator_add_req_fn(struct request_queue * , struct request * ); typedef struct request *elevator_request_list_fn(struct request_queue * , struct request * ); typedef void elevator_completed_req_fn(struct request_queue * , struct request * ); typedef int elevator_may_queue_fn(struct request_queue * , int ); typedef void elevator_init_icq_fn(struct io_cq * ); typedef void elevator_exit_icq_fn(struct io_cq * ); typedef int elevator_set_req_fn(struct request_queue * , struct request * , struct bio * , gfp_t ); typedef void elevator_put_req_fn(struct request * ); typedef void elevator_activate_req_fn(struct request_queue * , struct request * ); typedef void elevator_deactivate_req_fn(struct request_queue * , struct request * ); typedef int elevator_init_fn(struct request_queue * , struct elevator_type * ); typedef void elevator_exit_fn(struct elevator_queue * ); struct elevator_ops { elevator_merge_fn *elevator_merge_fn ; elevator_merged_fn *elevator_merged_fn ; elevator_merge_req_fn *elevator_merge_req_fn ; elevator_allow_merge_fn *elevator_allow_merge_fn ; elevator_bio_merged_fn *elevator_bio_merged_fn ; elevator_dispatch_fn *elevator_dispatch_fn ; elevator_add_req_fn *elevator_add_req_fn ; elevator_activate_req_fn *elevator_activate_req_fn ; elevator_deactivate_req_fn *elevator_deactivate_req_fn ; elevator_completed_req_fn *elevator_completed_req_fn ; elevator_request_list_fn *elevator_former_req_fn ; elevator_request_list_fn *elevator_latter_req_fn ; elevator_init_icq_fn *elevator_init_icq_fn ; elevator_exit_icq_fn *elevator_exit_icq_fn ; elevator_set_req_fn *elevator_set_req_fn ; elevator_put_req_fn *elevator_put_req_fn ; elevator_may_queue_fn *elevator_may_queue_fn ; elevator_init_fn *elevator_init_fn ; elevator_exit_fn *elevator_exit_fn ; }; struct elv_fs_entry { struct attribute attr ; ssize_t (*show)(struct elevator_queue * , char * ) ; ssize_t (*store)(struct elevator_queue * , char const * , size_t ) ; }; struct elevator_type { struct kmem_cache *icq_cache ; struct elevator_ops ops ; size_t icq_size ; size_t icq_align ; struct elv_fs_entry *elevator_attrs ; char elevator_name[16U] ; struct module *elevator_owner ; char icq_cache_name[21U] ; struct list_head list ; }; struct elevator_queue { struct elevator_type *type ; void *elevator_data ; struct kobject kobj ; struct mutex sysfs_lock ; unsigned int registered : 1 ; struct hlist_head hash[64U] ; }; typedef void request_fn_proc(struct request_queue * ); typedef void make_request_fn(struct request_queue * , struct bio * ); typedef int prep_rq_fn(struct request_queue * , struct request * ); typedef void unprep_rq_fn(struct request_queue * , struct request * ); struct bvec_merge_data { struct block_device *bi_bdev ; sector_t bi_sector ; unsigned int bi_size ; unsigned long bi_rw ; }; typedef int merge_bvec_fn(struct request_queue * , struct bvec_merge_data * , struct bio_vec * ); typedef void softirq_done_fn(struct request * ); typedef int dma_drain_needed_fn(struct request * ); typedef int lld_busy_fn(struct request_queue * ); typedef int bsg_job_fn(struct bsg_job * ); enum blk_eh_timer_return { BLK_EH_NOT_HANDLED = 0, BLK_EH_HANDLED = 1, BLK_EH_RESET_TIMER = 2 } ; typedef enum blk_eh_timer_return rq_timed_out_fn(struct request * ); struct blk_queue_tag { struct request **tag_index ; unsigned long *tag_map ; int busy ; int max_depth ; int real_max_depth ; atomic_t refcnt ; }; struct queue_limits { unsigned long bounce_pfn ; unsigned long seg_boundary_mask ; unsigned int max_hw_sectors ; unsigned int max_sectors ; unsigned int max_segment_size ; unsigned int physical_block_size ; unsigned int alignment_offset ; unsigned int io_min ; unsigned int io_opt ; unsigned int max_discard_sectors ; unsigned int max_write_same_sectors ; unsigned int discard_granularity ; unsigned int discard_alignment ; unsigned short logical_block_size ; unsigned short max_segments ; unsigned short max_integrity_segments ; unsigned char misaligned ; unsigned char discard_misaligned ; unsigned char cluster ; unsigned char discard_zeroes_data ; unsigned char raid_partial_stripes_expensive ; }; struct blk_mq_ops; struct blk_mq_hw_ctx; struct throtl_data; struct request_queue { struct list_head queue_head ; struct request *last_merge ; struct elevator_queue *elevator ; int nr_rqs[2U] ; int nr_rqs_elvpriv ; struct request_list root_rl ; request_fn_proc *request_fn ; make_request_fn *make_request_fn ; prep_rq_fn *prep_rq_fn ; unprep_rq_fn *unprep_rq_fn ; merge_bvec_fn *merge_bvec_fn ; softirq_done_fn *softirq_done_fn ; rq_timed_out_fn *rq_timed_out_fn ; dma_drain_needed_fn *dma_drain_needed ; lld_busy_fn *lld_busy_fn ; struct blk_mq_ops *mq_ops ; unsigned int *mq_map ; struct blk_mq_ctx *queue_ctx ; unsigned int nr_queues ; struct blk_mq_hw_ctx **queue_hw_ctx ; unsigned int nr_hw_queues ; sector_t end_sector ; struct request *boundary_rq ; struct delayed_work delay_work ; struct backing_dev_info backing_dev_info ; void *queuedata ; unsigned long queue_flags ; int id ; gfp_t bounce_gfp ; spinlock_t __queue_lock ; spinlock_t *queue_lock ; struct kobject kobj ; struct kobject mq_kobj ; struct device *dev ; int rpm_status ; unsigned int nr_pending ; unsigned long nr_requests ; unsigned int nr_congestion_on ; unsigned int nr_congestion_off ; unsigned int nr_batching ; unsigned int dma_drain_size ; void *dma_drain_buffer ; unsigned int dma_pad_mask ; unsigned int dma_alignment ; struct blk_queue_tag *queue_tags ; struct list_head tag_busy_list ; unsigned int nr_sorted ; unsigned int in_flight[2U] ; unsigned int request_fn_active ; unsigned int rq_timeout ; struct timer_list timeout ; struct list_head timeout_list ; struct list_head icq_list ; unsigned long blkcg_pols[1U] ; struct blkcg_gq *root_blkg ; struct list_head blkg_list ; struct queue_limits limits ; unsigned int sg_timeout ; unsigned int sg_reserved_size ; int node ; struct blk_trace *blk_trace ; unsigned int flush_flags ; unsigned int flush_not_queueable : 1 ; unsigned int flush_queue_delayed : 1 ; unsigned int flush_pending_idx : 1 ; unsigned int flush_running_idx : 1 ; unsigned long flush_pending_since ; struct list_head flush_queue[2U] ; struct list_head flush_data_in_flight ; struct request *flush_rq ; spinlock_t mq_flush_lock ; struct mutex sysfs_lock ; int bypass_depth ; bsg_job_fn *bsg_job_fn ; int bsg_job_size ; struct bsg_class_device bsg_dev ; struct throtl_data *td ; struct callback_head callback_head ; wait_queue_head_t mq_freeze_wq ; struct percpu_counter mq_usage_counter ; struct list_head all_q_node ; }; struct blk_plug { unsigned long magic ; struct list_head list ; struct list_head mq_list ; struct list_head cb_list ; }; struct blk_integrity_exchg { void *prot_buf ; void *data_buf ; sector_t sector ; unsigned int data_size ; unsigned short sector_size ; char const *disk_name ; }; typedef void integrity_gen_fn(struct blk_integrity_exchg * ); typedef int integrity_vrfy_fn(struct blk_integrity_exchg * ); typedef void integrity_set_tag_fn(void * , void * , unsigned int ); typedef void integrity_get_tag_fn(void * , void * , unsigned int ); struct blk_integrity { integrity_gen_fn *generate_fn ; integrity_vrfy_fn *verify_fn ; integrity_set_tag_fn *set_tag_fn ; integrity_get_tag_fn *get_tag_fn ; unsigned short flags ; unsigned short tuple_size ; unsigned short sector_size ; unsigned short tag_size ; char const *name ; struct kobject kobj ; }; struct block_device_operations { int (*open)(struct block_device * , fmode_t ) ; void (*release)(struct gendisk * , fmode_t ) ; int (*ioctl)(struct block_device * , fmode_t , unsigned int , unsigned long ) ; int (*compat_ioctl)(struct block_device * , fmode_t , unsigned int , unsigned long ) ; int (*direct_access)(struct block_device * , sector_t , void ** , unsigned long * ) ; unsigned int (*check_events)(struct gendisk * , unsigned int ) ; int (*media_changed)(struct gendisk * ) ; void (*unlock_native_capacity)(struct gendisk * ) ; int (*revalidate_disk)(struct gendisk * ) ; int (*getgeo)(struct block_device * , struct hd_geometry * ) ; void (*swap_slot_free_notify)(struct block_device * , unsigned long ) ; struct module *owner ; }; struct device_private { void *driver_data ; }; enum hrtimer_restart; struct kthread_work; struct kthread_worker { spinlock_t lock ; struct list_head work_list ; struct task_struct *task ; struct kthread_work *current_work ; }; struct kthread_work { struct list_head node ; void (*func)(struct kthread_work * ) ; wait_queue_head_t done ; struct kthread_worker *worker ; }; struct spi_master; struct spi_device { struct device dev ; struct spi_master *master ; u32 max_speed_hz ; u8 chip_select ; u8 bits_per_word ; u16 mode ; int irq ; void *controller_state ; void *controller_data ; char modalias[32U] ; int cs_gpio ; }; struct spi_message; struct spi_transfer; struct spi_master { struct device dev ; struct list_head list ; s16 bus_num ; u16 num_chipselect ; u16 dma_alignment ; u16 mode_bits ; u32 bits_per_word_mask ; u32 min_speed_hz ; u32 max_speed_hz ; u16 flags ; spinlock_t bus_lock_spinlock ; struct mutex bus_lock_mutex ; bool bus_lock_flag ; int (*setup)(struct spi_device * ) ; int (*transfer)(struct spi_device * , struct spi_message * ) ; void (*cleanup)(struct spi_device * ) ; bool queued ; struct kthread_worker kworker ; struct task_struct *kworker_task ; struct kthread_work pump_messages ; spinlock_t queue_lock ; struct list_head queue ; struct spi_message *cur_msg ; bool busy ; bool running ; bool rt ; bool auto_runtime_pm ; bool cur_msg_prepared ; struct completion xfer_completion ; int (*prepare_transfer_hardware)(struct spi_master * ) ; int (*transfer_one_message)(struct spi_master * , struct spi_message * ) ; int (*unprepare_transfer_hardware)(struct spi_master * ) ; int (*prepare_message)(struct spi_master * , struct spi_message * ) ; int (*unprepare_message)(struct spi_master * , struct spi_message * ) ; void (*set_cs)(struct spi_device * , bool ) ; int (*transfer_one)(struct spi_master * , struct spi_device * , struct spi_transfer * ) ; int *cs_gpios ; }; struct spi_transfer { void const *tx_buf ; void *rx_buf ; unsigned int len ; dma_addr_t tx_dma ; dma_addr_t rx_dma ; unsigned int cs_change : 1 ; unsigned int tx_nbits : 3 ; unsigned int rx_nbits : 3 ; u8 bits_per_word ; u16 delay_usecs ; u32 speed_hz ; struct list_head transfer_list ; }; struct spi_message { struct list_head transfers ; struct spi_device *spi ; unsigned int is_dma_mapped : 1 ; void (*complete)(void * ) ; void *context ; unsigned int frame_length ; unsigned int actual_length ; int status ; struct list_head queue ; void *state ; }; typedef int ldv_map; struct usb_device; struct ldv_thread; struct ldv_thread_set { int number ; struct ldv_thread **threads ; }; struct ldv_thread { int identifier ; void (*function)(void * ) ; }; void __builtin_prefetch(void const * , ...) ; long ldv__builtin_expect(long exp , long c ) ; void ldv_atomic_inc(atomic_t *v ) ; void *ldv_dev_get_drvdata(struct device const *dev ) ; int ldv_dev_set_drvdata(struct device *dev , void *data ) ; void *ldv_err_ptr(long error ) ; void ldv_assume(int expression ) ; void ldv_stop(void) ; void ldv_check_return_value_probe(int retval ) ; void ldv_initialize(void) ; int ldv_post_init(int init_ret_val ) ; extern void ldv_pre_probe(void) ; int ldv_post_probe(int probe_ret_val ) ; static int ldv_ldv_post_probe_40(int ldv_func_arg1 ) ; int ldv_filter_err_code(int ret_val ) ; extern int ldv_pre_register_netdev(void) ; void ldv_check_final_state(void) ; extern void ldv_switch_to_interrupt_context(void) ; extern void ldv_switch_to_process_context(void) ; int ldv_undef_int(void) ; void ldv_free(void *s ) ; void *ldv_xmalloc(size_t size ) ; extern void *external_allocated_data(void) ; __inline static void INIT_LIST_HEAD(struct list_head *list ) { { list->next = list; list->prev = list; return; } } __inline static int hlist_empty(struct hlist_head const *h ) { { return ((unsigned long )h->first == (unsigned long )((struct hlist_node */* const */)0)); } } __inline static void __hlist_del(struct hlist_node *n ) { struct hlist_node *next ; struct hlist_node **pprev ; { next = n->next; pprev = n->pprev; *pprev = next; if ((unsigned long )next != (unsigned long )((struct hlist_node *)0)) { next->pprev = pprev; } else { } return; } } __inline static void hlist_del(struct hlist_node *n ) { { { __hlist_del(n); n->next = (struct hlist_node *)-2401263026317557504L; n->pprev = (struct hlist_node **)-2401263026316508672L; } return; } } extern struct module __this_module ; extern struct pv_irq_ops pv_irq_ops ; __inline static void set_bit(long nr , unsigned long volatile *addr ) { { __asm__ volatile (".pushsection .smp_locks,\"a\"\n.balign 4\n.long 671f - .\n.popsection\n671:\n\tlock; bts %1,%0": "+m" (*((long volatile *)addr)): "Ir" (nr): "memory"); return; } } __inline static void clear_bit(long nr , unsigned long volatile *addr ) { { __asm__ volatile (".pushsection .smp_locks,\"a\"\n.balign 4\n.long 671f - .\n.popsection\n671:\n\tlock; btr %1,%0": "+m" (*((long volatile *)addr)): "Ir" (nr)); return; } } __inline static int test_and_set_bit(long nr , unsigned long volatile *addr ) { { __asm__ volatile ("":); return (0); return (1); } } __inline static int constant_test_bit(long nr , unsigned long const volatile *addr ) { { return ((int )((unsigned long )*(addr + (unsigned long )(nr >> 6)) >> ((int )nr & 63)) & 1); } } __inline static int variable_test_bit(long nr , unsigned long const volatile *addr ) { int oldbit ; { __asm__ volatile ("bt %2,%1\n\tsbb %0,%0": "=r" (oldbit): "m" (*((unsigned long *)addr)), "Ir" (nr)); return (oldbit); } } __inline static int ffs(int x ) { int r ; { __asm__ ("bsfl %1,%0": "=r" (r): "rm" (x), "0" (-1)); return (r + 1); } } extern unsigned long find_next_bit(unsigned long const * , unsigned long , unsigned long ) ; extern unsigned long find_first_bit(unsigned long const * , unsigned long ) ; extern unsigned long find_first_zero_bit(unsigned long const * , unsigned long ) ; __inline static __u16 __fswab16(__u16 val ) { { return ((__u16 )((int )((short )((int )val << 8)) | (int )((short )((int )val >> 8)))); } } extern unsigned long find_last_bit(unsigned long const * , unsigned long ) ; extern int printk(char const * , ...) ; extern int __dynamic_netdev_dbg(struct _ddebug * , struct net_device const * , char const * , ...) ; extern void print_hex_dump(char const * , char const * , int , int , int , void const * , size_t , bool ) ; extern void __might_sleep(char const * , int , int ) ; extern int snprintf(char * , size_t , char const * , ...) ; extern enum system_states system_state ; __inline static void *ERR_PTR(long error ) ; extern void __bad_percpu_size(void) ; extern unsigned long __per_cpu_offset[8192U] ; extern unsigned long __phys_addr(unsigned long ) ; extern void *memcpy(void * , void const * , size_t ) ; extern void *memset(void * , int , size_t ) ; extern char *strcpy(char * , char const * ) ; extern char *strncpy(char * , char const * , __kernel_size_t ) ; extern int __bitmap_weight(unsigned long const * , int ) ; __inline static int bitmap_weight(unsigned long const *src , int nbits ) { int tmp___0 ; { { tmp___0 = __bitmap_weight(src, nbits); } return (tmp___0); } } extern void warn_slowpath_fmt(char const * , int const , char const * , ...) ; extern void warn_slowpath_null(char const * , int const ) ; extern int nr_cpu_ids ; extern struct cpumask const * const cpu_possible_mask ; extern struct cpumask const * const cpu_online_mask ; __inline static unsigned int cpumask_check(unsigned int cpu ) { bool __warned ; int __ret_warn_once ; int __ret_warn_on ; long tmp ; long tmp___0 ; long tmp___1 ; { { __ret_warn_once = cpu >= (unsigned int )nr_cpu_ids; tmp___1 = ldv__builtin_expect(__ret_warn_once != 0, 0L); } if (tmp___1 != 0L) { { __ret_warn_on = ! __warned; tmp = ldv__builtin_expect(__ret_warn_on != 0, 0L); } if (tmp != 0L) { { warn_slowpath_null("include/linux/cpumask.h", 108); } } else { } { tmp___0 = ldv__builtin_expect(__ret_warn_on != 0, 0L); } if (tmp___0 != 0L) { __warned = 1; } else { } } else { } { ldv__builtin_expect(__ret_warn_once != 0, 0L); } return (cpu); } } __inline static unsigned int cpumask_next(int n , struct cpumask const *srcp ) { unsigned long tmp ; { if (n != -1) { { cpumask_check((unsigned int )n); } } else { } { tmp = find_next_bit((unsigned long const *)(& srcp->bits), (unsigned long )nr_cpu_ids, (unsigned long )(n + 1)); } return ((unsigned int )tmp); } } __inline static unsigned int cpumask_weight(struct cpumask const *srcp ) { int tmp ; { { tmp = bitmap_weight((unsigned long const *)(& srcp->bits), nr_cpu_ids); } return ((unsigned int )tmp); } } __inline static unsigned long arch_local_save_flags(void) { unsigned long __ret ; unsigned long __edi ; unsigned long __esi ; unsigned long __edx ; unsigned long __ecx ; unsigned long __eax ; long tmp ; { { __edi = __edi; __esi = __esi; __edx = __edx; __ecx = __ecx; __eax = __eax; tmp = ldv__builtin_expect((unsigned long )pv_irq_ops.save_fl.func == (unsigned long )((void *)0), 0L); } if (tmp != 0L) { { __asm__ volatile ("1:\tud2\n.pushsection __bug_table,\"a\"\n2:\t.long 1b - 2b, %c0 - 2b\n\t.word %c1, 0\n\t.org 2b+%c2\n.popsection": : "i" ((char *)"/home/debian/klever-work/native-scheduler-work-dir/scheduler/jobs/dfbfd2da522a1f5f4786ee57b863db44/klever-core-work-dir/a068ef8/linux-usb-dev/lkbce/arch/x86/include/asm/paravirt.h"), "i" (804), "i" (12UL)); __builtin_unreachable(); } } else { } __asm__ volatile ("771:\n\tcall *%c2;\n772:\n.pushsection .parainstructions,\"a\"\n .balign 8 \n .quad 771b\n .byte %c1\n .byte 772b-771b\n .short %c3\n.popsection\n": "=a" (__eax): [paravirt_typenum] "i" (44UL), [paravirt_opptr] "i" (& pv_irq_ops.save_fl.func), [paravirt_clobber] "i" (1): "memory", "cc"); __ret = __eax; return (__ret); } } __inline static int arch_irqs_disabled_flags(unsigned long flags ) { { return ((flags & 512UL) == 0UL); } } __inline static void prefetchw(void const *x ) { { __asm__ volatile ("661:\n\tprefetcht0 (%1)\n662:\n.pushsection .altinstructions,\"a\"\n .long 661b - .\n .long 6631f - .\n .word (1*32+31)\n .byte 662b-661b\n .byte 6641f-6631f\n.popsection\n.pushsection .discard,\"aw\",@progbits\n .byte 0xff + (6641f-6631f) - (662b-661b)\n.popsection\n.pushsection .altinstr_replacement, \"ax\"\n6631:\n\tprefetchw (%1)\n6641:\n\t.popsection": : "i" (0), "r" (x)); return; } } __inline static int atomic_read(atomic_t const *v ) { { return ((int )*((int volatile *)(& v->counter))); } } __inline static void atomic_set(atomic_t *v , int i ) { { v->counter = i; return; } } __inline static void atomic_inc(atomic_t *v ) ; extern void lockdep_init_map(struct lockdep_map * , char const * , struct lock_class_key * , int ) ; extern void lock_acquire(struct lockdep_map * , unsigned int , int , int , int , struct lockdep_map * , unsigned long ) ; extern void lock_release(struct lockdep_map * , int , unsigned long ) ; extern void lockdep_rcu_suspicious(char const * , int const , char const * ) ; extern int __preempt_count ; __inline static int preempt_count(void) { int pfo_ret__ ; { { if (4UL == 1UL) { goto case_1; } else { } if (4UL == 2UL) { goto case_2; } else { } if (4UL == 4UL) { goto case_4; } else { } if (4UL == 8UL) { goto case_8; } else { } goto switch_default; case_1: /* CIL Label */ __asm__ ("movb %%gs:%P1,%0": "=q" (pfo_ret__): "m" (__preempt_count)); goto ldv_6420; case_2: /* CIL Label */ __asm__ ("movw %%gs:%P1,%0": "=r" (pfo_ret__): "m" (__preempt_count)); goto ldv_6420; case_4: /* CIL Label */ __asm__ ("movl %%gs:%P1,%0": "=r" (pfo_ret__): "m" (__preempt_count)); goto ldv_6420; case_8: /* CIL Label */ __asm__ ("movq %%gs:%P1,%0": "=r" (pfo_ret__): "m" (__preempt_count)); goto ldv_6420; switch_default: /* CIL Label */ { __bad_percpu_size(); } switch_break: /* CIL Label */ ; } ldv_6420: ; return (pfo_ret__ & 2147483647); } } __inline static void __preempt_count_add(int val ) { int pao_ID__ ; { pao_ID__ = 0; { if (4UL == 1UL) { goto case_1; } else { } if (4UL == 2UL) { goto case_2; } else { } if (4UL == 4UL) { goto case_4; } else { } if (4UL == 8UL) { goto case_8; } else { } goto switch_default; case_1: /* CIL Label */ ; if (pao_ID__ == 1) { __asm__ ("incb %%gs:%P0": "+m" (__preempt_count)); } else if (pao_ID__ == -1) { __asm__ ("decb %%gs:%P0": "+m" (__preempt_count)); } else { __asm__ ("addb %1, %%gs:%P0": "+m" (__preempt_count): "qi" (val)); } goto ldv_6477; case_2: /* CIL Label */ ; if (pao_ID__ == 1) { __asm__ ("incw %%gs:%P0": "+m" (__preempt_count)); } else if (pao_ID__ == -1) { __asm__ ("decw %%gs:%P0": "+m" (__preempt_count)); } else { __asm__ ("addw %1, %%gs:%P0": "+m" (__preempt_count): "ri" (val)); } goto ldv_6477; case_4: /* CIL Label */ ; if (pao_ID__ == 1) { __asm__ ("incl %%gs:%P0": "+m" (__preempt_count)); } else if (pao_ID__ == -1) { __asm__ ("decl %%gs:%P0": "+m" (__preempt_count)); } else { __asm__ ("addl %1, %%gs:%P0": "+m" (__preempt_count): "ri" (val)); } goto ldv_6477; case_8: /* CIL Label */ ; if (pao_ID__ == 1) { __asm__ ("incq %%gs:%P0": "+m" (__preempt_count)); } else if (pao_ID__ == -1) { __asm__ ("decq %%gs:%P0": "+m" (__preempt_count)); } else { __asm__ ("addq %1, %%gs:%P0": "+m" (__preempt_count): "re" (val)); } goto ldv_6477; switch_default: /* CIL Label */ { __bad_percpu_size(); } switch_break: /* CIL Label */ ; } ldv_6477: ; return; } } __inline static void __preempt_count_sub(int val ) { int pao_ID__ ; { pao_ID__ = 0; { if (4UL == 1UL) { goto case_1; } else { } if (4UL == 2UL) { goto case_2; } else { } if (4UL == 4UL) { goto case_4; } else { } if (4UL == 8UL) { goto case_8; } else { } goto switch_default; case_1: /* CIL Label */ ; if (pao_ID__ == 1) { __asm__ ("incb %%gs:%P0": "+m" (__preempt_count)); } else if (pao_ID__ == -1) { __asm__ ("decb %%gs:%P0": "+m" (__preempt_count)); } else { __asm__ ("addb %1, %%gs:%P0": "+m" (__preempt_count): "qi" (- val)); } goto ldv_6489; case_2: /* CIL Label */ ; if (pao_ID__ == 1) { __asm__ ("incw %%gs:%P0": "+m" (__preempt_count)); } else if (pao_ID__ == -1) { __asm__ ("decw %%gs:%P0": "+m" (__preempt_count)); } else { __asm__ ("addw %1, %%gs:%P0": "+m" (__preempt_count): "ri" (- val)); } goto ldv_6489; case_4: /* CIL Label */ ; if (pao_ID__ == 1) { __asm__ ("incl %%gs:%P0": "+m" (__preempt_count)); } else if (pao_ID__ == -1) { __asm__ ("decl %%gs:%P0": "+m" (__preempt_count)); } else { __asm__ ("addl %1, %%gs:%P0": "+m" (__preempt_count): "ri" (- val)); } goto ldv_6489; case_8: /* CIL Label */ ; if (pao_ID__ == 1) { __asm__ ("incq %%gs:%P0": "+m" (__preempt_count)); } else if (pao_ID__ == -1) { __asm__ ("decq %%gs:%P0": "+m" (__preempt_count)); } else { __asm__ ("addq %1, %%gs:%P0": "+m" (__preempt_count): "re" (- val)); } goto ldv_6489; switch_default: /* CIL Label */ { __bad_percpu_size(); } switch_break: /* CIL Label */ ; } ldv_6489: ; return; } } extern void __local_bh_disable_ip(unsigned long , unsigned int ) ; __inline static void local_bh_disable(void) { { { __local_bh_disable_ip((unsigned long )((void *)0), 512U); } return; } } extern void __local_bh_enable_ip(unsigned long , unsigned int ) ; __inline static void local_bh_enable(void) { { { __local_bh_enable_ip((unsigned long )((void *)0), 512U); } return; } } extern void __raw_spin_lock_init(raw_spinlock_t * , char const * , struct lock_class_key * ) ; extern void _raw_spin_lock(raw_spinlock_t * ) ; extern void _raw_spin_lock_bh(raw_spinlock_t * ) ; extern void _raw_spin_unlock(raw_spinlock_t * ) ; extern void _raw_spin_unlock_bh(raw_spinlock_t * ) ; __inline static raw_spinlock_t *spinlock_check(spinlock_t *lock ) { { return (& lock->__annonCompField19.rlock); } } __inline static void spin_lock(spinlock_t *lock ) { { { _raw_spin_lock(& lock->__annonCompField19.rlock); } return; } } __inline static void spin_lock_bh(spinlock_t *lock ) { { { _raw_spin_lock_bh(& lock->__annonCompField19.rlock); } return; } } __inline static void spin_unlock(spinlock_t *lock ) { { { _raw_spin_unlock(& lock->__annonCompField19.rlock); } return; } } __inline static void spin_unlock_bh(spinlock_t *lock ) { { { _raw_spin_unlock_bh(& lock->__annonCompField19.rlock); } return; } } __inline static void __rcu_read_lock(void) { { { __preempt_count_add(1); __asm__ volatile ("": : : "memory"); } return; } } __inline static void __rcu_read_unlock(void) { { { __asm__ volatile ("": : : "memory"); __preempt_count_sub(1); } return; } } extern void rcu_barrier(void) ; extern bool rcu_is_watching(void) ; __inline static void rcu_lock_acquire(struct lockdep_map *map ) { { { lock_acquire(map, 0U, 0, 2, 1, (struct lockdep_map *)0, (unsigned long )((void *)0)); } return; } } __inline static void rcu_lock_release(struct lockdep_map *map ) { { { lock_release(map, 1, (unsigned long )((void *)0)); } return; } } extern struct lockdep_map rcu_lock_map ; extern int debug_lockdep_rcu_enabled(void) ; __inline static void rcu_read_lock(void) { bool __warned ; int tmp ; bool tmp___0 ; int tmp___1 ; { { __rcu_read_lock(); rcu_lock_acquire(& rcu_lock_map); tmp = debug_lockdep_rcu_enabled(); } if (tmp != 0 && ! __warned) { { tmp___0 = rcu_is_watching(); } if (tmp___0) { tmp___1 = 0; } else { tmp___1 = 1; } if (tmp___1) { { __warned = 1; lockdep_rcu_suspicious("include/linux/rcupdate.h", 812, "rcu_read_lock() used illegally while idle"); } } else { } } else { } return; } } __inline static void rcu_read_unlock(void) { bool __warned ; int tmp ; bool tmp___0 ; int tmp___1 ; { { tmp = debug_lockdep_rcu_enabled(); } if (tmp != 0 && ! __warned) { { tmp___0 = rcu_is_watching(); } if (tmp___0) { tmp___1 = 0; } else { tmp___1 = 1; } if (tmp___1) { { __warned = 1; lockdep_rcu_suspicious("include/linux/rcupdate.h", 833, "rcu_read_unlock() used illegally while idle"); } } else { } } else { } { rcu_lock_release(& rcu_lock_map); __rcu_read_unlock(); } return; } } extern unsigned long volatile jiffies ; extern void init_timer_key(struct timer_list * , unsigned int , char const * , struct lock_class_key * ) ; extern int mod_timer(struct timer_list * , unsigned long ) ; static int ldv_mod_timer_27(struct timer_list *ldv_func_arg1 , unsigned long ldv_func_arg2 ) ; static int ldv_mod_timer_30(struct timer_list *ldv_func_arg1 , unsigned long ldv_func_arg2 ) ; extern int del_timer_sync(struct timer_list * ) ; static int ldv_del_timer_sync_28(struct timer_list *ldv_func_arg1 ) ; extern void __init_work(struct work_struct * , int ) ; extern struct workqueue_struct *system_wq ; extern bool queue_work_on(int , struct workqueue_struct * , struct work_struct * ) ; extern bool cancel_work_sync(struct work_struct * ) ; __inline static bool queue_work(struct workqueue_struct *wq , struct work_struct *work ) { bool tmp ; { { tmp = queue_work_on(8192, wq, work); } return (tmp); } } __inline static bool schedule_work(struct work_struct *work ) { bool tmp ; { { tmp = queue_work(system_wq, work); } return (tmp); } } __inline static char const *kobject_name(struct kobject const *kobj ) { { return ((char const *)kobj->name); } } extern pg_data_t *node_data[] ; __inline static unsigned int readl(void const volatile *addr ) { unsigned int ret ; { __asm__ volatile ("movl %1,%0": "=r" (ret): "m" (*((unsigned int volatile *)addr)): "memory"); return (ret); } } __inline static void writel(unsigned int val , void volatile *addr ) { { __asm__ volatile ("movl %0,%1": : "r" (val), "m" (*((unsigned int volatile *)addr)): "memory"); return; } } extern void *ioremap_nocache(resource_size_t , unsigned long ) ; __inline static void *ioremap(resource_size_t offset , unsigned long size ) { void *tmp ; { { tmp = ioremap_nocache(offset, size); } return (tmp); } } extern void iounmap(void volatile * ) ; extern void *vzalloc(unsigned long ) ; extern void *vzalloc_node(unsigned long , int ) ; extern void vfree(void const * ) ; extern int cpu_number ; extern void __bad_size_call_parameter(void) ; extern int numa_node ; __inline static int numa_node_id(void) { int pscr_ret__ ; void const *__vpp_verify ; int pfo_ret__ ; int pfo_ret_____0 ; int pfo_ret_____1 ; int pfo_ret_____2 ; { __vpp_verify = (void const *)0; { if (4UL == 1UL) { goto case_1; } else { } if (4UL == 2UL) { goto case_2___0; } else { } if (4UL == 4UL) { goto case_4___1; } else { } if (4UL == 8UL) { goto case_8___2; } else { } goto switch_default___3; case_1: /* CIL Label */ ; { if (4UL == 1UL) { goto case_1___0; } else { } if (4UL == 2UL) { goto case_2; } else { } if (4UL == 4UL) { goto case_4; } else { } if (4UL == 8UL) { goto case_8; } else { } goto switch_default; case_1___0: /* CIL Label */ __asm__ ("movb %%gs:%P1,%0": "=q" (pfo_ret__): "m" (numa_node)); goto ldv_13865; case_2: /* CIL Label */ __asm__ ("movw %%gs:%P1,%0": "=r" (pfo_ret__): "m" (numa_node)); goto ldv_13865; case_4: /* CIL Label */ __asm__ ("movl %%gs:%P1,%0": "=r" (pfo_ret__): "m" (numa_node)); goto ldv_13865; case_8: /* CIL Label */ __asm__ ("movq %%gs:%P1,%0": "=r" (pfo_ret__): "m" (numa_node)); goto ldv_13865; switch_default: /* CIL Label */ { __bad_percpu_size(); } switch_break___0: /* CIL Label */ ; } ldv_13865: pscr_ret__ = pfo_ret__; goto ldv_13871; case_2___0: /* CIL Label */ ; { if (4UL == 1UL) { goto case_1___1; } else { } if (4UL == 2UL) { goto case_2___1; } else { } if (4UL == 4UL) { goto case_4___0; } else { } if (4UL == 8UL) { goto case_8___0; } else { } goto switch_default___0; case_1___1: /* CIL Label */ __asm__ ("movb %%gs:%P1,%0": "=q" (pfo_ret_____0): "m" (numa_node)); goto ldv_13875; case_2___1: /* CIL Label */ __asm__ ("movw %%gs:%P1,%0": "=r" (pfo_ret_____0): "m" (numa_node)); goto ldv_13875; case_4___0: /* CIL Label */ __asm__ ("movl %%gs:%P1,%0": "=r" (pfo_ret_____0): "m" (numa_node)); goto ldv_13875; case_8___0: /* CIL Label */ __asm__ ("movq %%gs:%P1,%0": "=r" (pfo_ret_____0): "m" (numa_node)); goto ldv_13875; switch_default___0: /* CIL Label */ { __bad_percpu_size(); } switch_break___1: /* CIL Label */ ; } ldv_13875: pscr_ret__ = pfo_ret_____0; goto ldv_13871; case_4___1: /* CIL Label */ ; { if (4UL == 1UL) { goto case_1___2; } else { } if (4UL == 2UL) { goto case_2___2; } else { } if (4UL == 4UL) { goto case_4___2; } else { } if (4UL == 8UL) { goto case_8___1; } else { } goto switch_default___1; case_1___2: /* CIL Label */ __asm__ ("movb %%gs:%P1,%0": "=q" (pfo_ret_____1): "m" (numa_node)); goto ldv_13884; case_2___2: /* CIL Label */ __asm__ ("movw %%gs:%P1,%0": "=r" (pfo_ret_____1): "m" (numa_node)); goto ldv_13884; case_4___2: /* CIL Label */ __asm__ ("movl %%gs:%P1,%0": "=r" (pfo_ret_____1): "m" (numa_node)); goto ldv_13884; case_8___1: /* CIL Label */ __asm__ ("movq %%gs:%P1,%0": "=r" (pfo_ret_____1): "m" (numa_node)); goto ldv_13884; switch_default___1: /* CIL Label */ { __bad_percpu_size(); } switch_break___2: /* CIL Label */ ; } ldv_13884: pscr_ret__ = pfo_ret_____1; goto ldv_13871; case_8___2: /* CIL Label */ ; { if (4UL == 1UL) { goto case_1___3; } else { } if (4UL == 2UL) { goto case_2___3; } else { } if (4UL == 4UL) { goto case_4___3; } else { } if (4UL == 8UL) { goto case_8___3; } else { } goto switch_default___2; case_1___3: /* CIL Label */ __asm__ ("movb %%gs:%P1,%0": "=q" (pfo_ret_____2): "m" (numa_node)); goto ldv_13893; case_2___3: /* CIL Label */ __asm__ ("movw %%gs:%P1,%0": "=r" (pfo_ret_____2): "m" (numa_node)); goto ldv_13893; case_4___3: /* CIL Label */ __asm__ ("movl %%gs:%P1,%0": "=r" (pfo_ret_____2): "m" (numa_node)); goto ldv_13893; case_8___3: /* CIL Label */ __asm__ ("movq %%gs:%P1,%0": "=r" (pfo_ret_____2): "m" (numa_node)); goto ldv_13893; switch_default___2: /* CIL Label */ { __bad_percpu_size(); } switch_break___3: /* CIL Label */ ; } ldv_13893: pscr_ret__ = pfo_ret_____2; goto ldv_13871; switch_default___3: /* CIL Label */ { __bad_size_call_parameter(); } goto ldv_13871; switch_break: /* CIL Label */ ; } ldv_13871: ; return (pscr_ret__); } } __inline static int gfp_zonelist(gfp_t flags ) { long tmp ; { { tmp = ldv__builtin_expect((flags & 262144U) != 0U, 0L); } if (tmp != 0L) { return (1); } else { } return (0); } } __inline static struct zonelist *node_zonelist(int nid , gfp_t flags ) { int tmp ; { { tmp = gfp_zonelist(flags); } return ((struct zonelist *)(& (node_data[nid])->node_zonelists) + (unsigned long )tmp); } } extern struct page *__alloc_pages_nodemask(gfp_t , unsigned int , struct zonelist * , nodemask_t * ) ; __inline static struct page *__alloc_pages(gfp_t gfp_mask , unsigned int order , struct zonelist *zonelist ) { struct page *tmp ; { { tmp = __alloc_pages_nodemask(gfp_mask, order, zonelist, (nodemask_t *)0); } return (tmp); } } __inline static struct page *alloc_pages_node(int nid , gfp_t gfp_mask , unsigned int order ) { struct zonelist *tmp ; struct page *tmp___0 ; { if (nid < 0) { { nid = numa_node_id(); } } else { } { tmp = node_zonelist(nid, gfp_mask); tmp___0 = __alloc_pages(gfp_mask, order, tmp); } return (tmp___0); } } extern void __free_pages(struct page * , unsigned int ) ; extern int driver_for_each_device(struct device_driver * , struct device * , void * , int (*)(struct device * , void * ) ) ; extern int device_set_wakeup_enable(struct device * , bool ) ; __inline static char const *dev_name(struct device const *dev ) { char const *tmp ; { if ((unsigned long )dev->init_name != (unsigned long )((char const */* const */)0)) { return ((char const *)dev->init_name); } else { } { tmp = kobject_name(& dev->kobj); } return (tmp); } } __inline static int dev_to_node(struct device *dev ) { { return (dev->numa_node); } } __inline static void set_dev_node(struct device *dev , int node ) { { dev->numa_node = node; return; } } static void *ldv_dev_get_drvdata_16(struct device const *dev ) ; static void *ldv_dev_get_drvdata_18(struct device const *dev ) ; static int ldv_dev_set_drvdata_17(struct device *dev , void *data ) ; extern int dev_err(struct device const * , char const * , ...) ; extern int dev_warn(struct device const * , char const * , ...) ; extern int _dev_info(struct device const * , char const * , ...) ; extern void __const_udelay(unsigned long ) ; extern void msleep(unsigned int ) ; extern void usleep_range(unsigned long , unsigned long ) ; __inline static int PageTail(struct page const *page ) { int tmp ; { { tmp = constant_test_bit(15L, (unsigned long const volatile *)(& page->flags)); } return (tmp); } } __inline static struct page *compound_head(struct page *page ) { struct page *head ; int tmp ; long tmp___0 ; int tmp___1 ; long tmp___2 ; { { tmp___1 = PageTail((struct page const *)page); tmp___2 = ldv__builtin_expect(tmp___1 != 0, 0L); } if (tmp___2 != 0L) { { head = page->__annonCompField46.first_page; __asm__ volatile ("": : : "memory"); tmp = PageTail((struct page const *)page); tmp___0 = ldv__builtin_expect(tmp != 0, 1L); } if (tmp___0 != 0L) { return (head); } else { } } else { } return (page); } } __inline static int page_count(struct page *page ) { struct page *tmp ; int tmp___0 ; { { tmp = compound_head(page); tmp___0 = atomic_read((atomic_t const *)(& tmp->__annonCompField43.__annonCompField42.__annonCompField41._count)); } return (tmp___0); } } extern void put_page(struct page * ) ; __inline static int page_to_nid(struct page const *page ) { { return ((int )(page->flags >> 54)); } } __inline static void *lowmem_page_address(struct page const *page ) { { return ((void *)((unsigned long )((unsigned long long )(((long )page + 24189255811072L) / 64L) << 12) + 0xffff880000000000UL)); } } __inline static void dql_queued(struct dql *dql , unsigned int count ) { long tmp ; { { tmp = ldv__builtin_expect(count > 268435455U, 0L); } if (tmp != 0L) { { __asm__ volatile ("1:\tud2\n.pushsection __bug_table,\"a\"\n2:\t.long 1b - 2b, %c0 - 2b\n\t.word %c1, 0\n\t.org 2b+%c2\n.popsection": : "i" ((char *)"include/linux/dynamic_queue_limits.h"), "i" (74), "i" (12UL)); __builtin_unreachable(); } } else { } dql->num_queued = dql->num_queued + count; dql->last_obj_cnt = count; return; } } __inline static int dql_avail(struct dql const *dql ) { { return ((int )((unsigned int )dql->adj_limit - (unsigned int )dql->num_queued)); } } extern void dql_completed(struct dql * , unsigned int ) ; extern void dql_reset(struct dql * ) ; __inline static void kmemcheck_mark_initialized(void *address , unsigned int n ) { { return; } } extern int net_ratelimit(void) ; extern void kfree(void const * ) ; extern void *__kmalloc(size_t , gfp_t ) ; __inline static void *kmalloc_array(size_t n , size_t size , gfp_t flags ) { void *tmp ; { if (size != 0UL && n > 0xffffffffffffffffUL / size) { return ((void *)0); } else { } { tmp = __kmalloc(n * size, flags); } return (tmp); } } __inline static void *kcalloc(size_t n , size_t size , gfp_t flags ) { void *tmp ; { { tmp = kmalloc_array(n, size, flags | 32768U); } return (tmp); } } __inline static __sum16 csum_fold(__wsum sum ) { { __asm__ (" addl %1,%0\n adcl $0xffff,%0": "=r" (sum): "r" (sum << 16), "0" (sum & 4294901760U)); return ((__sum16 )(~ sum >> 16)); } } __inline static __wsum csum_tcpudp_nofold(__be32 saddr , __be32 daddr , unsigned short len , unsigned short proto , __wsum sum ) { { __asm__ (" addl %1, %0\n adcl %2, %0\n adcl %3, %0\n adcl $0, %0\n": "=r" (sum): "g" (daddr), "g" (saddr), "g" (((int )len + (int )proto) << 8), "0" (sum)); return (sum); } } __inline static __sum16 csum_tcpudp_magic(__be32 saddr , __be32 daddr , unsigned short len , unsigned short proto , __wsum sum ) { __wsum tmp ; __sum16 tmp___0 ; { { tmp = csum_tcpudp_nofold(saddr, daddr, (int )len, (int )proto, sum); tmp___0 = csum_fold(tmp); } return (tmp___0); } } extern __sum16 csum_ipv6_magic(struct in6_addr const * , struct in6_addr const * , __u32 , unsigned short , __wsum ) ; __inline static int valid_dma_direction(int dma_direction ) { { return ((unsigned int )dma_direction <= 2U); } } __inline static int is_device_dma_capable(struct device *dev ) { { return ((unsigned long )dev->dma_mask != (unsigned long )((u64 *)0ULL) && *(dev->dma_mask) != 0ULL); } } extern void debug_dma_map_page(struct device * , struct page * , size_t , size_t , int , dma_addr_t , bool ) ; extern void debug_dma_mapping_error(struct device * , dma_addr_t ) ; extern void debug_dma_unmap_page(struct device * , dma_addr_t , size_t , int , bool ) ; extern void debug_dma_alloc_coherent(struct device * , size_t , dma_addr_t , void * ) ; extern void debug_dma_free_coherent(struct device * , size_t , void * , dma_addr_t ) ; extern void debug_dma_sync_single_range_for_cpu(struct device * , dma_addr_t , unsigned long , size_t , int ) ; extern void debug_dma_sync_single_range_for_device(struct device * , dma_addr_t , unsigned long , size_t , int ) ; extern struct device x86_dma_fallback_dev ; extern struct dma_map_ops *dma_ops ; __inline static struct dma_map_ops *get_dma_ops(struct device *dev ) { long tmp ; { { tmp = ldv__builtin_expect((unsigned long )dev == (unsigned long )((struct device *)0), 0L); } if (tmp != 0L || (unsigned long )dev->archdata.dma_ops == (unsigned long )((struct dma_map_ops *)0)) { return (dma_ops); } else { return (dev->archdata.dma_ops); } } } __inline static dma_addr_t dma_map_single_attrs(struct device *dev , void *ptr , size_t size , enum dma_data_direction dir , struct dma_attrs *attrs ) { struct dma_map_ops *ops ; struct dma_map_ops *tmp ; dma_addr_t addr ; int tmp___0 ; long tmp___1 ; unsigned long tmp___2 ; unsigned long tmp___3 ; { { tmp = get_dma_ops(dev); ops = tmp; kmemcheck_mark_initialized(ptr, (unsigned int )size); tmp___0 = valid_dma_direction((int )dir); tmp___1 = ldv__builtin_expect(tmp___0 == 0, 0L); } if (tmp___1 != 0L) { { __asm__ volatile ("1:\tud2\n.pushsection __bug_table,\"a\"\n2:\t.long 1b - 2b, %c0 - 2b\n\t.word %c1, 0\n\t.org 2b+%c2\n.popsection": : "i" ((char *)"include/asm-generic/dma-mapping-common.h"), "i" (19), "i" (12UL)); __builtin_unreachable(); } } else { } { tmp___2 = __phys_addr((unsigned long )ptr); addr = (*(ops->map_page))(dev, (struct page *)-24189255811072L + (tmp___2 >> 12), (unsigned long )ptr & 4095UL, size, dir, attrs); tmp___3 = __phys_addr((unsigned long )ptr); debug_dma_map_page(dev, (struct page *)-24189255811072L + (tmp___3 >> 12), (unsigned long )ptr & 4095UL, size, (int )dir, addr, 1); } return (addr); } } __inline static void dma_unmap_single_attrs(struct device *dev , dma_addr_t addr , size_t size , enum dma_data_direction dir , struct dma_attrs *attrs ) { struct dma_map_ops *ops ; struct dma_map_ops *tmp ; int tmp___0 ; long tmp___1 ; { { tmp = get_dma_ops(dev); ops = tmp; tmp___0 = valid_dma_direction((int )dir); tmp___1 = ldv__builtin_expect(tmp___0 == 0, 0L); } if (tmp___1 != 0L) { { __asm__ volatile ("1:\tud2\n.pushsection __bug_table,\"a\"\n2:\t.long 1b - 2b, %c0 - 2b\n\t.word %c1, 0\n\t.org 2b+%c2\n.popsection": : "i" ((char *)"include/asm-generic/dma-mapping-common.h"), "i" (36), "i" (12UL)); __builtin_unreachable(); } } else { } if ((unsigned long )ops->unmap_page != (unsigned long )((void (*)(struct device * , dma_addr_t , size_t , enum dma_data_direction , struct dma_attrs * ))0)) { { (*(ops->unmap_page))(dev, addr, size, dir, attrs); } } else { } { debug_dma_unmap_page(dev, addr, size, (int )dir, 1); } return; } } __inline static dma_addr_t dma_map_page(struct device *dev , struct page *page , size_t offset , size_t size , enum dma_data_direction dir ) { struct dma_map_ops *ops ; struct dma_map_ops *tmp ; dma_addr_t addr ; void *tmp___0 ; int tmp___1 ; long tmp___2 ; { { tmp = get_dma_ops(dev); ops = tmp; tmp___0 = lowmem_page_address((struct page const *)page); kmemcheck_mark_initialized(tmp___0 + offset, (unsigned int )size); tmp___1 = valid_dma_direction((int )dir); tmp___2 = ldv__builtin_expect(tmp___1 == 0, 0L); } if (tmp___2 != 0L) { { __asm__ volatile ("1:\tud2\n.pushsection __bug_table,\"a\"\n2:\t.long 1b - 2b, %c0 - 2b\n\t.word %c1, 0\n\t.org 2b+%c2\n.popsection": : "i" ((char *)"include/asm-generic/dma-mapping-common.h"), "i" (79), "i" (12UL)); __builtin_unreachable(); } } else { } { addr = (*(ops->map_page))(dev, page, offset, size, dir, (struct dma_attrs *)0); debug_dma_map_page(dev, page, offset, size, (int )dir, addr, 0); } return (addr); } } __inline static void dma_unmap_page(struct device *dev , dma_addr_t addr , size_t size , enum dma_data_direction dir ) { struct dma_map_ops *ops ; struct dma_map_ops *tmp ; int tmp___0 ; long tmp___1 ; { { tmp = get_dma_ops(dev); ops = tmp; tmp___0 = valid_dma_direction((int )dir); tmp___1 = ldv__builtin_expect(tmp___0 == 0, 0L); } if (tmp___1 != 0L) { { __asm__ volatile ("1:\tud2\n.pushsection __bug_table,\"a\"\n2:\t.long 1b - 2b, %c0 - 2b\n\t.word %c1, 0\n\t.org 2b+%c2\n.popsection": : "i" ((char *)"include/asm-generic/dma-mapping-common.h"), "i" (91), "i" (12UL)); __builtin_unreachable(); } } else { } if ((unsigned long )ops->unmap_page != (unsigned long )((void (*)(struct device * , dma_addr_t , size_t , enum dma_data_direction , struct dma_attrs * ))0)) { { (*(ops->unmap_page))(dev, addr, size, dir, (struct dma_attrs *)0); } } else { } { debug_dma_unmap_page(dev, addr, size, (int )dir, 0); } return; } } __inline static void dma_sync_single_range_for_cpu(struct device *dev , dma_addr_t addr , unsigned long offset , size_t size , enum dma_data_direction dir ) { struct dma_map_ops const *ops ; struct dma_map_ops *tmp ; int tmp___0 ; long tmp___1 ; { { tmp = get_dma_ops(dev); ops = (struct dma_map_ops const *)tmp; tmp___0 = valid_dma_direction((int )dir); tmp___1 = ldv__builtin_expect(tmp___0 == 0, 0L); } if (tmp___1 != 0L) { { __asm__ volatile ("1:\tud2\n.pushsection __bug_table,\"a\"\n2:\t.long 1b - 2b, %c0 - 2b\n\t.word %c1, 0\n\t.org 2b+%c2\n.popsection": : "i" ((char *)"include/asm-generic/dma-mapping-common.h"), "i" (129), "i" (12UL)); __builtin_unreachable(); } } else { } if ((unsigned long )ops->sync_single_for_cpu != (unsigned long )((void (*/* const */)(struct device * , dma_addr_t , size_t , enum dma_data_direction ))0)) { { (*(ops->sync_single_for_cpu))(dev, addr + (unsigned long long )offset, size, dir); } } else { } { debug_dma_sync_single_range_for_cpu(dev, addr, offset, size, (int )dir); } return; } } __inline static void dma_sync_single_range_for_device(struct device *dev , dma_addr_t addr , unsigned long offset , size_t size , enum dma_data_direction dir ) { struct dma_map_ops const *ops ; struct dma_map_ops *tmp ; int tmp___0 ; long tmp___1 ; { { tmp = get_dma_ops(dev); ops = (struct dma_map_ops const *)tmp; tmp___0 = valid_dma_direction((int )dir); tmp___1 = ldv__builtin_expect(tmp___0 == 0, 0L); } if (tmp___1 != 0L) { { __asm__ volatile ("1:\tud2\n.pushsection __bug_table,\"a\"\n2:\t.long 1b - 2b, %c0 - 2b\n\t.word %c1, 0\n\t.org 2b+%c2\n.popsection": : "i" ((char *)"include/asm-generic/dma-mapping-common.h"), "i" (143), "i" (12UL)); __builtin_unreachable(); } } else { } if ((unsigned long )ops->sync_single_for_device != (unsigned long )((void (*/* const */)(struct device * , dma_addr_t , size_t , enum dma_data_direction ))0)) { { (*(ops->sync_single_for_device))(dev, addr + (unsigned long long )offset, size, dir); } } else { } { debug_dma_sync_single_range_for_device(dev, addr, offset, size, (int )dir); } return; } } __inline static int dma_mapping_error(struct device *dev , dma_addr_t dma_addr ) { struct dma_map_ops *ops ; struct dma_map_ops *tmp ; int tmp___0 ; { { tmp = get_dma_ops(dev); ops = tmp; debug_dma_mapping_error(dev, dma_addr); } if ((unsigned long )ops->mapping_error != (unsigned long )((int (*)(struct device * , dma_addr_t ))0)) { { tmp___0 = (*(ops->mapping_error))(dev, dma_addr); } return (tmp___0); } else { } return (dma_addr == 0ULL); } } extern int dma_supported(struct device * , u64 ) ; extern int dma_set_mask(struct device * , u64 ) ; __inline static unsigned long dma_alloc_coherent_mask(struct device *dev , gfp_t gfp ) { unsigned long dma_mask ; { dma_mask = 0UL; dma_mask = (unsigned long )dev->coherent_dma_mask; if (dma_mask == 0UL) { dma_mask = (int )gfp & 1 ? 16777215UL : 4294967295UL; } else { } return (dma_mask); } } __inline static gfp_t dma_alloc_coherent_gfp_flags(struct device *dev , gfp_t gfp ) { unsigned long dma_mask ; unsigned long tmp ; { { tmp = dma_alloc_coherent_mask(dev, gfp); dma_mask = tmp; } if ((unsigned long long )dma_mask <= 16777215ULL) { gfp = gfp | 1U; } else { } if ((unsigned long long )dma_mask <= 4294967295ULL && (gfp & 1U) == 0U) { gfp = gfp | 4U; } else { } return (gfp); } } __inline static void *dma_alloc_attrs(struct device *dev , size_t size , dma_addr_t *dma_handle , gfp_t gfp , struct dma_attrs *attrs ) { struct dma_map_ops *ops ; struct dma_map_ops *tmp ; void *memory ; int tmp___0 ; gfp_t tmp___1 ; { { tmp = get_dma_ops(dev); ops = tmp; gfp = gfp & 4294967288U; } if ((unsigned long )dev == (unsigned long )((struct device *)0)) { dev = & x86_dma_fallback_dev; } else { } { tmp___0 = is_device_dma_capable(dev); } if (tmp___0 == 0) { return ((void *)0); } else { } if ((unsigned long )ops->alloc == (unsigned long )((void *(*)(struct device * , size_t , dma_addr_t * , gfp_t , struct dma_attrs * ))0)) { return ((void *)0); } else { } { tmp___1 = dma_alloc_coherent_gfp_flags(dev, gfp); memory = (*(ops->alloc))(dev, size, dma_handle, tmp___1, attrs); debug_dma_alloc_coherent(dev, size, *dma_handle, memory); } return (memory); } } __inline static void dma_free_attrs(struct device *dev , size_t size , void *vaddr , dma_addr_t bus , struct dma_attrs *attrs ) { struct dma_map_ops *ops ; struct dma_map_ops *tmp ; int __ret_warn_on ; unsigned long _flags ; int tmp___0 ; long tmp___1 ; { { tmp = get_dma_ops(dev); ops = tmp; _flags = arch_local_save_flags(); tmp___0 = arch_irqs_disabled_flags(_flags); __ret_warn_on = tmp___0 != 0; tmp___1 = ldv__builtin_expect(__ret_warn_on != 0, 0L); } if (tmp___1 != 0L) { { warn_slowpath_null("/home/debian/klever-work/native-scheduler-work-dir/scheduler/jobs/dfbfd2da522a1f5f4786ee57b863db44/klever-core-work-dir/a068ef8/linux-usb-dev/lkbce/arch/x86/include/asm/dma-mapping.h", 166); } } else { } { ldv__builtin_expect(__ret_warn_on != 0, 0L); debug_dma_free_coherent(dev, size, vaddr, bus); } if ((unsigned long )ops->free != (unsigned long )((void (*)(struct device * , size_t , void * , dma_addr_t , struct dma_attrs * ))0)) { { (*(ops->free))(dev, size, vaddr, bus, attrs); } } else { } return; } } __inline static int dma_set_coherent_mask(struct device *dev , u64 mask ) { int tmp ; { { tmp = dma_supported(dev, mask); } if (tmp == 0) { return (-5); } else { } dev->coherent_dma_mask = mask; return (0); } } __inline static int dma_set_mask_and_coherent(struct device *dev , u64 mask ) { int rc ; int tmp ; { { tmp = dma_set_mask(dev, mask); rc = tmp; } if (rc == 0) { { dma_set_coherent_mask(dev, mask); } } else { } return (rc); } } __inline static unsigned int skb_frag_size(skb_frag_t const *frag ) { { return ((unsigned int )frag->size); } } __inline static void skb_frag_size_sub(skb_frag_t *frag , int delta ) { { frag->size = frag->size - (__u32 )delta; return; } } extern void consume_skb(struct sk_buff * ) ; extern int pskb_expand_head(struct sk_buff * , int , int , gfp_t ) ; extern int skb_pad(struct sk_buff * , int ) ; __inline static unsigned char *skb_end_pointer(struct sk_buff const *skb ) { { return ((unsigned char *)skb->head + (unsigned long )skb->end); } } __inline static struct sk_buff *skb_get(struct sk_buff *skb ) { { { atomic_inc(& skb->users); } return (skb); } } __inline static int skb_header_cloned(struct sk_buff const *skb ) { int dataref ; unsigned char *tmp ; { if ((unsigned int )*((unsigned char *)skb + 124UL) == 0U) { return (0); } else { } { tmp = skb_end_pointer(skb); dataref = atomic_read((atomic_t const *)(& ((struct skb_shared_info *)tmp)->dataref)); dataref = (dataref & 65535) - (dataref >> 16); } return (dataref != 1); } } __inline static bool skb_is_nonlinear(struct sk_buff const *skb ) { { return ((unsigned int )skb->data_len != 0U); } } __inline static unsigned int skb_headlen(struct sk_buff const *skb ) { { return ((unsigned int )skb->len - (unsigned int )skb->data_len); } } extern void skb_add_rx_frag(struct sk_buff * , int , struct page * , int , int , unsigned int ) ; __inline static unsigned char *skb_tail_pointer(struct sk_buff const *skb ) { { return ((unsigned char *)skb->head + (unsigned long )skb->tail); } } __inline static void skb_reset_tail_pointer(struct sk_buff *skb ) { { skb->tail = (sk_buff_data_t )((long )skb->data) - (sk_buff_data_t )((long )skb->head); return; } } __inline static void skb_set_tail_pointer(struct sk_buff *skb , int const offset ) { { { skb_reset_tail_pointer(skb); skb->tail = skb->tail + (sk_buff_data_t )offset; } return; } } __inline static unsigned char *__skb_put(struct sk_buff *skb , unsigned int len ) { unsigned char *tmp ; unsigned char *tmp___0 ; bool tmp___1 ; long tmp___2 ; { { tmp___0 = skb_tail_pointer((struct sk_buff const *)skb); tmp = tmp___0; tmp___1 = skb_is_nonlinear((struct sk_buff const *)skb); tmp___2 = ldv__builtin_expect((long )tmp___1, 0L); } if (tmp___2 != 0L) { { __asm__ volatile ("1:\tud2\n.pushsection __bug_table,\"a\"\n2:\t.long 1b - 2b, %c0 - 2b\n\t.word %c1, 0\n\t.org 2b+%c2\n.popsection": : "i" ((char *)"include/linux/skbuff.h"), "i" (1498), "i" (12UL)); __builtin_unreachable(); } } else { } skb->tail = skb->tail + len; skb->len = skb->len + len; return (tmp); } } __inline static unsigned char *skb_transport_header(struct sk_buff const *skb ) { { return ((unsigned char *)skb->head + (unsigned long )skb->transport_header); } } __inline static unsigned char *skb_network_header(struct sk_buff const *skb ) { { return ((unsigned char *)skb->head + (unsigned long )skb->network_header); } } __inline static int skb_transport_offset(struct sk_buff const *skb ) { unsigned char *tmp ; { { tmp = skb_transport_header(skb); } return ((int )((unsigned int )((long )tmp) - (unsigned int )((long )skb->data))); } } __inline static u32 skb_network_header_len(struct sk_buff const *skb ) { { return ((u32 )((int )skb->transport_header - (int )skb->network_header)); } } __inline static int skb_network_offset(struct sk_buff const *skb ) { unsigned char *tmp ; { { tmp = skb_network_header(skb); } return ((int )((unsigned int )((long )tmp) - (unsigned int )((long )skb->data))); } } extern struct sk_buff *__netdev_alloc_skb(struct net_device * , unsigned int , gfp_t ) ; __inline static struct sk_buff *__netdev_alloc_skb_ip_align(struct net_device *dev , unsigned int length , gfp_t gfp ) { struct sk_buff *skb ; struct sk_buff *tmp ; { { tmp = __netdev_alloc_skb(dev, length, gfp); skb = tmp; } return (skb); } } __inline static struct sk_buff *netdev_alloc_skb_ip_align(struct net_device *dev , unsigned int length ) { struct sk_buff *tmp ; { { tmp = __netdev_alloc_skb_ip_align(dev, length, 32U); } return (tmp); } } __inline static struct page *__skb_alloc_pages(gfp_t gfp_mask , struct sk_buff *skb , unsigned int order ) { struct page *page ; { gfp_mask = gfp_mask | 256U; if ((gfp_mask & 65536U) == 0U) { gfp_mask = gfp_mask | 8192U; } else { } { page = alloc_pages_node(-1, gfp_mask, order); } if (((unsigned long )skb != (unsigned long )((struct sk_buff *)0) && (unsigned long )page != (unsigned long )((struct page *)0)) && (int )page->__annonCompField43.__annonCompField38.pfmemalloc) { skb->pfmemalloc = 1U; } else { } return (page); } } __inline static struct page *skb_frag_page(skb_frag_t const *frag ) { { return ((struct page *)frag->page.p); } } __inline static void *skb_frag_address(skb_frag_t const *frag ) { struct page *tmp ; void *tmp___0 ; { { tmp = skb_frag_page(frag); tmp___0 = lowmem_page_address((struct page const *)tmp); } return (tmp___0 + (unsigned long )frag->page_offset); } } __inline static dma_addr_t skb_frag_dma_map(struct device *dev , skb_frag_t const *frag , size_t offset , size_t size , enum dma_data_direction dir ) { struct page *tmp ; dma_addr_t tmp___0 ; { { tmp = skb_frag_page(frag); tmp___0 = dma_map_page(dev, tmp, (size_t )frag->page_offset + offset, size, dir); } return (tmp___0); } } extern int skb_copy_bits(struct sk_buff const * , int , void * , int ) ; __inline static void *skb_header_pointer(struct sk_buff const *skb , int offset , int len , void *buffer ) { int hlen ; unsigned int tmp ; int tmp___0 ; { { tmp = skb_headlen(skb); hlen = (int )tmp; } if (hlen - offset >= len) { return ((void *)skb->data + (unsigned long )offset); } else { } { tmp___0 = skb_copy_bits(skb, offset, buffer, len); } if (tmp___0 < 0) { return ((void *)0); } else { } return (buffer); } } __inline static void skb_copy_to_linear_data(struct sk_buff *skb , void const *from , unsigned int const len ) { { { memcpy((void *)skb->data, from, (size_t )len); } return; } } extern void skb_clone_tx_timestamp(struct sk_buff * ) ; extern void skb_tstamp_tx(struct sk_buff * , struct skb_shared_hwtstamps * ) ; __inline static void sw_tx_timestamp(struct sk_buff *skb ) { unsigned char *tmp ; unsigned char *tmp___0 ; { { tmp = skb_end_pointer((struct sk_buff const *)skb); } if (((int )((struct skb_shared_info *)tmp)->tx_flags & 2) != 0) { { tmp___0 = skb_end_pointer((struct sk_buff const *)skb); } if (((int )((struct skb_shared_info *)tmp___0)->tx_flags & 4) == 0) { { skb_tstamp_tx(skb, (struct skb_shared_hwtstamps *)0); } } else { } } else { } return; } } __inline static void skb_tx_timestamp(struct sk_buff *skb ) { { { skb_clone_tx_timestamp(skb); sw_tx_timestamp(skb); } return; } } __inline static void skb_record_rx_queue(struct sk_buff *skb , u16 rx_queue ) { { skb->queue_mapping = (unsigned int )rx_queue + 1U; return; } } __inline static u16 skb_get_rx_queue(struct sk_buff const *skb ) { { return ((unsigned int )((u16 )skb->queue_mapping) + 65535U); } } __inline static bool skb_rx_queue_recorded(struct sk_buff const *skb ) { { return ((unsigned int )((unsigned short )skb->queue_mapping) != 0U); } } __inline static bool skb_is_gso(struct sk_buff const *skb ) { unsigned char *tmp ; { { tmp = skb_end_pointer(skb); } return ((unsigned int )((struct skb_shared_info *)tmp)->gso_size != 0U); } } __inline static bool skb_is_gso_v6(struct sk_buff const *skb ) { unsigned char *tmp ; { { tmp = skb_end_pointer(skb); } return (((int )((struct skb_shared_info *)tmp)->gso_type & 16) != 0); } } __inline static void skb_checksum_none_assert(struct sk_buff const *skb ) { { return; } } __inline static void u64_stats_update_begin(struct u64_stats_sync *syncp ) { { return; } } __inline static unsigned int u64_stats_fetch_begin_bh(struct u64_stats_sync const *syncp ) { { return (0U); } } __inline static bool u64_stats_fetch_retry_bh(struct u64_stats_sync const *syncp , unsigned int start ) { { return (0); } } extern u8 dcb_ieee_getapp_mask(struct net_device * , struct dcb_app * ) ; extern void synchronize_irq(unsigned int ) ; extern void __napi_schedule(struct napi_struct * ) ; __inline static bool napi_disable_pending(struct napi_struct *n ) { int tmp ; { { tmp = constant_test_bit(1L, (unsigned long const volatile *)(& n->state)); } return (tmp != 0); } } __inline static bool napi_schedule_prep(struct napi_struct *n ) { bool tmp ; int tmp___0 ; int tmp___1 ; int tmp___2 ; { { tmp = napi_disable_pending(n); } if (tmp) { tmp___0 = 0; } else { tmp___0 = 1; } if (tmp___0) { { tmp___1 = test_and_set_bit(0L, (unsigned long volatile *)(& n->state)); } if (tmp___1 == 0) { tmp___2 = 1; } else { tmp___2 = 0; } } else { tmp___2 = 0; } return ((bool )tmp___2); } } __inline static void napi_schedule(struct napi_struct *n ) { bool tmp ; { { tmp = napi_schedule_prep(n); } if ((int )tmp) { { __napi_schedule(n); } } else { } return; } } extern void napi_complete(struct napi_struct * ) ; __inline static void napi_disable(struct napi_struct *n ) { int tmp ; { { __might_sleep("include/linux/netdevice.h", 486, 0); set_bit(1L, (unsigned long volatile *)(& n->state)); } goto ldv_37750; ldv_37749: { msleep(1U); } ldv_37750: { tmp = test_and_set_bit(0L, (unsigned long volatile *)(& n->state)); } if (tmp != 0) { goto ldv_37749; } else { } { clear_bit(1L, (unsigned long volatile *)(& n->state)); } return; } } __inline static void napi_enable(struct napi_struct *n ) { int tmp ; long tmp___0 ; { { tmp = constant_test_bit(0L, (unsigned long const volatile *)(& n->state)); tmp___0 = ldv__builtin_expect(tmp == 0, 0L); } if (tmp___0 != 0L) { { __asm__ volatile ("1:\tud2\n.pushsection __bug_table,\"a\"\n2:\t.long 1b - 2b, %c0 - 2b\n\t.word %c1, 0\n\t.org 2b+%c2\n.popsection": : "i" ((char *)"include/linux/netdevice.h"), "i" (502), "i" (12UL)); __builtin_unreachable(); } } else { } { __asm__ volatile ("": : : "memory"); clear_bit(0L, (unsigned long volatile *)(& n->state)); } return; } } __inline static int netdev_get_prio_tc_map(struct net_device const *dev , u32 prio ) { { return ((int )dev->prio_tc_map[prio & 15U]); } } __inline static int netdev_set_prio_tc_map(struct net_device *dev , u8 prio , u8 tc ) { { if ((int )tc >= (int )dev->num_tc) { return (-22); } else { } dev->prio_tc_map[(int )prio & 15] = (unsigned int )tc & 15U; return (0); } } __inline static void netdev_reset_tc(struct net_device *dev ) { { { dev->num_tc = 0U; memset((void *)(& dev->tc_to_txq), 0, 64UL); memset((void *)(& dev->prio_tc_map), 0, 16UL); } return; } } __inline static int netdev_set_num_tc(struct net_device *dev , u8 num_tc ) { { if ((unsigned int )num_tc > 16U) { return (-22); } else { } dev->num_tc = num_tc; return (0); } } __inline static int netdev_get_num_tc(struct net_device *dev ) { { return ((int )dev->num_tc); } } __inline static struct netdev_queue *netdev_get_tx_queue(struct net_device const *dev , unsigned int index ) { { return ((struct netdev_queue *)dev->_tx + (unsigned long )index); } } __inline static void *netdev_priv(struct net_device const *dev ) { { return ((void *)dev + 3200U); } } extern void free_netdev(struct net_device * ) ; static void ldv_free_netdev_33(struct net_device *ldv_func_arg1 ) ; static void ldv_free_netdev_35(struct net_device *ldv_func_arg1 ) ; extern int netpoll_trap(void) ; extern void __netif_schedule(struct Qdisc * ) ; __inline static void netif_schedule_queue(struct netdev_queue *txq ) { { if ((txq->state & 3UL) == 0UL) { { __netif_schedule(txq->qdisc); } } else { } return; } } __inline static void netif_tx_start_queue(struct netdev_queue *dev_queue ) { { { clear_bit(0L, (unsigned long volatile *)(& dev_queue->state)); } return; } } __inline static void netif_tx_start_all_queues(struct net_device *dev ) { unsigned int i ; struct netdev_queue *txq ; struct netdev_queue *tmp ; { i = 0U; goto ldv_38645; ldv_38644: { tmp = netdev_get_tx_queue((struct net_device const *)dev, i); txq = tmp; netif_tx_start_queue(txq); i = i + 1U; } ldv_38645: ; if (i < dev->num_tx_queues) { goto ldv_38644; } else { } return; } } __inline static void netif_tx_stop_queue(struct netdev_queue *dev_queue ) { int __ret_warn_on ; long tmp ; long tmp___0 ; { { __ret_warn_on = (unsigned long )dev_queue == (unsigned long )((struct netdev_queue *)0); tmp = ldv__builtin_expect(__ret_warn_on != 0, 0L); } if (tmp != 0L) { { warn_slowpath_null("include/linux/netdevice.h", 2128); } } else { } { tmp___0 = ldv__builtin_expect(__ret_warn_on != 0, 0L); } if (tmp___0 != 0L) { { printk("\016netif_stop_queue() cannot be called before register_netdev()\n"); } return; } else { } { set_bit(0L, (unsigned long volatile *)(& dev_queue->state)); } return; } } __inline static void netif_tx_stop_all_queues(struct net_device *dev ) { unsigned int i ; struct netdev_queue *txq ; struct netdev_queue *tmp ; { i = 0U; goto ldv_38675; ldv_38674: { tmp = netdev_get_tx_queue((struct net_device const *)dev, i); txq = tmp; netif_tx_stop_queue(txq); i = i + 1U; } ldv_38675: ; if (i < dev->num_tx_queues) { goto ldv_38674; } else { } return; } } __inline static bool netif_tx_queue_stopped(struct netdev_queue const *dev_queue ) { int tmp ; { { tmp = constant_test_bit(0L, (unsigned long const volatile *)(& dev_queue->state)); } return (tmp != 0); } } __inline static void netdev_tx_sent_queue(struct netdev_queue *dev_queue , unsigned int bytes ) { int tmp ; long tmp___0 ; int tmp___1 ; long tmp___2 ; { { dql_queued(& dev_queue->dql, bytes); tmp = dql_avail((struct dql const *)(& dev_queue->dql)); tmp___0 = ldv__builtin_expect(tmp >= 0, 1L); } if (tmp___0 != 0L) { return; } else { } { set_bit(1L, (unsigned long volatile *)(& dev_queue->state)); __asm__ volatile ("mfence": : : "memory"); tmp___1 = dql_avail((struct dql const *)(& dev_queue->dql)); tmp___2 = ldv__builtin_expect(tmp___1 >= 0, 0L); } if (tmp___2 != 0L) { { clear_bit(1L, (unsigned long volatile *)(& dev_queue->state)); } } else { } return; } } __inline static void netdev_tx_completed_queue(struct netdev_queue *dev_queue , unsigned int pkts , unsigned int bytes ) { long tmp ; int tmp___0 ; int tmp___1 ; { { tmp = ldv__builtin_expect(bytes == 0U, 0L); } if (tmp != 0L) { return; } else { } { dql_completed(& dev_queue->dql, bytes); __asm__ volatile ("mfence": : : "memory"); tmp___0 = dql_avail((struct dql const *)(& dev_queue->dql)); } if (tmp___0 < 0) { return; } else { } { tmp___1 = test_and_set_bit(1L, (unsigned long volatile *)(& dev_queue->state)); } if (tmp___1 != 0) { { netif_schedule_queue(dev_queue); } } else { } return; } } __inline static void netdev_tx_reset_queue(struct netdev_queue *q ) { { { clear_bit(1L, (unsigned long volatile *)(& q->state)); dql_reset(& q->dql); } return; } } __inline static bool netif_running(struct net_device const *dev ) { int tmp ; { { tmp = constant_test_bit(0L, (unsigned long const volatile *)(& dev->state)); } return (tmp != 0); } } __inline static void netif_start_subqueue(struct net_device *dev , u16 queue_index ) { struct netdev_queue *txq ; struct netdev_queue *tmp ; { { tmp = netdev_get_tx_queue((struct net_device const *)dev, (unsigned int )queue_index); txq = tmp; netif_tx_start_queue(txq); } return; } } __inline static void netif_stop_subqueue(struct net_device *dev , u16 queue_index ) { struct netdev_queue *txq ; struct netdev_queue *tmp ; int tmp___0 ; { { tmp = netdev_get_tx_queue((struct net_device const *)dev, (unsigned int )queue_index); txq = tmp; tmp___0 = netpoll_trap(); } if (tmp___0 != 0) { return; } else { } { netif_tx_stop_queue(txq); } return; } } __inline static bool __netif_subqueue_stopped(struct net_device const *dev , u16 queue_index ) { struct netdev_queue *txq ; struct netdev_queue *tmp ; bool tmp___0 ; { { tmp = netdev_get_tx_queue(dev, (unsigned int )queue_index); txq = tmp; tmp___0 = netif_tx_queue_stopped((struct netdev_queue const *)txq); } return (tmp___0); } } __inline static void netif_wake_subqueue(struct net_device *dev , u16 queue_index ) { struct netdev_queue *txq ; struct netdev_queue *tmp ; int tmp___0 ; int tmp___1 ; { { tmp = netdev_get_tx_queue((struct net_device const *)dev, (unsigned int )queue_index); txq = tmp; tmp___0 = netpoll_trap(); } if (tmp___0 != 0) { return; } else { } { tmp___1 = test_and_set_bit(0L, (unsigned long volatile *)(& txq->state)); } if (tmp___1 != 0) { { __netif_schedule(txq->qdisc); } } else { } return; } } extern int netif_set_xps_queue(struct net_device * , struct cpumask const * , u16 ) ; extern int netif_set_real_num_tx_queues(struct net_device * , unsigned int ) ; extern int netif_set_real_num_rx_queues(struct net_device * , unsigned int ) ; extern void __dev_kfree_skb_any(struct sk_buff * , enum skb_free_reason ) ; __inline static void dev_kfree_skb_any(struct sk_buff *skb ) { { { __dev_kfree_skb_any(skb, 1); } return; } } extern int netif_rx(struct sk_buff * ) ; extern int netif_receive_skb(struct sk_buff * ) ; extern gro_result_t napi_gro_receive(struct napi_struct * , struct sk_buff * ) ; __inline static bool netif_carrier_ok(struct net_device const *dev ) { int tmp ; { { tmp = constant_test_bit(2L, (unsigned long const volatile *)(& dev->state)); } return (tmp == 0); } } extern void netif_carrier_on(struct net_device * ) ; extern void netif_carrier_off(struct net_device * ) ; extern void netif_device_detach(struct net_device * ) ; extern void netif_device_attach(struct net_device * ) ; __inline static u32 netif_msg_init(int debug_value , int default_msg_enable_bits ) { { if ((unsigned int )debug_value > 31U) { return ((u32 )default_msg_enable_bits); } else { } if (debug_value == 0) { return (0U); } else { } return ((u32 )((1 << debug_value) + -1)); } } __inline static void __netif_tx_lock(struct netdev_queue *txq , int cpu ) { { { spin_lock(& txq->_xmit_lock); txq->xmit_lock_owner = cpu; } return; } } __inline static void __netif_tx_unlock(struct netdev_queue *txq ) { { { txq->xmit_lock_owner = -1; spin_unlock(& txq->_xmit_lock); } return; } } __inline static void netif_tx_disable(struct net_device *dev ) { unsigned int i ; int cpu ; int pscr_ret__ ; void const *__vpp_verify ; int pfo_ret__ ; int pfo_ret_____0 ; int pfo_ret_____1 ; int pfo_ret_____2 ; struct netdev_queue *txq ; struct netdev_queue *tmp ; { { local_bh_disable(); __vpp_verify = (void const *)0; } { if (4UL == 1UL) { goto case_1; } else { } if (4UL == 2UL) { goto case_2___0; } else { } if (4UL == 4UL) { goto case_4___1; } else { } if (4UL == 8UL) { goto case_8___2; } else { } goto switch_default___3; case_1: /* CIL Label */ ; { if (4UL == 1UL) { goto case_1___0; } else { } if (4UL == 2UL) { goto case_2; } else { } if (4UL == 4UL) { goto case_4; } else { } if (4UL == 8UL) { goto case_8; } else { } goto switch_default; case_1___0: /* CIL Label */ __asm__ ("movb %%gs:%P1,%0": "=q" (pfo_ret__): "m" (cpu_number)); goto ldv_39204; case_2: /* CIL Label */ __asm__ ("movw %%gs:%P1,%0": "=r" (pfo_ret__): "m" (cpu_number)); goto ldv_39204; case_4: /* CIL Label */ __asm__ ("movl %%gs:%P1,%0": "=r" (pfo_ret__): "m" (cpu_number)); goto ldv_39204; case_8: /* CIL Label */ __asm__ ("movq %%gs:%P1,%0": "=r" (pfo_ret__): "m" (cpu_number)); goto ldv_39204; switch_default: /* CIL Label */ { __bad_percpu_size(); } switch_break___0: /* CIL Label */ ; } ldv_39204: pscr_ret__ = pfo_ret__; goto ldv_39210; case_2___0: /* CIL Label */ ; { if (4UL == 1UL) { goto case_1___1; } else { } if (4UL == 2UL) { goto case_2___1; } else { } if (4UL == 4UL) { goto case_4___0; } else { } if (4UL == 8UL) { goto case_8___0; } else { } goto switch_default___0; case_1___1: /* CIL Label */ __asm__ ("movb %%gs:%P1,%0": "=q" (pfo_ret_____0): "m" (cpu_number)); goto ldv_39214; case_2___1: /* CIL Label */ __asm__ ("movw %%gs:%P1,%0": "=r" (pfo_ret_____0): "m" (cpu_number)); goto ldv_39214; case_4___0: /* CIL Label */ __asm__ ("movl %%gs:%P1,%0": "=r" (pfo_ret_____0): "m" (cpu_number)); goto ldv_39214; case_8___0: /* CIL Label */ __asm__ ("movq %%gs:%P1,%0": "=r" (pfo_ret_____0): "m" (cpu_number)); goto ldv_39214; switch_default___0: /* CIL Label */ { __bad_percpu_size(); } switch_break___1: /* CIL Label */ ; } ldv_39214: pscr_ret__ = pfo_ret_____0; goto ldv_39210; case_4___1: /* CIL Label */ ; { if (4UL == 1UL) { goto case_1___2; } else { } if (4UL == 2UL) { goto case_2___2; } else { } if (4UL == 4UL) { goto case_4___2; } else { } if (4UL == 8UL) { goto case_8___1; } else { } goto switch_default___1; case_1___2: /* CIL Label */ __asm__ ("movb %%gs:%P1,%0": "=q" (pfo_ret_____1): "m" (cpu_number)); goto ldv_39223; case_2___2: /* CIL Label */ __asm__ ("movw %%gs:%P1,%0": "=r" (pfo_ret_____1): "m" (cpu_number)); goto ldv_39223; case_4___2: /* CIL Label */ __asm__ ("movl %%gs:%P1,%0": "=r" (pfo_ret_____1): "m" (cpu_number)); goto ldv_39223; case_8___1: /* CIL Label */ __asm__ ("movq %%gs:%P1,%0": "=r" (pfo_ret_____1): "m" (cpu_number)); goto ldv_39223; switch_default___1: /* CIL Label */ { __bad_percpu_size(); } switch_break___2: /* CIL Label */ ; } ldv_39223: pscr_ret__ = pfo_ret_____1; goto ldv_39210; case_8___2: /* CIL Label */ ; { if (4UL == 1UL) { goto case_1___3; } else { } if (4UL == 2UL) { goto case_2___3; } else { } if (4UL == 4UL) { goto case_4___3; } else { } if (4UL == 8UL) { goto case_8___3; } else { } goto switch_default___2; case_1___3: /* CIL Label */ __asm__ ("movb %%gs:%P1,%0": "=q" (pfo_ret_____2): "m" (cpu_number)); goto ldv_39232; case_2___3: /* CIL Label */ __asm__ ("movw %%gs:%P1,%0": "=r" (pfo_ret_____2): "m" (cpu_number)); goto ldv_39232; case_4___3: /* CIL Label */ __asm__ ("movl %%gs:%P1,%0": "=r" (pfo_ret_____2): "m" (cpu_number)); goto ldv_39232; case_8___3: /* CIL Label */ __asm__ ("movq %%gs:%P1,%0": "=r" (pfo_ret_____2): "m" (cpu_number)); goto ldv_39232; switch_default___2: /* CIL Label */ { __bad_percpu_size(); } switch_break___3: /* CIL Label */ ; } ldv_39232: pscr_ret__ = pfo_ret_____2; goto ldv_39210; switch_default___3: /* CIL Label */ { __bad_size_call_parameter(); } goto ldv_39210; switch_break: /* CIL Label */ ; } ldv_39210: cpu = pscr_ret__; i = 0U; goto ldv_39242; ldv_39241: { tmp = netdev_get_tx_queue((struct net_device const *)dev, i); txq = tmp; __netif_tx_lock(txq, cpu); netif_tx_stop_queue(txq); __netif_tx_unlock(txq); i = i + 1U; } ldv_39242: ; if (i < dev->num_tx_queues) { goto ldv_39241; } else { } { local_bh_enable(); } return; } } extern int register_netdev(struct net_device * ) ; static int ldv_register_netdev_32(struct net_device *ldv_func_arg1 ) ; extern void unregister_netdev(struct net_device * ) ; static void ldv_unregister_netdev_29(struct net_device *ldv_func_arg1 ) ; static void ldv_unregister_netdev_34(struct net_device *ldv_func_arg1 ) ; extern int dev_addr_add(struct net_device * , unsigned char const * , unsigned char ) ; extern int dev_addr_del(struct net_device * , unsigned char const * , unsigned char ) ; extern int dev_uc_add_excl(struct net_device * , unsigned char const * ) ; extern int dev_mc_add_excl(struct net_device * , unsigned char const * ) ; extern struct net_device *netdev_all_upper_get_next_dev_rcu(struct net_device * , struct list_head ** ) ; __inline static void netif_set_gso_max_size(struct net_device *dev , unsigned int size ) { { dev->gso_max_size = size; return; } } __inline static bool netif_is_macvlan(struct net_device *dev ) { { return ((dev->priv_flags & 2097152U) != 0U); } } extern int netdev_crit(struct net_device const * , char const * , ...) ; extern int netdev_err(struct net_device const * , char const * , ...) ; extern int netdev_warn(struct net_device const * , char const * , ...) ; extern int netdev_info(struct net_device const * , char const * , ...) ; __inline static int pci_channel_offline(struct pci_dev *pdev ) { { return (pdev->error_state != 1U); } } extern void pci_dev_put(struct pci_dev * ) ; extern int pci_find_ext_capability(struct pci_dev * , int ) ; extern struct pci_dev *pci_get_device(unsigned int , unsigned int , struct pci_dev * ) ; extern int pci_bus_read_config_dword(struct pci_bus * , unsigned int , int , u32 * ) ; extern int pci_bus_write_config_dword(struct pci_bus * , unsigned int , int , u32 ) ; __inline static int pci_read_config_dword(struct pci_dev const *dev , int where , u32 *val ) { int tmp ; { { tmp = pci_bus_read_config_dword(dev->bus, dev->devfn, where, val); } return (tmp); } } __inline static int pci_write_config_dword(struct pci_dev const *dev , int where , u32 val ) { int tmp ; { { tmp = pci_bus_write_config_dword(dev->bus, dev->devfn, where, val); } return (tmp); } } extern int pcie_capability_read_word(struct pci_dev * , int , u16 * ) ; extern int pci_enable_device_mem(struct pci_dev * ) ; extern void pci_disable_device(struct pci_dev * ) ; extern void pci_set_master(struct pci_dev * ) ; extern int pcie_get_minimum_link(struct pci_dev * , enum pci_bus_speed * , enum pcie_link_width * ) ; extern int pci_select_bars(struct pci_dev * , unsigned long ) ; extern int pci_save_state(struct pci_dev * ) ; extern void pci_restore_state(struct pci_dev * ) ; extern int pci_set_power_state(struct pci_dev * , pci_power_t ) ; extern int pci_wake_from_d3(struct pci_dev * , bool ) ; extern int pci_prepare_to_sleep(struct pci_dev * ) ; extern int pci_request_selected_regions(struct pci_dev * , int , char const * ) ; extern void pci_release_selected_regions(struct pci_dev * , int ) ; extern int __pci_register_driver(struct pci_driver * , struct module * , char const * ) ; static int ldv___pci_register_driver_36(struct pci_driver *ldv_func_arg1 , struct module *ldv_func_arg2 , char const *ldv_func_arg3 ) ; extern void pci_unregister_driver(struct pci_driver * ) ; static void ldv_pci_unregister_driver_39(struct pci_driver *ldv_func_arg1 ) ; extern void pci_disable_msix(struct pci_dev * ) ; __inline static void *pci_get_drvdata(struct pci_dev *pdev ) { void *tmp ; { { tmp = ldv_dev_get_drvdata_16((struct device const *)(& pdev->dev)); } return (tmp); } } __inline static void pci_set_drvdata(struct pci_dev *pdev , void *data ) { { { ldv_dev_set_drvdata_17(& pdev->dev, data); } return; } } __inline static char const *pci_name(struct pci_dev const *pdev ) { char const *tmp ; { { tmp = dev_name(& pdev->dev); } return (tmp); } } extern int pci_sriov_set_totalvfs(struct pci_dev * , u16 ) ; __inline static int pci_pcie_cap(struct pci_dev *dev ) { { return ((int )dev->pcie_cap); } } __inline static bool pci_is_pcie(struct pci_dev *dev ) { int tmp ; { { tmp = pci_pcie_cap(dev); } return (tmp != 0); } } __inline static u16 pcie_caps_reg(struct pci_dev const *dev ) { { return ((u16 )dev->pcie_flags_reg); } } __inline static int pci_pcie_type(struct pci_dev const *dev ) { u16 tmp ; { { tmp = pcie_caps_reg(dev); } return (((int )tmp & 240) >> 4); } } extern int request_threaded_irq(unsigned int , irqreturn_t (*)(int , void * ) , irqreturn_t (*)(int , void * ) , unsigned long , char const * , void * ) ; __inline static int request_irq(unsigned int irq , irqreturn_t (*handler)(int , void * ) , unsigned long flags , char const *name , void *dev ) { int tmp ; { { tmp = request_threaded_irq(irq, handler, (irqreturn_t (*)(int , void * ))0, flags, name, dev); } return (tmp); } } __inline static int ldv_request_irq_19(unsigned int irq , irqreturn_t (*handler)(int , void * ) , unsigned long flags , char const *name , void *dev ) ; __inline static int ldv_request_irq_20(unsigned int irq , irqreturn_t (*handler)(int , void * ) , unsigned long flags , char const *name , void *dev ) ; __inline static int ldv_request_irq_22(unsigned int irq , irqreturn_t (*handler)(int , void * ) , unsigned long flags , char const *name , void *dev ) ; __inline static int ldv_request_irq_23(unsigned int irq , irqreturn_t (*handler)(int , void * ) , unsigned long flags , char const *name , void *dev ) ; extern void free_irq(unsigned int , void * ) ; static void ldv_free_irq_21(unsigned int ldv_func_arg1 , void *ldv_func_arg2 ) ; static void ldv_free_irq_24(unsigned int ldv_func_arg1 , void *ldv_func_arg2 ) ; static void ldv_free_irq_25(unsigned int ldv_func_arg1 , void *ldv_func_arg2 ) ; static void ldv_free_irq_26(unsigned int ldv_func_arg1 , void *ldv_func_arg2 ) ; extern int irq_set_affinity_hint(unsigned int , struct cpumask const * ) ; __inline static struct iphdr *ip_hdr(struct sk_buff const *skb ) { unsigned char *tmp ; { { tmp = skb_network_header(skb); } return ((struct iphdr *)tmp); } } extern void rtnl_lock(void) ; extern void rtnl_unlock(void) ; extern int ndo_dflt_fdb_add(struct ndmsg * , struct nlattr ** , struct net_device * , unsigned char const * , u16 ) ; extern int ndo_dflt_bridge_getlink(struct sk_buff * , u32 , u32 , struct net_device * , u16 ) ; extern struct nlattr *nla_find(struct nlattr const * , int , int ) ; __inline static void *nlmsg_data(struct nlmsghdr const *nlh ) { { return ((void *)nlh + 16U); } } __inline static int nlmsg_len(struct nlmsghdr const *nlh ) { { return ((int )((unsigned int )nlh->nlmsg_len - 16U)); } } __inline static struct nlattr *nlmsg_attrdata(struct nlmsghdr const *nlh , int hdrlen ) { unsigned char *data ; void *tmp ; { { tmp = nlmsg_data(nlh); data = (unsigned char *)tmp; } return ((struct nlattr *)(data + ((unsigned long )((unsigned int )hdrlen + 3U) & 4294967292UL))); } } __inline static int nlmsg_attrlen(struct nlmsghdr const *nlh , int hdrlen ) { int tmp ; { { tmp = nlmsg_len(nlh); } return ((int )((unsigned int )tmp - (((unsigned int )hdrlen + 3U) & 4294967292U))); } } __inline static struct nlattr *nlmsg_find_attr(struct nlmsghdr const *nlh , int hdrlen , int attrtype ) { int tmp ; struct nlattr *tmp___0 ; struct nlattr *tmp___1 ; { { tmp = nlmsg_attrlen(nlh, hdrlen); tmp___0 = nlmsg_attrdata(nlh, hdrlen); tmp___1 = nla_find((struct nlattr const *)tmp___0, tmp, attrtype); } return (tmp___1); } } __inline static int nla_type(struct nlattr const *nla ) { { return ((int )nla->nla_type & -49153); } } __inline static void *nla_data(struct nlattr const *nla ) { { return ((void *)nla + 4U); } } __inline static int nla_len(struct nlattr const *nla ) { { return ((int )nla->nla_len + -4); } } __inline static int nla_ok(struct nlattr const *nla , int remaining ) { { return ((remaining > 3 && (unsigned int )((unsigned short )nla->nla_len) > 3U) && (int )nla->nla_len <= remaining); } } __inline static struct nlattr *nla_next(struct nlattr const *nla , int *remaining ) { int totlen ; { totlen = ((int )nla->nla_len + 3) & -4; *remaining = *remaining - totlen; return ((struct nlattr *)nla + (unsigned long )totlen); } } __inline static u16 nla_get_u16(struct nlattr const *nla ) { void *tmp ; { { tmp = nla_data(nla); } return (*((u16 *)tmp)); } } __inline static struct tcphdr *tcp_hdr(struct sk_buff const *skb ) { unsigned char *tmp ; { { tmp = skb_transport_header(skb); } return ((struct tcphdr *)tmp); } } __inline static unsigned int tcp_hdrlen(struct sk_buff const *skb ) { struct tcphdr *tmp ; { { tmp = tcp_hdr(skb); } return ((unsigned int )((int )tmp->doff * 4)); } } __inline static struct ipv6hdr *ipv6_hdr(struct sk_buff const *skb ) { unsigned char *tmp ; { { tmp = skb_network_header(skb); } return ((struct ipv6hdr *)tmp); } } extern __be16 eth_type_trans(struct sk_buff * , struct net_device * ) ; extern int eth_validate_addr(struct net_device * ) ; extern struct net_device *alloc_etherdev_mqs(int , unsigned int , unsigned int ) ; static struct net_device *ldv_alloc_etherdev_mqs_31(int ldv_func_arg1 , unsigned int ldv_func_arg2 , unsigned int ldv_func_arg3 ) ; static u8 const eth_reserved_addr_base[6U] = { 1U, 128U, 194U, 0U, 0U, 0U}; __inline static bool is_link_local_ether_addr(u8 const *addr ) { __be16 *a ; __be16 const *b ; __be16 m ; { a = (__be16 *)addr; b = (__be16 const *)(& eth_reserved_addr_base); m = 61695U; return ((((unsigned int )*((u32 const *)addr) ^ (unsigned int )*((u32 const *)b)) | ((unsigned int )((int )*(a + 2UL) ^ (int )((unsigned short )*(b + 2UL))) & 61695U)) == 0U); } } __inline static bool is_zero_ether_addr(u8 const *addr ) { { return (((unsigned int )*((u32 const *)addr) | (unsigned int )*((u16 const *)addr + 4U)) == 0U); } } __inline static bool is_multicast_ether_addr(u8 const *addr ) { { return (((int )*addr & 1) != 0); } } __inline static bool is_unicast_ether_addr(u8 const *addr ) { bool tmp ; int tmp___0 ; { { tmp = is_multicast_ether_addr(addr); } if ((int )tmp != 0) { tmp___0 = 0; } else { tmp___0 = 1; } return ((bool )tmp___0); } } __inline static bool is_valid_ether_addr(u8 const *addr ) { bool tmp ; int tmp___0 ; bool tmp___1 ; int tmp___2 ; int tmp___3 ; { { tmp = is_multicast_ether_addr(addr); } if (tmp) { tmp___0 = 0; } else { tmp___0 = 1; } if (tmp___0) { { tmp___1 = is_zero_ether_addr(addr); } if (tmp___1) { tmp___2 = 0; } else { tmp___2 = 1; } if (tmp___2) { tmp___3 = 1; } else { tmp___3 = 0; } } else { tmp___3 = 0; } return ((bool )tmp___3); } } __inline static struct sk_buff *__vlan_hwaccel_put_tag(struct sk_buff *skb , __be16 vlan_proto , u16 vlan_tci ) { { skb->vlan_proto = vlan_proto; skb->vlan_tci = (__u16 )((unsigned int )vlan_tci | 4096U); return (skb); } } __inline static __be16 vlan_get_protocol(struct sk_buff const *skb ) { __be16 protocol ; __be16 proto ; __be16 *protop ; void *tmp ; long tmp___0 ; { protocol = 0U; if (((int )skb->vlan_tci & 4096) != 0 || (unsigned int )((unsigned short )skb->protocol) != 129U) { protocol = skb->protocol; } else { { tmp = skb_header_pointer(skb, 16, 2, (void *)(& proto)); protop = (__be16 *)tmp; tmp___0 = ldv__builtin_expect((unsigned long )protop != (unsigned long )((__be16 *)0U), 1L); } if (tmp___0 != 0L) { protocol = *protop; } else { } } return (protocol); } } extern int pci_enable_pcie_error_reporting(struct pci_dev * ) ; extern int pci_disable_pcie_error_reporting(struct pci_dev * ) ; extern int pci_cleanup_aer_uncorrect_error_status(struct pci_dev * ) ; __inline static struct mii_ioctl_data *if_mii(struct ifreq *rq ) { { return ((struct mii_ioctl_data *)(& rq->ifr_ifru)); } } extern int mdio_mii_ioctl(struct mdio_if_info const * , struct mii_ioctl_data * , int ) ; void ixgbe_init_mbx_params_pf(struct ixgbe_hw *hw ) ; s32 ixgbe_read_pba_string_generic(struct ixgbe_hw *hw , u8 *pba_num , u32 pba_num_size ) ; enum ixgbe_bus_width ixgbe_convert_bus_width(u16 link_status ) ; enum ixgbe_bus_speed ixgbe_convert_bus_speed(u16 link_status ) ; s32 ixgbe_init_eeprom_params_generic(struct ixgbe_hw *hw ) ; s32 ixgbe_read_eeprom_bit_bang_generic(struct ixgbe_hw *hw , u16 offset , u16 *data ) ; bool ixgbe_device_supports_autoneg_fc(struct ixgbe_hw *hw ) ; __inline static bool ixgbe_removed(void *addr ) { long tmp ; { { tmp = ldv__builtin_expect((unsigned long )addr == (unsigned long )((void *)0), 0L); } return (tmp != 0L); } } void ixgbe_check_remove(struct ixgbe_hw *hw , u32 reg ) ; __inline static void ixgbe_write_reg(struct ixgbe_hw *hw , u32 reg , u32 value ) { u8 *reg_addr ; bool tmp ; { { reg_addr = *((u8 * volatile *)(& hw->hw_addr)); tmp = ixgbe_removed((void *)reg_addr); } if ((int )tmp) { return; } else { } { writel(value, (void volatile *)reg_addr + (unsigned long )reg); } return; } } __inline static u32 ixgbe_read_reg(struct ixgbe_hw *hw , u32 reg ) { u8 *reg_addr ; u32 value ; bool tmp ; long tmp___0 ; { { reg_addr = *((u8 * volatile *)(& hw->hw_addr)); tmp = ixgbe_removed((void *)reg_addr); } if ((int )tmp) { return (4294967295U); } else { } { value = readl((void const volatile *)reg_addr + (unsigned long )reg); tmp___0 = ldv__builtin_expect(value == 4294967295U, 0L); } if (tmp___0 != 0L) { { ixgbe_check_remove(hw, reg); } } else { } return (value); } } u8 ixgbe_dcb_get_tc_from_up(struct ixgbe_dcb_config *cfg , int direction , u8 up___0 ) ; s32 ixgbe_dcb_calculate_tc_credits(struct ixgbe_hw *hw , struct ixgbe_dcb_config *dcb_config , int max_frame , u8 direction ) ; s32 ixgbe_dcb_hw_ets(struct ixgbe_hw *hw , struct ieee_ets *ets , int max_frame ) ; s32 ixgbe_dcb_hw_pfc_config(struct ixgbe_hw *hw , u8 pfc_en , u8 *prio_tc ) ; s32 ixgbe_dcb_hw_config(struct ixgbe_hw *hw , struct ixgbe_dcb_config *dcb_config ) ; extern void dca_register_notify(struct notifier_block * ) ; static void ldv_dca_register_notify_37(struct notifier_block *ldv_func_arg1 ) ; extern void dca_unregister_notify(struct notifier_block * ) ; static void ldv_dca_unregister_notify_38(struct notifier_block *ldv_func_arg1 ) ; extern int dca_add_requester(struct device * ) ; extern int dca_remove_requester(struct device * ) ; extern u8 dca3_get_tag(struct device * , int ) ; __inline static void skb_mark_napi_id(struct sk_buff *skb , struct napi_struct *napi ) { { skb->__annonCompField69.napi_id = napi->napi_id; return; } } __inline static unsigned int ixgbe_rx_bufsz(struct ixgbe_ring *ring ) { int tmp ; { { tmp = constant_test_bit(6L, (unsigned long const volatile *)(& ring->state)); } if (tmp != 0) { return (4096U); } else { } return (2048U); } } __inline static unsigned int ixgbe_rx_pg_order(struct ixgbe_ring *ring ) { int tmp ; { { tmp = constant_test_bit(6L, (unsigned long const volatile *)(& ring->state)); } if (tmp != 0) { return (1U); } else { } return (0U); } } __inline static void ixgbe_qv_init_lock(struct ixgbe_q_vector *q_vector ) { struct lock_class_key __key ; { { spinlock_check(& q_vector->lock); __raw_spin_lock_init(& q_vector->lock.__annonCompField19.rlock, "&(&q_vector->lock)->rlock", & __key); q_vector->state = 0U; } return; } } __inline static bool ixgbe_qv_lock_napi(struct ixgbe_q_vector *q_vector ) { int rc ; int __ret_warn_on ; long tmp ; { { rc = 1; spin_lock_bh(& q_vector->lock); } if ((q_vector->state & 7U) != 0U) { { __ret_warn_on = (int )q_vector->state & 1; tmp = ldv__builtin_expect(__ret_warn_on != 0, 0L); } if (tmp != 0L) { { warn_slowpath_null("drivers/net/ethernet/intel/ixgbe/ixgbe.h", 421); } } else { } { ldv__builtin_expect(__ret_warn_on != 0, 0L); q_vector->state = q_vector->state | 8U; rc = 0; (q_vector->tx.ring)->stats.yields = (q_vector->tx.ring)->stats.yields + 1ULL; } } else { q_vector->state = 1U; } { spin_unlock_bh(& q_vector->lock); } return (rc != 0); } } __inline static bool ixgbe_qv_unlock_napi(struct ixgbe_q_vector *q_vector ) { int rc ; int __ret_warn_on ; long tmp ; { { rc = 0; spin_lock_bh(& q_vector->lock); __ret_warn_on = (q_vector->state & 10U) != 0U; tmp = ldv__builtin_expect(__ret_warn_on != 0, 0L); } if (tmp != 0L) { { warn_slowpath_null("drivers/net/ethernet/intel/ixgbe/ixgbe.h", 441); } } else { } { ldv__builtin_expect(__ret_warn_on != 0, 0L); } if ((q_vector->state & 16U) != 0U) { rc = 1; } else { } { q_vector->state = q_vector->state & 4U; spin_unlock_bh(& q_vector->lock); } return (rc != 0); } } __inline static bool ixgbe_qv_lock_poll(struct ixgbe_q_vector *q_vector ) { int rc ; { { rc = 1; spin_lock_bh(& q_vector->lock); } if ((q_vector->state & 7U) != 0U) { q_vector->state = q_vector->state | 16U; rc = 0; (q_vector->rx.ring)->stats.yields = (q_vector->rx.ring)->stats.yields + 1ULL; } else { q_vector->state = q_vector->state | 2U; } { spin_unlock_bh(& q_vector->lock); } return (rc != 0); } } __inline static bool ixgbe_qv_unlock_poll(struct ixgbe_q_vector *q_vector ) { int rc ; int __ret_warn_on ; long tmp ; { { rc = 0; spin_lock_bh(& q_vector->lock); __ret_warn_on = (int )q_vector->state & 1; tmp = ldv__builtin_expect(__ret_warn_on != 0, 0L); } if (tmp != 0L) { { warn_slowpath_null("drivers/net/ethernet/intel/ixgbe/ixgbe.h", 475); } } else { } { ldv__builtin_expect(__ret_warn_on != 0, 0L); } if ((q_vector->state & 16U) != 0U) { rc = 1; } else { } { q_vector->state = q_vector->state & 4U; spin_unlock_bh(& q_vector->lock); } return (rc != 0); } } __inline static bool ixgbe_qv_busy_polling(struct ixgbe_q_vector *q_vector ) { int __ret_warn_on ; long tmp ; { { __ret_warn_on = (q_vector->state & 3U) == 0U; tmp = ldv__builtin_expect(__ret_warn_on != 0, 0L); } if (tmp != 0L) { { warn_slowpath_null("drivers/net/ethernet/intel/ixgbe/ixgbe.h", 488); } } else { } { ldv__builtin_expect(__ret_warn_on != 0, 0L); } return ((q_vector->state & 18U) != 0U); } } __inline static bool ixgbe_qv_disable(struct ixgbe_q_vector *q_vector ) { int rc ; { { rc = 1; spin_lock_bh(& q_vector->lock); } if ((q_vector->state & 3U) != 0U) { rc = 0; } else { } { q_vector->state = q_vector->state | 4U; spin_unlock_bh(& q_vector->lock); } return (rc != 0); } } __inline static __le32 ixgbe_test_staterr(union ixgbe_adv_rx_desc *rx_desc , u32 const stat_err_bits ) { { return (rx_desc->wb.upper.status_error & (__le32 )stat_err_bits); } } __inline static u16 ixgbe_desc_unused(struct ixgbe_ring *ring ) { u16 ntc ; u16 ntu ; { ntc = ring->next_to_clean; ntu = ring->next_to_use; return (((((int )ntc <= (int )ntu ? ring->count : 0U) + (unsigned int )ntc) - (unsigned int )ntu) + 65535U); } } __inline static void ixgbe_write_tail(struct ixgbe_ring *ring , u32 value ) { { { writel(value, (void volatile *)ring->tail); } return; } } struct ixgbe_info ixgbe_82598_info ; struct ixgbe_info ixgbe_82599_info ; struct ixgbe_info ixgbe_X540_info ; struct dcbnl_rtnl_ops const dcbnl_ops ; char ixgbe_driver_name[6U] ; char const ixgbe_driver_version[9U] ; char ixgbe_default_device_descr[39U] ; void ixgbe_up(struct ixgbe_adapter *adapter ) ; void ixgbe_down(struct ixgbe_adapter *adapter ) ; void ixgbe_reinit_locked(struct ixgbe_adapter *adapter ) ; void ixgbe_reset(struct ixgbe_adapter *adapter ) ; void ixgbe_set_ethtool_ops(struct net_device *netdev ) ; int ixgbe_setup_rx_resources(struct ixgbe_ring *rx_ring ) ; int ixgbe_setup_tx_resources(struct ixgbe_ring *tx_ring ) ; void ixgbe_free_rx_resources(struct ixgbe_ring *rx_ring ) ; void ixgbe_free_tx_resources(struct ixgbe_ring *tx_ring ) ; void ixgbe_configure_rx_ring(struct ixgbe_adapter *adapter , struct ixgbe_ring *ring ) ; void ixgbe_configure_tx_ring(struct ixgbe_adapter *adapter , struct ixgbe_ring *ring ) ; void ixgbe_disable_rx_queue(struct ixgbe_adapter *adapter , struct ixgbe_ring *ring ) ; void ixgbe_update_stats(struct ixgbe_adapter *adapter ) ; int ixgbe_init_interrupt_scheme(struct ixgbe_adapter *adapter ) ; int ixgbe_wol_supported(struct ixgbe_adapter *adapter , u16 device_id , u16 subdevice_id ) ; void ixgbe_clear_interrupt_scheme(struct ixgbe_adapter *adapter ) ; netdev_tx_t ixgbe_xmit_frame_ring(struct sk_buff *skb , struct ixgbe_adapter *adapter , struct ixgbe_ring *tx_ring ) ; void ixgbe_unmap_and_free_tx_resource(struct ixgbe_ring *ring , struct ixgbe_tx_buffer *tx_buffer ) ; void ixgbe_alloc_rx_buffers(struct ixgbe_ring *rx_ring , u16 cleaned_count ) ; void ixgbe_write_eitr(struct ixgbe_q_vector *q_vector ) ; int ixgbe_poll(struct napi_struct *napi , int budget ) ; s32 ixgbe_reinit_fdir_tables_82599(struct ixgbe_hw *hw ) ; s32 ixgbe_init_fdir_signature_82599(struct ixgbe_hw *hw , u32 fdirctrl ) ; s32 ixgbe_init_fdir_perfect_82599(struct ixgbe_hw *hw , u32 fdirctrl ) ; s32 ixgbe_fdir_add_signature_filter_82599(struct ixgbe_hw *hw , union ixgbe_atr_hash_dword input , union ixgbe_atr_hash_dword common , u8 queue ) ; s32 ixgbe_fdir_set_input_mask_82599(struct ixgbe_hw *hw , union ixgbe_atr_input *input_mask ) ; s32 ixgbe_fdir_write_perfect_filter_82599(struct ixgbe_hw *hw , union ixgbe_atr_input *input , u16 soft_id , u8 queue ) ; void ixgbe_set_rx_mode(struct net_device *netdev ) ; void ixgbe_set_rx_drop_en(struct ixgbe_adapter *adapter ) ; int ixgbe_setup_tc(struct net_device *dev , u8 tc ) ; void ixgbe_tx_ctxtdesc(struct ixgbe_ring *tx_ring , u32 vlan_macip_lens , u32 fcoe_sof_eof , u32 type_tucmd , u32 mss_l4len_idx ) ; void ixgbe_do_reset(struct net_device *netdev ) ; void ixgbe_sysfs_exit(struct ixgbe_adapter *adapter ) ; int ixgbe_sysfs_init(struct ixgbe_adapter *adapter ) ; void ixgbe_configure_fcoe(struct ixgbe_adapter *adapter ) ; int ixgbe_fso(struct ixgbe_ring *tx_ring , struct ixgbe_tx_buffer *first , u8 *hdr_len ) ; int ixgbe_fcoe_ddp(struct ixgbe_adapter *adapter , union ixgbe_adv_rx_desc *rx_desc , struct sk_buff *skb ) ; int ixgbe_fcoe_ddp_get(struct net_device *netdev , u16 xid , struct scatterlist *sgl , unsigned int sgc ) ; int ixgbe_fcoe_ddp_target(struct net_device *netdev , u16 xid , struct scatterlist *sgl , unsigned int sgc ) ; int ixgbe_fcoe_ddp_put(struct net_device *netdev , u16 xid ) ; int ixgbe_setup_fcoe_ddp_resources(struct ixgbe_adapter *adapter ) ; void ixgbe_free_fcoe_ddp_resources(struct ixgbe_adapter *adapter ) ; int ixgbe_fcoe_enable(struct net_device *netdev ) ; int ixgbe_fcoe_disable(struct net_device *netdev ) ; int ixgbe_fcoe_get_wwn(struct net_device *netdev , u64 *wwn , int type ) ; int ixgbe_fcoe_get_hbainfo(struct net_device *netdev , struct netdev_fcoe_hbainfo *info ) ; u8 ixgbe_fcoe_get_tc(struct ixgbe_adapter *adapter ) ; void ixgbe_dbg_adapter_init(struct ixgbe_adapter *adapter ) ; void ixgbe_dbg_adapter_exit(struct ixgbe_adapter *adapter ) ; void ixgbe_dbg_init(void) ; void ixgbe_dbg_exit(void) ; __inline static struct netdev_queue *txring_txq(struct ixgbe_ring const *ring ) { struct netdev_queue *tmp ; { { tmp = netdev_get_tx_queue((struct net_device const *)ring->netdev, (unsigned int )ring->queue_index); } return (tmp); } } void ixgbe_ptp_init(struct ixgbe_adapter *adapter ) ; void ixgbe_ptp_stop(struct ixgbe_adapter *adapter ) ; void ixgbe_ptp_overflow_check(struct ixgbe_adapter *adapter ) ; void ixgbe_ptp_rx_hang(struct ixgbe_adapter *adapter ) ; void __ixgbe_ptp_rx_hwtstamp(struct ixgbe_q_vector *q_vector , struct sk_buff *skb ) ; __inline static void ixgbe_ptp_rx_hwtstamp(struct ixgbe_ring *rx_ring , union ixgbe_adv_rx_desc *rx_desc , struct sk_buff *skb ) { __le32 tmp ; long tmp___0 ; { { tmp = ixgbe_test_staterr(rx_desc, 65536U); tmp___0 = ldv__builtin_expect(tmp == 0U, 0L); } if (tmp___0 != 0L) { return; } else { } { __ixgbe_ptp_rx_hwtstamp(rx_ring->q_vector, skb); rx_ring->last_rx_timestamp = jiffies; } return; } } int ixgbe_ptp_hwtstamp_ioctl(struct ixgbe_adapter *adapter , struct ifreq *ifr , int cmd ) ; void ixgbe_ptp_start_cyclecounter(struct ixgbe_adapter *adapter ) ; void ixgbe_ptp_reset(struct ixgbe_adapter *adapter ) ; void ixgbe_ptp_check_pps_event(struct ixgbe_adapter *adapter , u32 eicr ) ; void ixgbe_sriov_reinit(struct ixgbe_adapter *adapter ) ; void ixgbe_restore_vf_multicasts(struct ixgbe_adapter *adapter ) ; void ixgbe_msg_task(struct ixgbe_adapter *adapter ) ; int ixgbe_vf_configuration(struct pci_dev *pdev , unsigned int event_mask ) ; void ixgbe_disable_tx_rx(struct ixgbe_adapter *adapter ) ; void ixgbe_ping_all_vfs(struct ixgbe_adapter *adapter ) ; int ixgbe_ndo_set_vf_mac(struct net_device *netdev , int vf , u8 *mac ) ; int ixgbe_ndo_set_vf_vlan(struct net_device *netdev , int vf , u16 vlan , u8 qos ) ; int ixgbe_ndo_set_vf_bw(struct net_device *netdev , int vf , int tx_rate ) ; int ixgbe_ndo_set_vf_spoofchk(struct net_device *netdev , int vf , bool setting ) ; int ixgbe_ndo_get_vf_config(struct net_device *netdev , int vf , struct ifla_vf_info *ivi ) ; void ixgbe_check_vf_rate_limit(struct ixgbe_adapter *adapter ) ; int ixgbe_disable_sriov(struct ixgbe_adapter *adapter ) ; void ixgbe_enable_sriov(struct ixgbe_adapter *adapter ) ; int ixgbe_pci_sriov_configure(struct pci_dev *dev , int num_vfs ) ; char ixgbe_driver_name[6U] = { 'i', 'x', 'g', 'b', 'e', '\000'}; static char const ixgbe_driver_string[47U] = { 'I', 'n', 't', 'e', 'l', '(', 'R', ')', ' ', '1', '0', ' ', 'G', 'i', 'g', 'a', 'b', 'i', 't', ' ', 'P', 'C', 'I', ' ', 'E', 'x', 'p', 'r', 'e', 's', 's', ' ', 'N', 'e', 't', 'w', 'o', 'r', 'k', ' ', 'D', 'r', 'i', 'v', 'e', 'r', '\000'}; char ixgbe_default_device_descr[39U] = { 'I', 'n', 't', 'e', 'l', '(', 'R', ')', ' ', '1', '0', ' ', 'G', 'i', 'g', 'a', 'b', 'i', 't', ' ', 'N', 'e', 't', 'w', 'o', 'r', 'k', ' ', 'C', 'o', 'n', 'n', 'e', 'c', 't', 'i', 'o', 'n', '\000'}; char const ixgbe_driver_version[9U] = { '3', '.', '1', '9', '.', '1', '-', 'k', '\000'}; static char const ixgbe_copyright[43U] = { 'C', 'o', 'p', 'y', 'r', 'i', 'g', 'h', 't', ' ', '(', 'c', ')', ' ', '1', '9', '9', '9', '-', '2', '0', '1', '3', ' ', 'I', 'n', 't', 'e', 'l', ' ', 'C', 'o', 'r', 'p', 'o', 'r', 'a', 't', 'i', 'o', 'n', '.', '\000'}; static struct ixgbe_info const *ixgbe_info_tbl[3U] = { (struct ixgbe_info const *)(& ixgbe_82598_info), (struct ixgbe_info const *)(& ixgbe_82599_info), (struct ixgbe_info const *)(& ixgbe_X540_info)}; static struct pci_device_id const ixgbe_pci_tbl[31U] = { {32902U, 4278U, 4294967295U, 4294967295U, 0U, 0U, 0UL}, {32902U, 4294U, 4294967295U, 4294967295U, 0U, 0U, 0UL}, {32902U, 4295U, 4294967295U, 4294967295U, 0U, 0U, 0UL}, {32902U, 4296U, 4294967295U, 4294967295U, 0U, 0U, 0UL}, {32902U, 5387U, 4294967295U, 4294967295U, 0U, 0U, 0UL}, {32902U, 4317U, 4294967295U, 4294967295U, 0U, 0U, 0UL}, {32902U, 4332U, 4294967295U, 4294967295U, 0U, 0U, 0UL}, {32902U, 4337U, 4294967295U, 4294967295U, 0U, 0U, 0UL}, {32902U, 4321U, 4294967295U, 4294967295U, 0U, 0U, 0UL}, {32902U, 4340U, 4294967295U, 4294967295U, 0U, 0U, 0UL}, {32902U, 4315U, 4294967295U, 4294967295U, 0U, 0U, 0UL}, {32902U, 5384U, 4294967295U, 4294967295U, 0U, 0U, 0UL}, {32902U, 4343U, 4294967295U, 4294967295U, 0U, 0U, 1UL}, {32902U, 4348U, 4294967295U, 4294967295U, 0U, 0U, 1UL}, {32902U, 5399U, 4294967295U, 4294967295U, 0U, 0U, 1UL}, {32902U, 4347U, 4294967295U, 4294967295U, 0U, 0U, 1UL}, {32902U, 5383U, 4294967295U, 4294967295U, 0U, 0U, 1UL}, {32902U, 5396U, 4294967295U, 4294967295U, 0U, 0U, 1UL}, {32902U, 4345U, 4294967295U, 4294967295U, 0U, 0U, 1UL}, {32902U, 5418U, 4294967295U, 4294967295U, 0U, 0U, 1UL}, {32902U, 5417U, 4294967295U, 4294967295U, 0U, 0U, 1UL}, {32902U, 5404U, 4294967295U, 4294967295U, 0U, 0U, 1UL}, {32902U, 4344U, 4294967295U, 4294967295U, 0U, 0U, 1UL}, {32902U, 5416U, 4294967295U, 4294967295U, 0U, 0U, 2UL}, {32902U, 5453U, 4294967295U, 4294967295U, 0U, 0U, 1UL}, {32902U, 5455U, 4294967295U, 4294967295U, 0U, 0U, 1UL}, {32902U, 5464U, 4294967295U, 4294967295U, 0U, 0U, 1UL}, {32902U, 5463U, 4294967295U, 4294967295U, 0U, 0U, 1UL}, {32902U, 5450U, 4294967295U, 4294967295U, 0U, 0U, 1UL}, {32902U, 5472U, 4294967295U, 4294967295U, 0U, 0U, 2UL}, {0U, 0U, 0U, 0U, 0U, 0U, 0UL}}; struct pci_device_id const __mod_pci_device_table ; static int ixgbe_notify_dca(struct notifier_block *nb , unsigned long event , void *p ) ; static struct notifier_block dca_notifier = {& ixgbe_notify_dca, (struct notifier_block *)0, 0}; static unsigned int max_vfs ; static unsigned int allow_unsupported_sfp ; static int debug = -1; static int ixgbe_read_pci_cfg_word_parent(struct ixgbe_adapter *adapter , u32 reg , u16 *value ) { struct pci_dev *parent_dev ; struct pci_bus *parent_bus ; bool tmp ; int tmp___0 ; { parent_bus = ((adapter->pdev)->bus)->parent; if ((unsigned long )parent_bus == (unsigned long )((struct pci_bus *)0)) { return (-1); } else { } parent_dev = parent_bus->self; if ((unsigned long )parent_dev == (unsigned long )((struct pci_dev *)0)) { return (-1); } else { } { tmp = pci_is_pcie(parent_dev); } if (tmp) { tmp___0 = 0; } else { tmp___0 = 1; } if (tmp___0) { return (-1); } else { } { pcie_capability_read_word(parent_dev, (int )reg, value); } return (0); } } static s32 ixgbe_get_parent_bus_info(struct ixgbe_adapter *adapter ) { struct ixgbe_hw *hw ; u16 link_status ; int err ; { { hw = & adapter->hw; link_status = 0U; hw->bus.type = 3; err = ixgbe_read_pci_cfg_word_parent(adapter, 18U, & link_status); } if (err != 0) { return (err); } else { } { hw->bus.width = ixgbe_convert_bus_width((int )link_status); hw->bus.speed = ixgbe_convert_bus_speed((int )link_status); } return (0); } } __inline static bool ixgbe_pcie_from_parent(struct ixgbe_hw *hw ) { { { if ((int )hw->device_id == 5450) { goto case_5450; } else { } if ((int )hw->device_id == 5464) { goto case_5464; } else { } goto switch_default; case_5450: /* CIL Label */ ; case_5464: /* CIL Label */ ; return (1); switch_default: /* CIL Label */ ; return (0); switch_break: /* CIL Label */ ; } } } static void ixgbe_check_minimum_link(struct ixgbe_adapter *adapter , int expected_gts ) { int max_gts ; enum pci_bus_speed speed ; enum pcie_link_width width ; struct pci_dev *pdev ; bool tmp ; int tmp___0 ; { { max_gts = 0; speed = 255; width = 255; tmp = ixgbe_pcie_from_parent(& adapter->hw); } if ((int )tmp) { pdev = (((adapter->pdev)->bus)->parent)->self; } else { pdev = adapter->pdev; } { tmp___0 = pcie_get_minimum_link(pdev, & speed, & width); } if ((tmp___0 != 0 || (unsigned int )speed == 255U) || (unsigned int )width == 255U) { { dev_warn((struct device const *)(& (adapter->pdev)->dev), "Unable to determine PCI Express bandwidth.\n"); } return; } else { } { if ((unsigned int )speed == 20U) { goto case_20; } else { } if ((unsigned int )speed == 21U) { goto case_21; } else { } if ((unsigned int )speed == 22U) { goto case_22; } else { } goto switch_default; case_20: /* CIL Label */ max_gts = (int )((unsigned int )width * 2U); goto ldv_53582; case_21: /* CIL Label */ max_gts = (int )((unsigned int )width * 4U); goto ldv_53582; case_22: /* CIL Label */ max_gts = (int )((unsigned int )width * 8U); goto ldv_53582; switch_default: /* CIL Label */ { dev_warn((struct device const *)(& (adapter->pdev)->dev), "Unable to determine PCI Express bandwidth.\n"); } return; switch_break: /* CIL Label */ ; } ldv_53582: { _dev_info((struct device const *)(& (adapter->pdev)->dev), "PCI Express bandwidth of %dGT/s available\n", max_gts); _dev_info((struct device const *)(& (adapter->pdev)->dev), "(Speed:%s, Width: x%d, Encoding Loss:%s)\n", (unsigned int )speed != 22U ? ((unsigned int )speed != 21U ? ((unsigned int )speed == 20U ? (char *)"2.5GT/s" : (char *)"Unknown") : (char *)"5.0GT/s") : (char *)"8.0GT/s", (unsigned int )width, (unsigned int )speed != 20U ? ((unsigned int )speed != 21U ? ((unsigned int )speed == 22U ? (char *)"<2%" : (char *)"Unknown") : (char *)"20%") : (char *)"20%"); } if (max_gts < expected_gts) { { dev_warn((struct device const *)(& (adapter->pdev)->dev), "This is not sufficient for optimal performance of this card.\n"); dev_warn((struct device const *)(& (adapter->pdev)->dev), "For optimal performance, at least %dGT/s of bandwidth is required.\n", expected_gts); dev_warn((struct device const *)(& (adapter->pdev)->dev), "A slot with more lanes and/or higher speed is suggested.\n"); } } else { } return; } } static void ixgbe_service_event_schedule(struct ixgbe_adapter *adapter ) { int tmp ; int tmp___0 ; int tmp___1 ; { { tmp = constant_test_bit(2L, (unsigned long const volatile *)(& adapter->state)); } if (tmp == 0) { { tmp___0 = constant_test_bit(3L, (unsigned long const volatile *)(& adapter->state)); } if (tmp___0 == 0) { { tmp___1 = test_and_set_bit(4L, (unsigned long volatile *)(& adapter->state)); } if (tmp___1 == 0) { { schedule_work(& adapter->service_task); } } else { } } else { } } else { } return; } } static void ixgbe_remove_adapter(struct ixgbe_hw *hw ) { struct ixgbe_adapter *adapter ; { adapter = (struct ixgbe_adapter *)hw->back; if ((unsigned long )hw->hw_addr == (unsigned long )((u8 *)0U)) { return; } else { } { hw->hw_addr = (u8 *)0U; dev_err((struct device const *)(& (adapter->pdev)->dev), "Adapter removed\n"); ixgbe_service_event_schedule(adapter); } return; } } void ixgbe_check_remove(struct ixgbe_hw *hw , u32 reg ) { u32 value ; { if (reg == 8U) { { ixgbe_remove_adapter(hw); } return; } else { } { value = ixgbe_read_reg(hw, 8U); } if (value == 4294967295U) { { ixgbe_remove_adapter(hw); } } else { } return; } } static void ixgbe_service_event_complete(struct ixgbe_adapter *adapter ) { int tmp ; long tmp___0 ; { { tmp = constant_test_bit(4L, (unsigned long const volatile *)(& adapter->state)); tmp___0 = ldv__builtin_expect(tmp == 0, 0L); } if (tmp___0 != 0L) { { __asm__ volatile ("1:\tud2\n.pushsection __bug_table,\"a\"\n2:\t.long 1b - 2b, %c0 - 2b\n\t.word %c1, 0\n\t.org 2b+%c2\n.popsection": : "i" ((char *)"drivers/net/ethernet/intel/ixgbe/ixgbe_main.c"), "i" (318), "i" (12UL)); __builtin_unreachable(); } } else { } { __asm__ volatile ("": : : "memory"); clear_bit(4L, (unsigned long volatile *)(& adapter->state)); } return; } } static struct ixgbe_reg_info const ixgbe_reg_info_tbl[19U] = { {0U, (char *)"CTRL"}, {8U, (char *)"STATUS"}, {24U, (char *)"CTRL_EXT"}, {2048U, (char *)"EICR"}, {8448U, (char *)"SRRCTL"}, {8704U, (char *)"DRXCTL"}, {4104U, (char *)"RDLEN"}, {4112U, (char *)"RDH"}, {4120U, (char *)"RDT"}, {4136U, (char *)"RXDCTL"}, {4096U, (char *)"RDBAL"}, {4100U, (char *)"RDBAH"}, {24576U, (char *)"TDBAL"}, {24580U, (char *)"TDBAH"}, {24584U, (char *)"TDLEN"}, {24592U, (char *)"TDH"}, {24600U, (char *)"TDT"}, {24616U, (char *)"TXDCTL"}}; static void ixgbe_regdump(struct ixgbe_hw *hw , struct ixgbe_reg_info *reginfo ) { int i ; int j ; char rname[16U] ; u32 regs[64U] ; u32 tmp ; { i = 0; j = 0; { if (reginfo->ofs == 8448U) { goto case_8448; } else { } if (reginfo->ofs == 8704U) { goto case_8704; } else { } if (reginfo->ofs == 4104U) { goto case_4104; } else { } if (reginfo->ofs == 4112U) { goto case_4112; } else { } if (reginfo->ofs == 4120U) { goto case_4120; } else { } if (reginfo->ofs == 4136U) { goto case_4136; } else { } if (reginfo->ofs == 4096U) { goto case_4096; } else { } if (reginfo->ofs == 4100U) { goto case_4100; } else { } if (reginfo->ofs == 24576U) { goto case_24576; } else { } if (reginfo->ofs == 24580U) { goto case_24580; } else { } if (reginfo->ofs == 24584U) { goto case_24584; } else { } if (reginfo->ofs == 24592U) { goto case_24592; } else { } if (reginfo->ofs == 24600U) { goto case_24600; } else { } if (reginfo->ofs == 24616U) { goto case_24616; } else { } goto switch_default; case_8448: /* CIL Label */ i = 0; goto ldv_53615; ldv_53614: { regs[i] = ixgbe_read_reg(hw, (u32 )(i <= 15 ? (i + 2112) * 4 : (i <= 63 ? i * 64 + 4116 : (i + -64) * 64 + 53268))); i = i + 1; } ldv_53615: ; if (i <= 63) { goto ldv_53614; } else { } goto ldv_53617; case_8704: /* CIL Label */ i = 0; goto ldv_53620; ldv_53619: { regs[i] = ixgbe_read_reg(hw, (u32 )(i <= 15 ? (i + 2176) * 4 : (i <= 63 ? i * 64 + 4108 : (i + -64) * 64 + 53260))); i = i + 1; } ldv_53620: ; if (i <= 63) { goto ldv_53619; } else { } goto ldv_53617; case_4104: /* CIL Label */ i = 0; goto ldv_53624; ldv_53623: { regs[i] = ixgbe_read_reg(hw, (u32 )(i <= 63 ? i * 64 + 4104 : (i + -64) * 64 + 53256)); i = i + 1; } ldv_53624: ; if (i <= 63) { goto ldv_53623; } else { } goto ldv_53617; case_4112: /* CIL Label */ i = 0; goto ldv_53628; ldv_53627: { regs[i] = ixgbe_read_reg(hw, (u32 )(i <= 63 ? i * 64 + 4112 : (i + -64) * 64 + 53264)); i = i + 1; } ldv_53628: ; if (i <= 63) { goto ldv_53627; } else { } goto ldv_53617; case_4120: /* CIL Label */ i = 0; goto ldv_53632; ldv_53631: { regs[i] = ixgbe_read_reg(hw, (u32 )(i <= 63 ? i * 64 + 4120 : (i + -64) * 64 + 53272)); i = i + 1; } ldv_53632: ; if (i <= 63) { goto ldv_53631; } else { } goto ldv_53617; case_4136: /* CIL Label */ i = 0; goto ldv_53636; ldv_53635: { regs[i] = ixgbe_read_reg(hw, (u32 )(i <= 63 ? i * 64 + 4136 : (i + -64) * 64 + 53288)); i = i + 1; } ldv_53636: ; if (i <= 63) { goto ldv_53635; } else { } goto ldv_53617; case_4096: /* CIL Label */ i = 0; goto ldv_53640; ldv_53639: { regs[i] = ixgbe_read_reg(hw, (u32 )(i <= 63 ? (i + 64) * 64 : (i + 768) * 64)); i = i + 1; } ldv_53640: ; if (i <= 63) { goto ldv_53639; } else { } goto ldv_53617; case_4100: /* CIL Label */ i = 0; goto ldv_53644; ldv_53643: { regs[i] = ixgbe_read_reg(hw, (u32 )(i <= 63 ? i * 64 + 4100 : (i + -64) * 64 + 53252)); i = i + 1; } ldv_53644: ; if (i <= 63) { goto ldv_53643; } else { } goto ldv_53617; case_24576: /* CIL Label */ i = 0; goto ldv_53648; ldv_53647: { regs[i] = ixgbe_read_reg(hw, (u32 )((i + 384) * 64)); i = i + 1; } ldv_53648: ; if (i <= 63) { goto ldv_53647; } else { } goto ldv_53617; case_24580: /* CIL Label */ i = 0; goto ldv_53652; ldv_53651: { regs[i] = ixgbe_read_reg(hw, (u32 )(i * 64 + 24580)); i = i + 1; } ldv_53652: ; if (i <= 63) { goto ldv_53651; } else { } goto ldv_53617; case_24584: /* CIL Label */ i = 0; goto ldv_53656; ldv_53655: { regs[i] = ixgbe_read_reg(hw, (u32 )(i * 64 + 24584)); i = i + 1; } ldv_53656: ; if (i <= 63) { goto ldv_53655; } else { } goto ldv_53617; case_24592: /* CIL Label */ i = 0; goto ldv_53660; ldv_53659: { regs[i] = ixgbe_read_reg(hw, (u32 )(i * 64 + 24592)); i = i + 1; } ldv_53660: ; if (i <= 63) { goto ldv_53659; } else { } goto ldv_53617; case_24600: /* CIL Label */ i = 0; goto ldv_53664; ldv_53663: { regs[i] = ixgbe_read_reg(hw, (u32 )(i * 64 + 24600)); i = i + 1; } ldv_53664: ; if (i <= 63) { goto ldv_53663; } else { } goto ldv_53617; case_24616: /* CIL Label */ i = 0; goto ldv_53668; ldv_53667: { regs[i] = ixgbe_read_reg(hw, (u32 )(i * 64 + 24616)); i = i + 1; } ldv_53668: ; if (i <= 63) { goto ldv_53667; } else { } goto ldv_53617; switch_default: /* CIL Label */ { tmp = ixgbe_read_reg(hw, reginfo->ofs); printk("\016ixgbe: %-15s %08x\n", reginfo->name, tmp); } return; switch_break: /* CIL Label */ ; } ldv_53617: i = 0; goto ldv_53675; ldv_53674: { snprintf((char *)(& rname), 16UL, "%s[%d-%d]", reginfo->name, i * 8, i * 8 + 7); printk("\vixgbe: %-15s", (char *)(& rname)); j = 0; } goto ldv_53672; ldv_53671: { printk(" %08x", regs[i * 8 + j]); j = j + 1; } ldv_53672: ; if (j <= 7) { goto ldv_53671; } else { } { printk("\n"); i = i + 1; } ldv_53675: ; if (i <= 7) { goto ldv_53674; } else { } return; } } static void ixgbe_dump(struct ixgbe_adapter *adapter ) { struct net_device *netdev ; struct ixgbe_hw *hw ; struct ixgbe_reg_info *reginfo ; int n ; struct ixgbe_ring *tx_ring ; struct ixgbe_tx_buffer *tx_buffer ; union ixgbe_adv_tx_desc *tx_desc ; struct my_u0 *u0 ; struct ixgbe_ring *rx_ring ; union ixgbe_adv_rx_desc *rx_desc ; struct ixgbe_rx_buffer *rx_buffer_info ; u32 staterr ; int i ; bool tmp ; int tmp___0 ; unsigned int tmp___1 ; void *tmp___2 ; { netdev = adapter->netdev; hw = & adapter->hw; n = 0; i = 0; if (((int )adapter->msg_enable & 8192) == 0) { return; } else { } if ((unsigned long )netdev != (unsigned long )((struct net_device *)0)) { { _dev_info((struct device const *)(& (adapter->pdev)->dev), "Net device Info\n"); printk("\016ixgbe: Device Name state trans_start last_rx\n"); printk("\016ixgbe: %-15s %016lX %016lX %016lX\n", (char *)(& netdev->name), netdev->state, netdev->trans_start, netdev->last_rx); } } else { } { _dev_info((struct device const *)(& (adapter->pdev)->dev), "Register Dump\n"); printk("\016ixgbe: Register Name Value\n"); reginfo = (struct ixgbe_reg_info *)(& ixgbe_reg_info_tbl); } goto ldv_53697; ldv_53696: { ixgbe_regdump(hw, reginfo); reginfo = reginfo + 1; } ldv_53697: ; if ((unsigned long )reginfo->name != (unsigned long )((char *)0)) { goto ldv_53696; } else { } if ((unsigned long )netdev == (unsigned long )((struct net_device *)0)) { goto exit; } else { { tmp = netif_running((struct net_device const *)netdev); } if (tmp) { tmp___0 = 0; } else { tmp___0 = 1; } if (tmp___0) { goto exit; } else { } } { _dev_info((struct device const *)(& (adapter->pdev)->dev), "TX Rings Summary\n"); printk("\016ixgbe: %s %s %s %s\n", (char *)"Queue [NTU] [NTC] [bi(ntc)->dma ]", (char *)"leng", (char *)"ntw", (char *)"timestamp"); n = 0; } goto ldv_53701; ldv_53700: { tx_ring = adapter->tx_ring[n]; tx_buffer = tx_ring->__annonCompField94.tx_buffer_info + (unsigned long )tx_ring->next_to_clean; printk("\016ixgbe: %5d %5X %5X %016llX %08X %p %016llX\n", n, (int )tx_ring->next_to_use, (int )tx_ring->next_to_clean, tx_buffer->dma, tx_buffer->len, tx_buffer->next_to_watch, (unsigned long long )tx_buffer->time_stamp); n = n + 1; } ldv_53701: ; if (n < adapter->num_tx_queues) { goto ldv_53700; } else { } if (((int )adapter->msg_enable & 1024) == 0) { goto rx_ring_summary; } else { } { _dev_info((struct device const *)(& (adapter->pdev)->dev), "TX Rings Dump\n"); n = 0; } goto ldv_53708; ldv_53707: { tx_ring = adapter->tx_ring[n]; printk("\016ixgbe: ------------------------------------\n"); printk("\016ixgbe: TX QUEUE INDEX = %d\n", (int )tx_ring->queue_index); printk("\016ixgbe: ------------------------------------\n"); printk("\016ixgbe: %s%s %s %s %s %s\n", (char *)"T [desc] [address 63:0 ] ", (char *)"[PlPOIdStDDt Ln] [bi->dma ] ", (char *)"leng", (char *)"ntw", (char *)"timestamp", (char *)"bi->skb"); i = 0; } goto ldv_53705; ldv_53704: tx_desc = (union ixgbe_adv_tx_desc *)tx_ring->desc + (unsigned long )i; tx_buffer = tx_ring->__annonCompField94.tx_buffer_info + (unsigned long )i; u0 = (struct my_u0 *)tx_desc; if (tx_buffer->len != 0U) { { printk("\016ixgbe: T [0x%03X] %016llX %016llX %016llX %08X %p %016llX %p", i, u0->a, u0->b, tx_buffer->dma, tx_buffer->len, tx_buffer->next_to_watch, (unsigned long long )tx_buffer->time_stamp, tx_buffer->skb); } if (i == (int )tx_ring->next_to_use && i == (int )tx_ring->next_to_clean) { { printk(" NTC/U\n"); } } else if (i == (int )tx_ring->next_to_use) { { printk(" NTU\n"); } } else if (i == (int )tx_ring->next_to_clean) { { printk(" NTC\n"); } } else { { printk("\n"); } } if (((int )adapter->msg_enable & 4096) != 0 && (unsigned long )tx_buffer->skb != (unsigned long )((struct sk_buff *)0)) { { print_hex_dump("\016", "", 1, 16, 1, (void const *)(tx_buffer->skb)->data, (size_t )tx_buffer->len, 1); } } else { } } else { } i = i + 1; ldv_53705: ; if ((unsigned long )tx_ring->desc != (unsigned long )((void *)0) && i < (int )tx_ring->count) { goto ldv_53704; } else { } n = n + 1; ldv_53708: ; if (n < adapter->num_tx_queues) { goto ldv_53707; } else { } rx_ring_summary: { _dev_info((struct device const *)(& (adapter->pdev)->dev), "RX Rings Summary\n"); printk("\016ixgbe: Queue [NTU] [NTC]\n"); n = 0; } goto ldv_53711; ldv_53710: { rx_ring = adapter->rx_ring[n]; printk("\016ixgbe: %5d %5X %5X\n", n, (int )rx_ring->next_to_use, (int )rx_ring->next_to_clean); n = n + 1; } ldv_53711: ; if (n < adapter->num_rx_queues) { goto ldv_53710; } else { } if (((int )adapter->msg_enable & 2048) == 0) { goto exit; } else { } { _dev_info((struct device const *)(& (adapter->pdev)->dev), "RX Rings Dump\n"); n = 0; } goto ldv_53717; ldv_53716: { rx_ring = adapter->rx_ring[n]; printk("\016ixgbe: ------------------------------------\n"); printk("\016ixgbe: RX QUEUE INDEX = %d\n", (int )rx_ring->queue_index); printk("\016ixgbe: ------------------------------------\n"); printk("\016ixgbe: %s%s%s", (char *)"R [desc] [ PktBuf A0] ", (char *)"[ HeadBuf DD] [bi->dma ] [bi->skb ] ", (char *)"<-- Adv Rx Read format\n"); printk("\016ixgbe: %s%s%s", (char *)"RWB[desc] [PcsmIpSHl PtRs] ", (char *)"[vl er S cks ln] ---------------- [bi->skb ] ", (char *)"<-- Adv Rx Write-Back format\n"); i = 0; } goto ldv_53714; ldv_53713: rx_buffer_info = rx_ring->__annonCompField94.rx_buffer_info + (unsigned long )i; rx_desc = (union ixgbe_adv_rx_desc *)rx_ring->desc + (unsigned long )i; u0 = (struct my_u0 *)rx_desc; staterr = rx_desc->wb.upper.status_error; if ((int )staterr & 1) { { printk("\016ixgbe: RWB[0x%03X] %016llX %016llX ---------------- %p", i, u0->a, u0->b, rx_buffer_info->skb); } } else { { printk("\016ixgbe: R [0x%03X] %016llX %016llX %016llX %p", i, u0->a, u0->b, rx_buffer_info->dma, rx_buffer_info->skb); } if (((int )adapter->msg_enable & 4096) != 0 && rx_buffer_info->dma != 0ULL) { { tmp___1 = ixgbe_rx_bufsz(rx_ring); tmp___2 = lowmem_page_address((struct page const *)rx_buffer_info->page); print_hex_dump("\016", "", 1, 16, 1, (void const *)tmp___2 + (unsigned long )rx_buffer_info->page_offset, (size_t )tmp___1, 1); } } else { } } if (i == (int )rx_ring->next_to_use) { { printk(" NTU\n"); } } else if (i == (int )rx_ring->next_to_clean) { { printk(" NTC\n"); } } else { { printk("\n"); } } i = i + 1; ldv_53714: ; if (i < (int )rx_ring->count) { goto ldv_53713; } else { } n = n + 1; ldv_53717: ; if (n < adapter->num_rx_queues) { goto ldv_53716; } else { } exit: ; return; } } static void ixgbe_release_hw_control(struct ixgbe_adapter *adapter ) { u32 ctrl_ext ; { { ctrl_ext = ixgbe_read_reg(& adapter->hw, 24U); ixgbe_write_reg(& adapter->hw, 24U, ctrl_ext & 4026531839U); } return; } } static void ixgbe_get_hw_control(struct ixgbe_adapter *adapter ) { u32 ctrl_ext ; { { ctrl_ext = ixgbe_read_reg(& adapter->hw, 24U); ixgbe_write_reg(& adapter->hw, 24U, ctrl_ext | 268435456U); } return; } } static void ixgbe_set_ivar(struct ixgbe_adapter *adapter , s8 direction , u8 queue , u8 msix_vector ) { u32 ivar ; u32 index ; struct ixgbe_hw *hw ; { hw = & adapter->hw; { if ((unsigned int )hw->mac.type == 1U) { goto case_1; } else { } if ((unsigned int )hw->mac.type == 2U) { goto case_2; } else { } if ((unsigned int )hw->mac.type == 3U) { goto case_3; } else { } goto switch_default; case_1: /* CIL Label */ msix_vector = (u8 )((unsigned int )msix_vector | 128U); if ((int )direction == -1) { direction = 0; } else { } { index = (u32 )(((int )direction * 64 + (int )queue) >> 2) & 31U; ivar = ixgbe_read_reg(hw, (index + 576U) * 4U); ivar = ivar & (u32 )(~ (255 << ((int )queue & 3) * 8)); ivar = ivar | (u32 )((int )msix_vector << ((int )queue & 3) * 8); ixgbe_write_reg(hw, (index + 576U) * 4U, ivar); } goto ldv_53737; case_2: /* CIL Label */ ; case_3: /* CIL Label */ ; if ((int )direction == -1) { { msix_vector = (u8 )((unsigned int )msix_vector | 128U); index = (u32 )(((int )queue & 1) * 8); ivar = ixgbe_read_reg(& adapter->hw, 2560U); ivar = ivar & (u32 )(~ (255 << (int )index)); ivar = ivar | (u32 )((int )msix_vector << (int )index); ixgbe_write_reg(& adapter->hw, 2560U, ivar); } goto ldv_53737; } else { { msix_vector = (u8 )((unsigned int )msix_vector | 128U); index = (u32 )((((int )queue & 1) * 2 + (int )direction) * 8); ivar = ixgbe_read_reg(hw, (u32 )((((int )queue >> 1) + 576) * 4)); ivar = ivar & (u32 )(~ (255 << (int )index)); ivar = ivar | (u32 )((int )msix_vector << (int )index); ixgbe_write_reg(hw, (u32 )((((int )queue >> 1) + 576) * 4), ivar); } goto ldv_53737; } switch_default: /* CIL Label */ ; goto ldv_53737; switch_break: /* CIL Label */ ; } ldv_53737: ; return; } } __inline static void ixgbe_irq_rearm_queues(struct ixgbe_adapter *adapter , u64 qmask ) { u32 mask ; { { if ((unsigned int )adapter->hw.mac.type == 1U) { goto case_1; } else { } if ((unsigned int )adapter->hw.mac.type == 2U) { goto case_2; } else { } if ((unsigned int )adapter->hw.mac.type == 3U) { goto case_3; } else { } goto switch_default; case_1: /* CIL Label */ { mask = (u32 )qmask & 65535U; ixgbe_write_reg(& adapter->hw, 2056U, mask); } goto ldv_53747; case_2: /* CIL Label */ ; case_3: /* CIL Label */ { mask = (u32 )qmask; ixgbe_write_reg(& adapter->hw, 2704U, mask); mask = (u32 )(qmask >> 32); ixgbe_write_reg(& adapter->hw, 2708U, mask); } goto ldv_53747; switch_default: /* CIL Label */ ; goto ldv_53747; switch_break: /* CIL Label */ ; } ldv_53747: ; return; } } void ixgbe_unmap_and_free_tx_resource(struct ixgbe_ring *ring , struct ixgbe_tx_buffer *tx_buffer ) { { if ((unsigned long )tx_buffer->skb != (unsigned long )((struct sk_buff *)0)) { { dev_kfree_skb_any(tx_buffer->skb); } if (tx_buffer->len != 0U) { { dma_unmap_single_attrs(ring->dev, tx_buffer->dma, (size_t )tx_buffer->len, 1, (struct dma_attrs *)0); } } else { } } else if (tx_buffer->len != 0U) { { dma_unmap_page(ring->dev, tx_buffer->dma, (size_t )tx_buffer->len, 1); } } else { } tx_buffer->next_to_watch = (union ixgbe_adv_tx_desc *)0; tx_buffer->skb = (struct sk_buff *)0; tx_buffer->len = 0U; return; } } static void ixgbe_update_xoff_rx_lfc(struct ixgbe_adapter *adapter ) { struct ixgbe_hw *hw ; struct ixgbe_hw_stats *hwstats ; int i ; u32 data ; { hw = & adapter->hw; hwstats = & adapter->stats; if ((unsigned int )hw->fc.current_mode != 3U && (unsigned int )hw->fc.current_mode != 1U) { return; } else { } { if ((unsigned int )hw->mac.type == 1U) { goto case_1; } else { } goto switch_default; case_1: /* CIL Label */ { data = ixgbe_read_reg(hw, 53096U); } goto ldv_53763; switch_default: /* CIL Label */ { data = ixgbe_read_reg(hw, 16808U); } switch_break: /* CIL Label */ ; } ldv_53763: hwstats->lxoffrxc = hwstats->lxoffrxc + (u64 )data; if (data == 0U) { return; } else { } i = 0; goto ldv_53766; ldv_53765: { clear_bit(3L, (unsigned long volatile *)(& (adapter->tx_ring[i])->state)); i = i + 1; } ldv_53766: ; if (i < adapter->num_tx_queues) { goto ldv_53765; } else { } return; } } static void ixgbe_update_xoff_received(struct ixgbe_adapter *adapter ) { struct ixgbe_hw *hw ; struct ixgbe_hw_stats *hwstats ; u32 xoff[8U] ; unsigned int tmp ; u8 tc ; int i ; bool pfc_en ; u32 pxoffrxc ; int tmp___0 ; struct ixgbe_ring *tx_ring ; { hw = & adapter->hw; hwstats = & adapter->stats; xoff[0] = 0U; tmp = 1U; { while (1) { while_continue: /* CIL Label */ ; if (tmp >= 8U) { goto while_break; } else { } xoff[tmp] = 0U; tmp = tmp + 1U; } while_break: /* CIL Label */ ; } pfc_en = adapter->dcb_cfg.pfc_mode_enable; if ((unsigned long )adapter->ixgbe_ieee_pfc != (unsigned long )((struct ieee_pfc *)0)) { pfc_en = ((int )pfc_en | ((unsigned int )(adapter->ixgbe_ieee_pfc)->pfc_en != 0U)) != 0; } else { } if ((adapter->flags & 4096U) == 0U || ! pfc_en) { { ixgbe_update_xoff_rx_lfc(adapter); } return; } else { } i = 0; goto ldv_53782; ldv_53781: ; { if ((unsigned int )hw->mac.type == 1U) { goto case_1; } else { } goto switch_default; case_1: /* CIL Label */ { pxoffrxc = ixgbe_read_reg(hw, (u32 )((i + 13256) * 4)); } goto ldv_53779; switch_default: /* CIL Label */ { pxoffrxc = ixgbe_read_reg(hw, (u32 )((i + 4184) * 4)); } switch_break: /* CIL Label */ ; } ldv_53779: { hwstats->pxoffrxc[i] = hwstats->pxoffrxc[i] + (u64 )pxoffrxc; tmp___0 = netdev_get_prio_tc_map((struct net_device const *)adapter->netdev, (u32 )i); tc = (u8 )tmp___0; xoff[(int )tc] = xoff[(int )tc] + pxoffrxc; i = i + 1; } ldv_53782: ; if (i < ((adapter->flags & 4096U) != 0U ? 8 : 1)) { goto ldv_53781; } else { } i = 0; goto ldv_53786; ldv_53785: tx_ring = adapter->tx_ring[i]; tc = tx_ring->dcb_tc; if (xoff[(int )tc] != 0U) { { clear_bit(3L, (unsigned long volatile *)(& tx_ring->state)); } } else { } i = i + 1; ldv_53786: ; if (i < adapter->num_tx_queues) { goto ldv_53785; } else { } return; } } static u64 ixgbe_get_tx_completed(struct ixgbe_ring *ring ) { { return (ring->stats.packets); } } static u64 ixgbe_get_tx_pending(struct ixgbe_ring *ring ) { struct ixgbe_adapter *adapter ; struct ixgbe_hw *hw ; u32 head ; u32 tail ; void *tmp ; { if ((unsigned long )ring->l2_accel_priv != (unsigned long )((struct ixgbe_fwd_adapter *)0)) { adapter = (ring->l2_accel_priv)->real_adapter; } else { { tmp = netdev_priv((struct net_device const *)ring->netdev); adapter = (struct ixgbe_adapter *)tmp; } } { hw = & adapter->hw; head = ixgbe_read_reg(hw, (u32 )((int )ring->reg_idx * 64 + 24592)); tail = ixgbe_read_reg(hw, (u32 )((int )ring->reg_idx * 64 + 24600)); } if (head != tail) { return ((u64 )(head < tail ? tail - head : (tail + (u32 )ring->count) - head)); } else { } return (0ULL); } } __inline static bool ixgbe_check_tx_hang(struct ixgbe_ring *tx_ring ) { u32 tx_done ; u64 tmp ; u32 tx_done_old ; u32 tx_pending ; u64 tmp___0 ; bool ret ; int tmp___1 ; { { tmp = ixgbe_get_tx_completed(tx_ring); tx_done = (u32 )tmp; tx_done_old = (u32 )tx_ring->__annonCompField97.tx_stats.tx_done_old; tmp___0 = ixgbe_get_tx_pending(tx_ring); tx_pending = (u32 )tmp___0; ret = 0; clear_bit(2L, (unsigned long volatile *)(& tx_ring->state)); } if (tx_done_old == tx_done && tx_pending != 0U) { { tmp___1 = test_and_set_bit(3L, (unsigned long volatile *)(& tx_ring->state)); ret = tmp___1 != 0; } } else { { tx_ring->__annonCompField97.tx_stats.tx_done_old = (u64 )tx_done; clear_bit(3L, (unsigned long volatile *)(& tx_ring->state)); } } return (ret); } } static void ixgbe_tx_timeout_reset(struct ixgbe_adapter *adapter ) { int tmp ; { { tmp = constant_test_bit(2L, (unsigned long const volatile *)(& adapter->state)); } if (tmp == 0) { adapter->flags2 = adapter->flags2 | 64U; if ((int )adapter->msg_enable & 1) { { netdev_warn((struct net_device const *)adapter->netdev, "initiating reset due to tx timeout\n"); } } else { } { ixgbe_service_event_schedule(adapter); } } else { } return; } } static bool ixgbe_clean_tx_irq(struct ixgbe_q_vector *q_vector , struct ixgbe_ring *tx_ring ) { struct ixgbe_adapter *adapter ; struct ixgbe_tx_buffer *tx_buffer ; union ixgbe_adv_tx_desc *tx_desc ; unsigned int total_bytes ; unsigned int total_packets ; unsigned int budget ; unsigned int i ; int tmp ; union ixgbe_adv_tx_desc *eop_desc ; long tmp___0 ; long tmp___1 ; long tmp___2 ; struct ixgbe_hw *hw ; u32 tmp___3 ; u32 tmp___4 ; int tmp___5 ; bool tmp___6 ; struct netdev_queue *tmp___7 ; bool tmp___8 ; int tmp___9 ; long tmp___10 ; bool tmp___11 ; long tmp___12 ; int tmp___13 ; u16 tmp___14 ; long tmp___15 ; { { adapter = q_vector->adapter; total_bytes = 0U; total_packets = 0U; budget = (unsigned int )q_vector->tx.work_limit; i = (unsigned int )tx_ring->next_to_clean; tmp = constant_test_bit(2L, (unsigned long const volatile *)(& adapter->state)); } if (tmp != 0) { return (1); } else { } tx_buffer = tx_ring->__annonCompField94.tx_buffer_info + (unsigned long )i; tx_desc = (union ixgbe_adv_tx_desc *)tx_ring->desc + (unsigned long )i; i = i - (unsigned int )tx_ring->count; ldv_53824: eop_desc = tx_buffer->next_to_watch; if ((unsigned long )eop_desc == (unsigned long )((union ixgbe_adv_tx_desc *)0)) { goto ldv_53820; } else { } if ((eop_desc->wb.status & 1U) == 0U) { goto ldv_53820; } else { } { tx_buffer->next_to_watch = (union ixgbe_adv_tx_desc *)0; total_bytes = total_bytes + tx_buffer->bytecount; total_packets = total_packets + (unsigned int )tx_buffer->gso_segs; dev_kfree_skb_any(tx_buffer->skb); dma_unmap_single_attrs(tx_ring->dev, tx_buffer->dma, (size_t )tx_buffer->len, 1, (struct dma_attrs *)0); tx_buffer->skb = (struct sk_buff *)0; tx_buffer->len = 0U; } goto ldv_53822; ldv_53821: { tx_buffer = tx_buffer + 1; tx_desc = tx_desc + 1; i = i + 1U; tmp___0 = ldv__builtin_expect(i == 0U, 0L); } if (tmp___0 != 0L) { i = i - (unsigned int )tx_ring->count; tx_buffer = tx_ring->__annonCompField94.tx_buffer_info; tx_desc = (union ixgbe_adv_tx_desc *)tx_ring->desc; } else { } if (tx_buffer->len != 0U) { { dma_unmap_page(tx_ring->dev, tx_buffer->dma, (size_t )tx_buffer->len, 1); tx_buffer->len = 0U; } } else { } ldv_53822: ; if ((unsigned long )tx_desc != (unsigned long )eop_desc) { goto ldv_53821; } else { } { tx_buffer = tx_buffer + 1; tx_desc = tx_desc + 1; i = i + 1U; tmp___1 = ldv__builtin_expect(i == 0U, 0L); } if (tmp___1 != 0L) { i = i - (unsigned int )tx_ring->count; tx_buffer = tx_ring->__annonCompField94.tx_buffer_info; tx_desc = (union ixgbe_adv_tx_desc *)tx_ring->desc; } else { } { __builtin_prefetch((void const *)tx_desc); budget = budget - 1U; tmp___2 = ldv__builtin_expect(budget != 0U, 1L); } if (tmp___2 != 0L) { goto ldv_53824; } else { } ldv_53820: { i = i + (unsigned int )tx_ring->count; tx_ring->next_to_clean = (u16 )i; u64_stats_update_begin(& tx_ring->syncp); tx_ring->stats.bytes = tx_ring->stats.bytes + (u64 )total_bytes; tx_ring->stats.packets = tx_ring->stats.packets + (u64 )total_packets; u64_stats_update_begin(& tx_ring->syncp); q_vector->tx.total_bytes = q_vector->tx.total_bytes + total_bytes; q_vector->tx.total_packets = q_vector->tx.total_packets + total_packets; tmp___5 = constant_test_bit(2L, (unsigned long const volatile *)(& tx_ring->state)); } if (tmp___5 != 0) { { tmp___6 = ixgbe_check_tx_hang(tx_ring); } if ((int )tmp___6) { hw = & adapter->hw; if ((int )adapter->msg_enable & 1) { { tmp___3 = ixgbe_read_reg(hw, (u32 )((int )tx_ring->reg_idx * 64 + 24600)); tmp___4 = ixgbe_read_reg(hw, (u32 )((int )tx_ring->reg_idx * 64 + 24592)); netdev_err((struct net_device const *)adapter->netdev, "Detected Tx Unit Hang\n Tx Queue <%d>\n TDH, TDT <%x>, <%x>\n next_to_use <%x>\n next_to_clean <%x>\ntx_buffer_info[next_to_clean]\n time_stamp <%lx>\n jiffies <%lx>\n", (int )tx_ring->queue_index, tmp___4, tmp___3, (int )tx_ring->next_to_use, i, (tx_ring->__annonCompField94.tx_buffer_info + (unsigned long )i)->time_stamp, jiffies); } } else { } { netif_stop_subqueue(tx_ring->netdev, (int )tx_ring->queue_index); } if (((int )adapter->msg_enable & 2) != 0) { { netdev_info((struct net_device const *)adapter->netdev, "tx hang %d detected on queue %d, resetting adapter\n", adapter->tx_timeout_count + 1U, (int )tx_ring->queue_index); } } else { } { ixgbe_tx_timeout_reset(adapter); } return (1); } else { } } else { } { tmp___7 = txring_txq((struct ixgbe_ring const *)tx_ring); netdev_tx_completed_queue(tmp___7, total_packets, total_bytes); tmp___10 = ldv__builtin_expect(total_packets != 0U, 0L); } if (tmp___10 != 0L) { { tmp___11 = netif_carrier_ok((struct net_device const *)tx_ring->netdev); tmp___12 = ldv__builtin_expect((long )tmp___11, 0L); } if (tmp___12 != 0L) { tmp___13 = 1; } else { tmp___13 = 0; } } else { tmp___13 = 0; } if (tmp___13 != 0) { { tmp___14 = ixgbe_desc_unused(tx_ring); tmp___15 = ldv__builtin_expect((unsigned int )tmp___14 > 41U, 0L); } if (tmp___15 != 0L) { { __asm__ volatile ("mfence": : : "memory"); tmp___8 = __netif_subqueue_stopped((struct net_device const *)tx_ring->netdev, (int )tx_ring->queue_index); } if ((int )tmp___8) { { tmp___9 = constant_test_bit(2L, (unsigned long const volatile *)(& adapter->state)); } if (tmp___9 == 0) { { netif_wake_subqueue(tx_ring->netdev, (int )tx_ring->queue_index); tx_ring->__annonCompField97.tx_stats.restart_queue = tx_ring->__annonCompField97.tx_stats.restart_queue + 1ULL; } } else { } } else { } } else { } } else { } return (budget != 0U); } } static void ixgbe_update_tx_dca(struct ixgbe_adapter *adapter , struct ixgbe_ring *tx_ring , int cpu ) { struct ixgbe_hw *hw ; u32 txctrl ; u8 tmp ; u16 reg_offset ; { { hw = & adapter->hw; tmp = dca3_get_tag(tx_ring->dev, cpu); txctrl = (u32 )tmp; } { if ((unsigned int )hw->mac.type == 1U) { goto case_1; } else { } if ((unsigned int )hw->mac.type == 2U) { goto case_2; } else { } if ((unsigned int )hw->mac.type == 3U) { goto case_3; } else { } goto switch_default; case_1: /* CIL Label */ reg_offset = (unsigned int )((u16 )((int )tx_ring->reg_idx + 7296)) * 4U; goto ldv_53835; case_2: /* CIL Label */ ; case_3: /* CIL Label */ reg_offset = (unsigned int )((u16 )tx_ring->reg_idx) * 64U + 24588U; txctrl = txctrl << 24; goto ldv_53835; switch_default: /* CIL Label */ ; return; switch_break: /* CIL Label */ ; } ldv_53835: { txctrl = txctrl | 8736U; ixgbe_write_reg(hw, (u32 )reg_offset, txctrl); } return; } } static void ixgbe_update_rx_dca(struct ixgbe_adapter *adapter , struct ixgbe_ring *rx_ring , int cpu ) { struct ixgbe_hw *hw ; u32 rxctrl ; u8 tmp ; u8 reg_idx ; { { hw = & adapter->hw; tmp = dca3_get_tag(rx_ring->dev, cpu); rxctrl = (u32 )tmp; reg_idx = rx_ring->reg_idx; } { if ((unsigned int )hw->mac.type == 2U) { goto case_2; } else { } if ((unsigned int )hw->mac.type == 3U) { goto case_3; } else { } goto switch_default; case_2: /* CIL Label */ ; case_3: /* CIL Label */ rxctrl = rxctrl << 24; goto ldv_53849; switch_default: /* CIL Label */ ; goto ldv_53849; switch_break: /* CIL Label */ ; } ldv_53849: { rxctrl = rxctrl | 544U; ixgbe_write_reg(hw, (u32 )((unsigned int )reg_idx <= 15U ? ((int )reg_idx + 2176) * 4 : ((unsigned int )reg_idx <= 63U ? (int )reg_idx * 64 + 4108 : ((int )reg_idx + -64) * 64 + 53260)), rxctrl); } return; } } static void ixgbe_update_dca(struct ixgbe_q_vector *q_vector ) { struct ixgbe_adapter *adapter ; struct ixgbe_ring *ring ; int cpu ; int pscr_ret__ ; void const *__vpp_verify ; int pfo_ret__ ; int pfo_ret_____0 ; int pfo_ret_____1 ; int pfo_ret_____2 ; { { adapter = q_vector->adapter; __preempt_count_add(1); __asm__ volatile ("": : : "memory"); __vpp_verify = (void const *)0; } { if (4UL == 1UL) { goto case_1; } else { } if (4UL == 2UL) { goto case_2___0; } else { } if (4UL == 4UL) { goto case_4___1; } else { } if (4UL == 8UL) { goto case_8___2; } else { } goto switch_default___3; case_1: /* CIL Label */ ; { if (4UL == 1UL) { goto case_1___0; } else { } if (4UL == 2UL) { goto case_2; } else { } if (4UL == 4UL) { goto case_4; } else { } if (4UL == 8UL) { goto case_8; } else { } goto switch_default; case_1___0: /* CIL Label */ __asm__ ("movb %%gs:%P1,%0": "=q" (pfo_ret__): "m" (cpu_number)); goto ldv_53862; case_2: /* CIL Label */ __asm__ ("movw %%gs:%P1,%0": "=r" (pfo_ret__): "m" (cpu_number)); goto ldv_53862; case_4: /* CIL Label */ __asm__ ("movl %%gs:%P1,%0": "=r" (pfo_ret__): "m" (cpu_number)); goto ldv_53862; case_8: /* CIL Label */ __asm__ ("movq %%gs:%P1,%0": "=r" (pfo_ret__): "m" (cpu_number)); goto ldv_53862; switch_default: /* CIL Label */ { __bad_percpu_size(); } switch_break___0: /* CIL Label */ ; } ldv_53862: pscr_ret__ = pfo_ret__; goto ldv_53868; case_2___0: /* CIL Label */ ; { if (4UL == 1UL) { goto case_1___1; } else { } if (4UL == 2UL) { goto case_2___1; } else { } if (4UL == 4UL) { goto case_4___0; } else { } if (4UL == 8UL) { goto case_8___0; } else { } goto switch_default___0; case_1___1: /* CIL Label */ __asm__ ("movb %%gs:%P1,%0": "=q" (pfo_ret_____0): "m" (cpu_number)); goto ldv_53872; case_2___1: /* CIL Label */ __asm__ ("movw %%gs:%P1,%0": "=r" (pfo_ret_____0): "m" (cpu_number)); goto ldv_53872; case_4___0: /* CIL Label */ __asm__ ("movl %%gs:%P1,%0": "=r" (pfo_ret_____0): "m" (cpu_number)); goto ldv_53872; case_8___0: /* CIL Label */ __asm__ ("movq %%gs:%P1,%0": "=r" (pfo_ret_____0): "m" (cpu_number)); goto ldv_53872; switch_default___0: /* CIL Label */ { __bad_percpu_size(); } switch_break___1: /* CIL Label */ ; } ldv_53872: pscr_ret__ = pfo_ret_____0; goto ldv_53868; case_4___1: /* CIL Label */ ; { if (4UL == 1UL) { goto case_1___2; } else { } if (4UL == 2UL) { goto case_2___2; } else { } if (4UL == 4UL) { goto case_4___2; } else { } if (4UL == 8UL) { goto case_8___1; } else { } goto switch_default___1; case_1___2: /* CIL Label */ __asm__ ("movb %%gs:%P1,%0": "=q" (pfo_ret_____1): "m" (cpu_number)); goto ldv_53881; case_2___2: /* CIL Label */ __asm__ ("movw %%gs:%P1,%0": "=r" (pfo_ret_____1): "m" (cpu_number)); goto ldv_53881; case_4___2: /* CIL Label */ __asm__ ("movl %%gs:%P1,%0": "=r" (pfo_ret_____1): "m" (cpu_number)); goto ldv_53881; case_8___1: /* CIL Label */ __asm__ ("movq %%gs:%P1,%0": "=r" (pfo_ret_____1): "m" (cpu_number)); goto ldv_53881; switch_default___1: /* CIL Label */ { __bad_percpu_size(); } switch_break___2: /* CIL Label */ ; } ldv_53881: pscr_ret__ = pfo_ret_____1; goto ldv_53868; case_8___2: /* CIL Label */ ; { if (4UL == 1UL) { goto case_1___3; } else { } if (4UL == 2UL) { goto case_2___3; } else { } if (4UL == 4UL) { goto case_4___3; } else { } if (4UL == 8UL) { goto case_8___3; } else { } goto switch_default___2; case_1___3: /* CIL Label */ __asm__ ("movb %%gs:%P1,%0": "=q" (pfo_ret_____2): "m" (cpu_number)); goto ldv_53890; case_2___3: /* CIL Label */ __asm__ ("movw %%gs:%P1,%0": "=r" (pfo_ret_____2): "m" (cpu_number)); goto ldv_53890; case_4___3: /* CIL Label */ __asm__ ("movl %%gs:%P1,%0": "=r" (pfo_ret_____2): "m" (cpu_number)); goto ldv_53890; case_8___3: /* CIL Label */ __asm__ ("movq %%gs:%P1,%0": "=r" (pfo_ret_____2): "m" (cpu_number)); goto ldv_53890; switch_default___2: /* CIL Label */ { __bad_percpu_size(); } switch_break___3: /* CIL Label */ ; } ldv_53890: pscr_ret__ = pfo_ret_____2; goto ldv_53868; switch_default___3: /* CIL Label */ { __bad_size_call_parameter(); } goto ldv_53868; switch_break: /* CIL Label */ ; } ldv_53868: cpu = pscr_ret__; if (q_vector->cpu == cpu) { goto out_no_update; } else { } ring = q_vector->tx.ring; goto ldv_53901; ldv_53900: { ixgbe_update_tx_dca(adapter, ring, cpu); ring = ring->next; } ldv_53901: ; if ((unsigned long )ring != (unsigned long )((struct ixgbe_ring *)0)) { goto ldv_53900; } else { } ring = q_vector->rx.ring; goto ldv_53904; ldv_53903: { ixgbe_update_rx_dca(adapter, ring, cpu); ring = ring->next; } ldv_53904: ; if ((unsigned long )ring != (unsigned long )((struct ixgbe_ring *)0)) { goto ldv_53903; } else { } q_vector->cpu = cpu; out_no_update: { __asm__ volatile ("": : : "memory"); __preempt_count_sub(1); } return; } } static void ixgbe_setup_dca(struct ixgbe_adapter *adapter ) { int i ; { if ((adapter->flags & 256U) == 0U) { return; } else { } { ixgbe_write_reg(& adapter->hw, 69748U, 2U); i = 0; } goto ldv_53911; ldv_53910: { (adapter->q_vector[i])->cpu = -1; ixgbe_update_dca(adapter->q_vector[i]); i = i + 1; } ldv_53911: ; if (i < adapter->num_q_vectors) { goto ldv_53910; } else { } return; } } static int __ixgbe_notify_dca(struct device *dev , void *data ) { struct ixgbe_adapter *adapter ; void *tmp ; unsigned long event ; int tmp___0 ; { { tmp = ldv_dev_get_drvdata_18((struct device const *)dev); adapter = (struct ixgbe_adapter *)tmp; event = *((unsigned long *)data); } if ((adapter->flags & 512U) == 0U) { return (0); } else { } { if (event == 1UL) { goto case_1; } else { } if (event == 2UL) { goto case_2; } else { } goto switch_break; case_1: /* CIL Label */ ; if ((adapter->flags & 256U) != 0U) { goto ldv_53920; } else { } { tmp___0 = dca_add_requester(dev); } if (tmp___0 == 0) { { adapter->flags = adapter->flags | 256U; ixgbe_setup_dca(adapter); } goto ldv_53920; } else { } case_2: /* CIL Label */ ; if ((adapter->flags & 256U) != 0U) { { dca_remove_requester(dev); adapter->flags = adapter->flags & 4294967039U; ixgbe_write_reg(& adapter->hw, 69748U, 1U); } } else { } goto ldv_53920; switch_break: /* CIL Label */ ; } ldv_53920: ; return (0); } } __inline static void ixgbe_rx_hash(struct ixgbe_ring *ring , union ixgbe_adv_rx_desc *rx_desc , struct sk_buff *skb ) { { if (((ring->netdev)->features & 2147483648ULL) != 0ULL) { skb->rxhash = rx_desc->wb.lower.hi_dword.rss; } else { } return; } } __inline static bool ixgbe_rx_is_fcoe(struct ixgbe_ring *ring , union ixgbe_adv_rx_desc *rx_desc ) { __le16 pkt_info ; int tmp ; { { pkt_info = rx_desc->wb.lower.lo_dword.hs_rss.pkt_info; tmp = constant_test_bit(6L, (unsigned long const volatile *)(& ring->state)); } return ((bool )(tmp != 0 && ((int )pkt_info & 112) == 32)); } } __inline static void ixgbe_rx_checksum(struct ixgbe_ring *ring , union ixgbe_adv_rx_desc *rx_desc , struct sk_buff *skb ) { __le32 tmp ; __le32 tmp___0 ; __le32 tmp___1 ; __le16 pkt_info ; int tmp___2 ; __le32 tmp___3 ; { { skb_checksum_none_assert((struct sk_buff const *)skb); } if (((ring->netdev)->features & 4294967296ULL) == 0ULL) { return; } else { } { tmp = ixgbe_test_staterr(rx_desc, 64U); } if (tmp != 0U) { { tmp___0 = ixgbe_test_staterr(rx_desc, 2147483648U); } if (tmp___0 != 0U) { ring->__annonCompField97.rx_stats.csum_err = ring->__annonCompField97.rx_stats.csum_err + 1ULL; return; } else { } } else { } { tmp___1 = ixgbe_test_staterr(rx_desc, 32U); } if (tmp___1 == 0U) { return; } else { } { tmp___3 = ixgbe_test_staterr(rx_desc, 1073741824U); } if (tmp___3 != 0U) { pkt_info = rx_desc->wb.lower.lo_dword.hs_rss.pkt_info; if (((int )pkt_info & 512) != 0) { { tmp___2 = constant_test_bit(5L, (unsigned long const volatile *)(& ring->state)); } if (tmp___2 != 0) { return; } else { } } else { } ring->__annonCompField97.rx_stats.csum_err = ring->__annonCompField97.rx_stats.csum_err + 1ULL; return; } else { } skb->ip_summed = 1U; return; } } __inline static void ixgbe_release_rx_desc(struct ixgbe_ring *rx_ring , u32 val ) { { { rx_ring->next_to_use = (u16 )val; rx_ring->__annonCompField96.next_to_alloc = (u16 )val; __asm__ volatile ("sfence": : : "memory"); ixgbe_write_tail(rx_ring, val); } return; } } static bool ixgbe_alloc_mapped_page(struct ixgbe_ring *rx_ring , struct ixgbe_rx_buffer *bi ) { struct page *page ; dma_addr_t dma ; long tmp ; unsigned int tmp___0 ; long tmp___1 ; long tmp___2 ; unsigned int tmp___3 ; unsigned int tmp___4 ; int tmp___5 ; { { page = bi->page; dma = bi->dma; tmp = ldv__builtin_expect(dma != 0ULL, 1L); } if (tmp != 0L) { return (1); } else { } { tmp___2 = ldv__builtin_expect((unsigned long )page == (unsigned long )((struct page *)0), 1L); } if (tmp___2 != 0L) { { tmp___0 = ixgbe_rx_pg_order(rx_ring); page = __skb_alloc_pages(16672U, bi->skb, tmp___0); tmp___1 = ldv__builtin_expect((unsigned long )page == (unsigned long )((struct page *)0), 0L); } if (tmp___1 != 0L) { rx_ring->__annonCompField97.rx_stats.alloc_rx_page_failed = rx_ring->__annonCompField97.rx_stats.alloc_rx_page_failed + 1ULL; return (0); } else { } bi->page = page; } else { } { tmp___3 = ixgbe_rx_pg_order(rx_ring); dma = dma_map_page(rx_ring->dev, page, 0UL, 4096UL << (int )tmp___3, 2); tmp___5 = dma_mapping_error(rx_ring->dev, dma); } if (tmp___5 != 0) { { tmp___4 = ixgbe_rx_pg_order(rx_ring); __free_pages(page, tmp___4); bi->page = (struct page *)0; rx_ring->__annonCompField97.rx_stats.alloc_rx_page_failed = rx_ring->__annonCompField97.rx_stats.alloc_rx_page_failed + 1ULL; } return (0); } else { } bi->dma = dma; bi->page_offset = 0U; return (1); } } void ixgbe_alloc_rx_buffers(struct ixgbe_ring *rx_ring , u16 cleaned_count ) { union ixgbe_adv_rx_desc *rx_desc ; struct ixgbe_rx_buffer *bi ; u16 i ; bool tmp ; int tmp___0 ; long tmp___1 ; { i = rx_ring->next_to_use; if ((unsigned int )cleaned_count == 0U) { return; } else { } rx_desc = (union ixgbe_adv_rx_desc *)rx_ring->desc + (unsigned long )i; bi = rx_ring->__annonCompField94.rx_buffer_info + (unsigned long )i; i = (int )i - (int )rx_ring->count; ldv_53956: { tmp = ixgbe_alloc_mapped_page(rx_ring, bi); } if (tmp) { tmp___0 = 0; } else { tmp___0 = 1; } if (tmp___0) { goto ldv_53955; } else { } { rx_desc->read.pkt_addr = bi->dma + (dma_addr_t )bi->page_offset; rx_desc = rx_desc + 1; bi = bi + 1; i = (u16 )((int )i + 1); tmp___1 = ldv__builtin_expect((unsigned int )i == 0U, 0L); } if (tmp___1 != 0L) { rx_desc = (union ixgbe_adv_rx_desc *)rx_ring->desc; bi = rx_ring->__annonCompField94.rx_buffer_info; i = (int )i - (int )rx_ring->count; } else { } rx_desc->read.hdr_addr = 0ULL; cleaned_count = (u16 )((int )cleaned_count - 1); if ((unsigned int )cleaned_count != 0U) { goto ldv_53956; } else { } ldv_53955: i = (int )i + (int )rx_ring->count; if ((int )rx_ring->next_to_use != (int )i) { { ixgbe_release_rx_desc(rx_ring, (u32 )i); } } else { } return; } } static unsigned int ixgbe_get_headlen(unsigned char *data , unsigned int max_len ) { union __anonunion_hdr_310 hdr ; __be16 protocol ; u8 nexthdr ; u8 hlen ; { nexthdr = 0U; if (max_len <= 13U) { return (max_len); } else { } hdr.network = data; protocol = (hdr.eth)->h_proto; hdr.network = hdr.network + 14UL; if ((unsigned int )protocol == 129U) { if ((long )hdr.network - (long )data > (long )(max_len - 4U)) { return (max_len); } else { } protocol = (hdr.vlan)->h_vlan_encapsulated_proto; hdr.network = hdr.network + 4UL; } else { } if ((unsigned int )protocol == 8U) { if ((unsigned long )((long )hdr.network - (long )data) > (unsigned long )max_len - 20UL) { return (max_len); } else { } hlen = ((unsigned int )*(hdr.network) & 15U) << 2U; if ((unsigned int )hlen <= 19U) { return ((unsigned int )((long )hdr.network) - (unsigned int )((long )data)); } else { } if (((int )(hdr.ipv4)->frag_off & 65311) == 0) { nexthdr = (hdr.ipv4)->protocol; } else { } } else if ((unsigned int )protocol == 56710U) { if ((unsigned long )((long )hdr.network - (long )data) > (unsigned long )max_len - 40UL) { return (max_len); } else { } nexthdr = (hdr.ipv6)->nexthdr; hlen = 40U; } else if ((unsigned int )protocol == 1673U) { if ((long )hdr.network - (long )data > (long )(max_len - 38U)) { return (max_len); } else { } hlen = 38U; } else { return ((unsigned int )((long )hdr.network) - (unsigned int )((long )data)); } hdr.network = hdr.network + (unsigned long )hlen; if ((unsigned int )nexthdr == 6U) { if ((unsigned long )((long )hdr.network - (long )data) > (unsigned long )max_len - 20UL) { return (max_len); } else { } hlen = (u8 )(((int )*(hdr.network + 12UL) & 240) >> 2); if ((unsigned int )hlen <= 19U) { return ((unsigned int )((long )hdr.network) - (unsigned int )((long )data)); } else { } hdr.network = hdr.network + (unsigned long )hlen; } else if ((unsigned int )nexthdr == 17U) { if ((unsigned long )((long )hdr.network - (long )data) > (unsigned long )max_len - 8UL) { return (max_len); } else { } hdr.network = hdr.network + 8UL; } else { } if ((long )hdr.network - (long )data < (long )max_len) { return ((unsigned int )((long )hdr.network) - (unsigned int )((long )data)); } else { return (max_len); } } } static void ixgbe_set_rsc_gso_size(struct ixgbe_ring *ring , struct sk_buff *skb ) { u16 hdr_len ; unsigned int tmp ; unsigned char *tmp___0 ; unsigned char *tmp___1 ; { { tmp = skb_headlen((struct sk_buff const *)skb); hdr_len = (u16 )tmp; tmp___0 = skb_end_pointer((struct sk_buff const *)skb); ((struct skb_shared_info *)tmp___0)->gso_size = (unsigned short )((((skb->len - (unsigned int )hdr_len) + (unsigned int )((struct ixgbe_cb *)(& skb->cb))->append_cnt) - 1U) / (unsigned int )((struct ixgbe_cb *)(& skb->cb))->append_cnt); tmp___1 = skb_end_pointer((struct sk_buff const *)skb); ((struct skb_shared_info *)tmp___1)->gso_type = 1U; } return; } } static void ixgbe_update_rsc_stats(struct ixgbe_ring *rx_ring , struct sk_buff *skb ) { { if ((unsigned int )((struct ixgbe_cb *)(& skb->cb))->append_cnt == 0U) { return; } else { } { rx_ring->__annonCompField97.rx_stats.rsc_count = rx_ring->__annonCompField97.rx_stats.rsc_count + (u64 )((struct ixgbe_cb *)(& skb->cb))->append_cnt; rx_ring->__annonCompField97.rx_stats.rsc_flush = rx_ring->__annonCompField97.rx_stats.rsc_flush + 1ULL; ixgbe_set_rsc_gso_size(rx_ring, skb); ((struct ixgbe_cb *)(& skb->cb))->append_cnt = 0U; } return; } } static void ixgbe_process_skb_fields(struct ixgbe_ring *rx_ring , union ixgbe_adv_rx_desc *rx_desc , struct sk_buff *skb ) { struct net_device *dev ; u16 vid ; __le32 tmp ; { { dev = rx_ring->netdev; ixgbe_update_rsc_stats(rx_ring, skb); ixgbe_rx_hash(rx_ring, rx_desc, skb); ixgbe_rx_checksum(rx_ring, rx_desc, skb); ixgbe_ptp_rx_hwtstamp(rx_ring, rx_desc, skb); } if ((dev->features & 256ULL) != 0ULL) { { tmp = ixgbe_test_staterr(rx_desc, 8U); } if (tmp != 0U) { { vid = rx_desc->wb.upper.vlan; __vlan_hwaccel_put_tag(skb, 129, (int )vid); } } else { } } else { } { skb_record_rx_queue(skb, (int )rx_ring->queue_index); skb->protocol = eth_type_trans(skb, dev); } return; } } static void ixgbe_rx_skb(struct ixgbe_q_vector *q_vector , struct sk_buff *skb ) { struct ixgbe_adapter *adapter ; bool tmp ; { { adapter = q_vector->adapter; tmp = ixgbe_qv_busy_polling(q_vector); } if ((int )tmp) { { netif_receive_skb(skb); } } else if ((adapter->flags & 128U) == 0U) { { napi_gro_receive(& q_vector->napi, skb); } } else { { netif_rx(skb); } } return; } } static bool ixgbe_is_non_eop(struct ixgbe_ring *rx_ring , union ixgbe_adv_rx_desc *rx_desc , struct sk_buff *skb ) { u32 ntc ; __le32 rsc_enabled ; u32 rsc_cnt ; long tmp ; int tmp___0 ; __le32 tmp___1 ; long tmp___2 ; { { ntc = (u32 )((int )rx_ring->next_to_clean + 1); ntc = ntc < (u32 )rx_ring->count ? ntc : 0U; rx_ring->next_to_clean = (u16 )ntc; __builtin_prefetch((void const *)rx_ring->desc + (unsigned long )ntc); tmp___0 = constant_test_bit(4L, (unsigned long const volatile *)(& rx_ring->state)); } if (tmp___0 != 0) { { rsc_enabled = rx_desc->wb.lower.lo_dword.data & 1966080U; tmp = ldv__builtin_expect(rsc_enabled != 0U, 0L); } if (tmp != 0L) { rsc_cnt = rsc_enabled; rsc_cnt = rsc_cnt >> 17; ((struct ixgbe_cb *)(& skb->cb))->append_cnt = (unsigned int )((int )((struct ixgbe_cb *)(& skb->cb))->append_cnt + (int )((u16 )rsc_cnt)) - 1U; ntc = rx_desc->wb.upper.status_error; ntc = ntc & 1048560U; ntc = ntc >> 4; } else { } } else { } { tmp___1 = ixgbe_test_staterr(rx_desc, 2U); tmp___2 = ldv__builtin_expect(tmp___1 != 0U, 1L); } if (tmp___2 != 0L) { return (0); } else { } (rx_ring->__annonCompField94.rx_buffer_info + (unsigned long )ntc)->skb = skb; rx_ring->__annonCompField97.rx_stats.non_eop_descs = rx_ring->__annonCompField97.rx_stats.non_eop_descs + 1ULL; return (1); } } static void ixgbe_pull_tail(struct ixgbe_ring *rx_ring , struct sk_buff *skb ) { struct skb_frag_struct *frag ; unsigned char *tmp ; unsigned char *va ; unsigned int pull_len ; void *tmp___0 ; { { tmp = skb_end_pointer((struct sk_buff const *)skb); frag = (struct skb_frag_struct *)(& ((struct skb_shared_info *)tmp)->frags); tmp___0 = skb_frag_address((skb_frag_t const *)frag); va = (unsigned char *)tmp___0; pull_len = ixgbe_get_headlen(va, 256U); skb_copy_to_linear_data(skb, (void const *)va, (pull_len + 7U) & 4294967288U); skb_frag_size_sub(frag, (int )pull_len); frag->page_offset = frag->page_offset + pull_len; skb->data_len = skb->data_len - pull_len; skb->tail = skb->tail + pull_len; } return; } } static void ixgbe_dma_sync_frag(struct ixgbe_ring *rx_ring , struct sk_buff *skb ) { unsigned int tmp ; struct skb_frag_struct *frag ; unsigned char *tmp___0 ; unsigned int tmp___1 ; long tmp___2 ; { { tmp___2 = ldv__builtin_expect((long )((struct ixgbe_cb *)(& skb->cb))->page_released, 0L); } if (tmp___2 != 0L) { { tmp = ixgbe_rx_pg_order(rx_ring); dma_unmap_page(rx_ring->dev, ((struct ixgbe_cb *)(& skb->cb))->dma, 4096UL << (int )tmp, 2); ((struct ixgbe_cb *)(& skb->cb))->page_released = 0; } } else { { tmp___0 = skb_end_pointer((struct sk_buff const *)skb); frag = (struct skb_frag_struct *)(& ((struct skb_shared_info *)tmp___0)->frags); tmp___1 = ixgbe_rx_bufsz(rx_ring); dma_sync_single_range_for_cpu(rx_ring->dev, ((struct ixgbe_cb *)(& skb->cb))->dma, (unsigned long )frag->page_offset, (size_t )tmp___1, 2); } } ((struct ixgbe_cb *)(& skb->cb))->dma = 0ULL; return; } } static bool ixgbe_cleanup_headers(struct ixgbe_ring *rx_ring , union ixgbe_adv_rx_desc *rx_desc , struct sk_buff *skb ) { struct net_device *netdev ; __le32 tmp ; long tmp___0 ; long tmp___1 ; bool tmp___2 ; bool tmp___3 ; int pad_len ; int tmp___4 ; long tmp___5 ; { { netdev = rx_ring->netdev; tmp = ixgbe_test_staterr(rx_desc, 989855744U); tmp___0 = ldv__builtin_expect(tmp != 0U, 0L); } if (tmp___0 != 0L) { { tmp___1 = ldv__builtin_expect((netdev->features & 68719476736ULL) == 0ULL, 0L); } if (tmp___1 != 0L) { { dev_kfree_skb_any(skb); } return (1); } else { } } else { } { tmp___2 = skb_is_nonlinear((struct sk_buff const *)skb); } if ((int )tmp___2) { { ixgbe_pull_tail(rx_ring, skb); } } else { } { tmp___3 = ixgbe_rx_is_fcoe(rx_ring, rx_desc); } if ((int )tmp___3) { return (0); } else { } { tmp___5 = ldv__builtin_expect(skb->len <= 59U, 0L); } if (tmp___5 != 0L) { { pad_len = (int )(60U - skb->len); tmp___4 = skb_pad(skb, pad_len); } if (tmp___4 != 0) { return (1); } else { } { __skb_put(skb, (unsigned int )pad_len); } } else { } return (0); } } static void ixgbe_reuse_rx_page(struct ixgbe_ring *rx_ring , struct ixgbe_rx_buffer *old_buff ) { struct ixgbe_rx_buffer *new_buff ; u16 nta ; unsigned int tmp ; { { nta = rx_ring->__annonCompField96.next_to_alloc; new_buff = rx_ring->__annonCompField94.rx_buffer_info + (unsigned long )nta; nta = (u16 )((int )nta + 1); rx_ring->__annonCompField96.next_to_alloc = (int )nta < (int )rx_ring->count ? nta : 0U; new_buff->page = old_buff->page; new_buff->dma = old_buff->dma; new_buff->page_offset = old_buff->page_offset; tmp = ixgbe_rx_bufsz(rx_ring); dma_sync_single_range_for_device(rx_ring->dev, new_buff->dma, (unsigned long )new_buff->page_offset, (size_t )tmp, 2); } return; } } static bool ixgbe_add_rx_frag(struct ixgbe_ring *rx_ring , struct ixgbe_rx_buffer *rx_buffer , union ixgbe_adv_rx_desc *rx_desc , struct sk_buff *skb ) { struct page *page ; unsigned int size ; unsigned int truesize ; unsigned int tmp ; unsigned char *va ; void *tmp___0 ; unsigned char *tmp___1 ; int tmp___2 ; int tmp___3 ; long tmp___4 ; bool tmp___5 ; int tmp___6 ; unsigned char *tmp___7 ; int tmp___8 ; int tmp___9 ; long tmp___10 ; int tmp___11 ; long tmp___12 ; { { page = rx_buffer->page; size = (unsigned int )rx_desc->wb.upper.length; tmp = ixgbe_rx_bufsz(rx_ring); truesize = tmp; } if (size <= 256U) { { tmp___5 = skb_is_nonlinear((struct sk_buff const *)skb); } if (tmp___5) { tmp___6 = 0; } else { tmp___6 = 1; } if (tmp___6) { { tmp___0 = lowmem_page_address((struct page const *)page); va = (unsigned char *)tmp___0 + (unsigned long )rx_buffer->page_offset; tmp___1 = __skb_put(skb, size); memcpy((void *)tmp___1, (void const *)va, (size_t )(size + 7U) & 4294967288UL); tmp___2 = page_to_nid((struct page const *)page); tmp___3 = numa_node_id(); tmp___4 = ldv__builtin_expect(tmp___2 == tmp___3, 1L); } if (tmp___4 != 0L) { return (1); } else { } { put_page(page); } return (0); } else { } } else { } { tmp___7 = skb_end_pointer((struct sk_buff const *)skb); skb_add_rx_frag(skb, (int )((struct skb_shared_info *)tmp___7)->nr_frags, page, (int )rx_buffer->page_offset, (int )size, truesize); tmp___8 = page_to_nid((struct page const *)page); tmp___9 = numa_node_id(); tmp___10 = ldv__builtin_expect(tmp___8 != tmp___9, 0L); } if (tmp___10 != 0L) { return (0); } else { } { tmp___11 = page_count(page); tmp___12 = ldv__builtin_expect(tmp___11 != 1, 0L); } if (tmp___12 != 0L) { return (0); } else { } { rx_buffer->page_offset = rx_buffer->page_offset ^ truesize; atomic_set(& page->__annonCompField43.__annonCompField42.__annonCompField41._count, 2); } return (1); } } static struct sk_buff *ixgbe_fetch_rx_buffer(struct ixgbe_ring *rx_ring , union ixgbe_adv_rx_desc *rx_desc ) { struct ixgbe_rx_buffer *rx_buffer ; struct sk_buff *skb ; struct page *page ; void *page_addr ; void *tmp ; long tmp___0 ; __le32 tmp___1 ; long tmp___2 ; __le32 tmp___3 ; unsigned int tmp___4 ; long tmp___5 ; unsigned int tmp___6 ; bool tmp___7 ; { { rx_buffer = rx_ring->__annonCompField94.rx_buffer_info + (unsigned long )rx_ring->next_to_clean; page = rx_buffer->page; prefetchw((void const *)page); skb = rx_buffer->skb; tmp___5 = ldv__builtin_expect((unsigned long )skb == (unsigned long )((struct sk_buff *)0), 1L); } if (tmp___5 != 0L) { { tmp = lowmem_page_address((struct page const *)page); page_addr = tmp + (unsigned long )rx_buffer->page_offset; __builtin_prefetch((void const *)page_addr); __builtin_prefetch((void const *)page_addr + 64U); skb = netdev_alloc_skb_ip_align(rx_ring->netdev, 256U); tmp___0 = ldv__builtin_expect((unsigned long )skb == (unsigned long )((struct sk_buff *)0), 0L); } if (tmp___0 != 0L) { rx_ring->__annonCompField97.rx_stats.alloc_rx_buff_failed = rx_ring->__annonCompField97.rx_stats.alloc_rx_buff_failed + 1ULL; return ((struct sk_buff *)0); } else { } { prefetchw((void const *)skb->data); tmp___1 = ixgbe_test_staterr(rx_desc, 2U); tmp___2 = ldv__builtin_expect(tmp___1 != 0U, 1L); } if (tmp___2 != 0L) { goto dma_sync; } else { } ((struct ixgbe_cb *)(& skb->cb))->dma = rx_buffer->dma; } else { { tmp___3 = ixgbe_test_staterr(rx_desc, 2U); } if (tmp___3 != 0U) { { ixgbe_dma_sync_frag(rx_ring, skb); } } else { } dma_sync: { tmp___4 = ixgbe_rx_bufsz(rx_ring); dma_sync_single_range_for_cpu(rx_ring->dev, rx_buffer->dma, (unsigned long )rx_buffer->page_offset, (size_t )tmp___4, 2); } } { tmp___7 = ixgbe_add_rx_frag(rx_ring, rx_buffer, rx_desc, skb); } if ((int )tmp___7) { { ixgbe_reuse_rx_page(rx_ring, rx_buffer); } } else if (((struct ixgbe_cb *)(& skb->cb))->dma == rx_buffer->dma) { ((struct ixgbe_cb *)(& skb->cb))->page_released = 1; } else { { tmp___6 = ixgbe_rx_pg_order(rx_ring); dma_unmap_page(rx_ring->dev, rx_buffer->dma, 4096UL << (int )tmp___6, 2); } } rx_buffer->skb = (struct sk_buff *)0; rx_buffer->dma = 0ULL; rx_buffer->page = (struct page *)0; return (skb); } } static int ixgbe_clean_rx_irq(struct ixgbe_q_vector *q_vector , struct ixgbe_ring *rx_ring , int const budget ) { unsigned int total_rx_bytes ; unsigned int total_rx_packets ; struct ixgbe_adapter *adapter ; int ddp_bytes ; unsigned int mss ; u16 cleaned_count ; u16 tmp ; union ixgbe_adv_rx_desc *rx_desc ; struct sk_buff *skb ; __le32 tmp___0 ; bool tmp___1 ; bool tmp___2 ; bool tmp___3 ; long tmp___4 ; { { total_rx_bytes = 0U; total_rx_packets = 0U; adapter = q_vector->adapter; mss = 0U; tmp = ixgbe_desc_unused(rx_ring); cleaned_count = tmp; } ldv_54059: ; if ((unsigned int )cleaned_count > 15U) { { ixgbe_alloc_rx_buffers(rx_ring, (int )cleaned_count); cleaned_count = 0U; } } else { } { rx_desc = (union ixgbe_adv_rx_desc *)rx_ring->desc + (unsigned long )rx_ring->next_to_clean; tmp___0 = ixgbe_test_staterr(rx_desc, 1U); } if (tmp___0 == 0U) { goto ldv_54057; } else { } { __asm__ volatile ("lfence": : : "memory"); skb = ixgbe_fetch_rx_buffer(rx_ring, rx_desc); } if ((unsigned long )skb == (unsigned long )((struct sk_buff *)0)) { goto ldv_54057; } else { } { cleaned_count = (u16 )((int )cleaned_count + 1); tmp___1 = ixgbe_is_non_eop(rx_ring, rx_desc, skb); } if ((int )tmp___1) { goto ldv_54058; } else { } { tmp___2 = ixgbe_cleanup_headers(rx_ring, rx_desc, skb); } if ((int )tmp___2) { goto ldv_54058; } else { } { total_rx_bytes = total_rx_bytes + skb->len; ixgbe_process_skb_fields(rx_ring, rx_desc, skb); tmp___3 = ixgbe_rx_is_fcoe(rx_ring, rx_desc); } if ((int )tmp___3) { { ddp_bytes = ixgbe_fcoe_ddp(adapter, rx_desc, skb); } if (ddp_bytes > 0) { if (mss == 0U) { mss = (rx_ring->netdev)->mtu - 46U; if (mss > 512U) { mss = mss & 4294966784U; } else { } } else { } total_rx_bytes = total_rx_bytes + (unsigned int )ddp_bytes; total_rx_packets = total_rx_packets + (((unsigned int )ddp_bytes + mss) - 1U) / mss; } else { } if (ddp_bytes == 0) { { dev_kfree_skb_any(skb); } goto ldv_54058; } else { } } else { } { skb_mark_napi_id(skb, & q_vector->napi); ixgbe_rx_skb(q_vector, skb); total_rx_packets = total_rx_packets + 1U; } ldv_54058: { tmp___4 = ldv__builtin_expect(total_rx_packets < (unsigned int )budget, 1L); } if (tmp___4 != 0L) { goto ldv_54059; } else { } ldv_54057: { u64_stats_update_begin(& rx_ring->syncp); rx_ring->stats.packets = rx_ring->stats.packets + (u64 )total_rx_packets; rx_ring->stats.bytes = rx_ring->stats.bytes + (u64 )total_rx_bytes; u64_stats_update_begin(& rx_ring->syncp); q_vector->rx.total_packets = q_vector->rx.total_packets + total_rx_packets; q_vector->rx.total_bytes = q_vector->rx.total_bytes + total_rx_bytes; } if ((unsigned int )cleaned_count != 0U) { { ixgbe_alloc_rx_buffers(rx_ring, (int )cleaned_count); } } else { } return ((int )total_rx_packets); } } static int ixgbe_low_latency_recv(struct napi_struct *napi ) { struct ixgbe_q_vector *q_vector ; struct napi_struct const *__mptr ; struct ixgbe_adapter *adapter ; struct ixgbe_ring *ring ; int found ; int tmp ; bool tmp___0 ; int tmp___1 ; { { __mptr = (struct napi_struct const *)napi; q_vector = (struct ixgbe_q_vector *)__mptr + 0xffffffffffffffc0UL; adapter = q_vector->adapter; found = 0; tmp = constant_test_bit(2L, (unsigned long const volatile *)(& adapter->state)); } if (tmp != 0) { return (-1); } else { } { tmp___0 = ixgbe_qv_lock_poll(q_vector); } if (tmp___0) { tmp___1 = 0; } else { tmp___1 = 1; } if (tmp___1) { return (-2); } else { } ring = q_vector->rx.ring; goto ldv_54071; ldv_54070: { found = ixgbe_clean_rx_irq(q_vector, ring, 4); } if (found != 0) { ring->stats.cleaned = ring->stats.cleaned + (u64 )found; } else { ring->stats.misses = ring->stats.misses + 1ULL; } if (found != 0) { goto ldv_54069; } else { } ring = ring->next; ldv_54071: ; if ((unsigned long )ring != (unsigned long )((struct ixgbe_ring *)0)) { goto ldv_54070; } else { } ldv_54069: { ixgbe_qv_unlock_poll(q_vector); } return (found); } } static void ixgbe_configure_msix(struct ixgbe_adapter *adapter ) { struct ixgbe_q_vector *q_vector ; int v_idx ; u32 mask ; u32 eitrsel ; struct ixgbe_ring *ring ; { if (adapter->num_vfs > 32U) { { eitrsel = (u32 )((1 << (int )(adapter->num_vfs - 32U)) + -1); ixgbe_write_reg(& adapter->hw, 2196U, eitrsel); } } else { } v_idx = 0; goto ldv_54087; ldv_54086: q_vector = adapter->q_vector[v_idx]; ring = q_vector->rx.ring; goto ldv_54081; ldv_54080: { ixgbe_set_ivar(adapter, 0, (int )ring->reg_idx, (int )((u8 )v_idx)); ring = ring->next; } ldv_54081: ; if ((unsigned long )ring != (unsigned long )((struct ixgbe_ring *)0)) { goto ldv_54080; } else { } ring = q_vector->tx.ring; goto ldv_54084; ldv_54083: { ixgbe_set_ivar(adapter, 1, (int )ring->reg_idx, (int )((u8 )v_idx)); ring = ring->next; } ldv_54084: ; if ((unsigned long )ring != (unsigned long )((struct ixgbe_ring *)0)) { goto ldv_54083; } else { } { ixgbe_write_eitr(q_vector); v_idx = v_idx + 1; } ldv_54087: ; if (v_idx < adapter->num_q_vectors) { goto ldv_54086; } else { } { if ((unsigned int )adapter->hw.mac.type == 1U) { goto case_1; } else { } if ((unsigned int )adapter->hw.mac.type == 2U) { goto case_2; } else { } if ((unsigned int )adapter->hw.mac.type == 3U) { goto case_3; } else { } goto switch_default; case_1: /* CIL Label */ { ixgbe_set_ivar(adapter, -1, 97, (int )((u8 )v_idx)); } goto ldv_54090; case_2: /* CIL Label */ ; case_3: /* CIL Label */ { ixgbe_set_ivar(adapter, -1, 1, (int )((u8 )v_idx)); } goto ldv_54090; switch_default: /* CIL Label */ ; goto ldv_54090; switch_break: /* CIL Label */ ; } ldv_54090: { ixgbe_write_reg(& adapter->hw, (u32 )(v_idx <= 23 ? (v_idx + 520) * 4 : (v_idx + 18600) * 4), 1950U); mask = 3222339583U; mask = mask & 2145910783U; ixgbe_write_reg(& adapter->hw, 2064U, mask); } return; } } static void ixgbe_update_itr(struct ixgbe_q_vector *q_vector , struct ixgbe_ring_container *ring_container ) { int bytes ; int packets ; u32 timepassed_us ; u64 bytes_perint ; u8 itr_setting ; { bytes = (int )ring_container->total_bytes; packets = (int )ring_container->total_packets; itr_setting = ring_container->itr; if (packets == 0) { return; } else { } timepassed_us = (u32 )((int )q_vector->itr >> 2); if (timepassed_us == 0U) { return; } else { } bytes_perint = (u64 )((u32 )bytes / timepassed_us); { if ((int )itr_setting == 0) { goto case_0; } else { } if ((int )itr_setting == 1) { goto case_1; } else { } if ((int )itr_setting == 2) { goto case_2; } else { } goto switch_break; case_0: /* CIL Label */ ; if (bytes_perint > 10ULL) { itr_setting = 1U; } else { } goto ldv_54109; case_1: /* CIL Label */ ; if (bytes_perint > 20ULL) { itr_setting = 2U; } else if (bytes_perint <= 10ULL) { itr_setting = 0U; } else { } goto ldv_54109; case_2: /* CIL Label */ ; if (bytes_perint <= 20ULL) { itr_setting = 1U; } else { } goto ldv_54109; switch_break: /* CIL Label */ ; } ldv_54109: ring_container->total_bytes = 0U; ring_container->total_packets = 0U; ring_container->itr = itr_setting; return; } } void ixgbe_write_eitr(struct ixgbe_q_vector *q_vector ) { struct ixgbe_adapter *adapter ; struct ixgbe_hw *hw ; int v_idx ; u32 itr_reg ; { adapter = q_vector->adapter; hw = & adapter->hw; v_idx = (int )q_vector->v_idx; itr_reg = (u32 )q_vector->itr & 4088U; { if ((unsigned int )adapter->hw.mac.type == 1U) { goto case_1; } else { } if ((unsigned int )adapter->hw.mac.type == 2U) { goto case_2; } else { } if ((unsigned int )adapter->hw.mac.type == 3U) { goto case_3; } else { } goto switch_default; case_1: /* CIL Label */ itr_reg = itr_reg | (itr_reg << 16); goto ldv_54120; case_2: /* CIL Label */ ; case_3: /* CIL Label */ itr_reg = itr_reg | 2147483648U; goto ldv_54120; switch_default: /* CIL Label */ ; goto ldv_54120; switch_break: /* CIL Label */ ; } ldv_54120: { ixgbe_write_reg(hw, (u32 )(v_idx <= 23 ? (v_idx + 520) * 4 : (v_idx + 18600) * 4), itr_reg); } return; } } static void ixgbe_set_itr(struct ixgbe_q_vector *q_vector ) { u32 new_itr ; u8 current_itr ; u8 _max1 ; u8 _max2 ; { { new_itr = (u32 )q_vector->itr; ixgbe_update_itr(q_vector, & q_vector->tx); ixgbe_update_itr(q_vector, & q_vector->rx); _max1 = q_vector->rx.itr; _max2 = q_vector->tx.itr; current_itr = (u8 )((int )_max1 > (int )_max2 ? _max1 : _max2); } { if ((int )current_itr == 0) { goto case_0; } else { } if ((int )current_itr == 1) { goto case_1; } else { } if ((int )current_itr == 2) { goto case_2; } else { } goto switch_default; case_0: /* CIL Label */ new_itr = 40U; goto ldv_54133; case_1: /* CIL Label */ new_itr = 200U; goto ldv_54133; case_2: /* CIL Label */ new_itr = 500U; goto ldv_54133; switch_default: /* CIL Label */ ; goto ldv_54133; switch_break: /* CIL Label */ ; } ldv_54133: ; if (new_itr != (u32 )q_vector->itr) { { new_itr = ((new_itr * (u32 )q_vector->itr) * 10U) / (new_itr * 9U + (u32 )q_vector->itr); q_vector->itr = (u16 )new_itr; ixgbe_write_eitr(q_vector); } } else { } return; } } static void ixgbe_check_overtemp_subtask(struct ixgbe_adapter *adapter ) { struct ixgbe_hw *hw ; u32 eicr ; int tmp ; u32 speed ; bool link_up ; s32 tmp___0 ; { { hw = & adapter->hw; eicr = adapter->interrupt_event; tmp = constant_test_bit(2L, (unsigned long const volatile *)(& adapter->state)); } if (tmp != 0) { return; } else { } if (*((unsigned int *)adapter + 135UL) == 0U) { return; } else { } adapter->flags2 = adapter->flags2 & 4294967287U; { if ((int )hw->device_id == 5404) { goto case_5404; } else { } goto switch_default; case_5404: /* CIL Label */ ; if ((eicr & 17825792U) == 0U) { return; } else { } if ((eicr & 1048576U) == 0U && (unsigned long )hw->mac.ops.check_link != (unsigned long )((s32 (*)(struct ixgbe_hw * , ixgbe_link_speed * , bool * , bool ))0)) { { link_up = 0; (*(hw->mac.ops.check_link))(hw, & speed, & link_up, 0); } if ((int )link_up) { return; } else { } } else { } { tmp___0 = (*(hw->phy.ops.check_overtemp))(hw); } if (tmp___0 != -26) { return; } else { } goto ldv_54145; switch_default: /* CIL Label */ ; if ((eicr & 16777216U) == 0U) { return; } else { } goto ldv_54145; switch_break: /* CIL Label */ ; } ldv_54145: ; if ((int )adapter->msg_enable & 1) { { netdev_crit((struct net_device const *)adapter->netdev, "Network adapter has been stopped because it has over heated. Restart the computer. If the problem persists, power off the system and replace the adapter\n"); } } else { } adapter->interrupt_event = 0U; return; } } static void ixgbe_check_fan_failure(struct ixgbe_adapter *adapter , u32 eicr ) { struct ixgbe_hw *hw ; { hw = & adapter->hw; if ((adapter->flags & 32768U) != 0U && (eicr & 33554432U) != 0U) { if (((int )adapter->msg_enable & 2) != 0) { { netdev_crit((struct net_device const *)adapter->netdev, "Fan has stopped, replace the adapter\n"); } } else { } { ixgbe_write_reg(hw, 2048U, 33554432U); } } else { } return; } } static void ixgbe_check_overtemp_event(struct ixgbe_adapter *adapter , u32 eicr ) { int tmp ; { if ((adapter->flags2 & 4U) == 0U) { return; } else { } { if ((unsigned int )adapter->hw.mac.type == 2U) { goto case_2; } else { } if ((unsigned int )adapter->hw.mac.type == 3U) { goto case_3; } else { } goto switch_default; case_2: /* CIL Label */ ; if ((eicr & 17825792U) != 0U) { { tmp = constant_test_bit(2L, (unsigned long const volatile *)(& adapter->state)); } if (tmp == 0) { { adapter->interrupt_event = eicr; adapter->flags2 = adapter->flags2 | 8U; ixgbe_service_event_schedule(adapter); } return; } else { } } else { } return; case_3: /* CIL Label */ ; if ((eicr & 8388608U) == 0U) { return; } else { } goto ldv_54158; switch_default: /* CIL Label */ ; return; switch_break: /* CIL Label */ ; } ldv_54158: ; if ((int )adapter->msg_enable & 1) { { netdev_crit((struct net_device const *)adapter->netdev, "Network adapter has been stopped because it has over heated. Restart the computer. If the problem persists, power off the system and replace the adapter\n"); } } else { } return; } } static void ixgbe_check_sfp_event(struct ixgbe_adapter *adapter , u32 eicr ) { struct ixgbe_hw *hw ; int tmp ; int tmp___0 ; { hw = & adapter->hw; if ((eicr & 67108864U) != 0U) { { ixgbe_write_reg(hw, 2048U, 67108864U); tmp = constant_test_bit(2L, (unsigned long const volatile *)(& adapter->state)); } if (tmp == 0) { { adapter->flags2 = adapter->flags2 | 32U; ixgbe_service_event_schedule(adapter); } } else { } } else { } if ((eicr & 33554432U) != 0U) { { ixgbe_write_reg(hw, 2048U, 33554432U); tmp___0 = constant_test_bit(2L, (unsigned long const volatile *)(& adapter->state)); } if (tmp___0 == 0) { { adapter->flags = adapter->flags | 131072U; ixgbe_service_event_schedule(adapter); } } else { } } else { } return; } } static void ixgbe_check_lsc(struct ixgbe_adapter *adapter ) { struct ixgbe_hw *hw ; int tmp ; { { hw = & adapter->hw; adapter->lsc_int = adapter->lsc_int + 1ULL; adapter->flags = adapter->flags | 65536U; adapter->link_check_timeout = jiffies; tmp = constant_test_bit(2L, (unsigned long const volatile *)(& adapter->state)); } if (tmp == 0) { { ixgbe_write_reg(hw, 2184U, 1048576U); ixgbe_read_reg(hw, 8U); ixgbe_service_event_schedule(adapter); } } else { } return; } } __inline static void ixgbe_irq_enable_queues(struct ixgbe_adapter *adapter , u64 qmask ) { u32 mask ; struct ixgbe_hw *hw ; { hw = & adapter->hw; { if ((unsigned int )hw->mac.type == 1U) { goto case_1; } else { } if ((unsigned int )hw->mac.type == 2U) { goto case_2; } else { } if ((unsigned int )hw->mac.type == 3U) { goto case_3; } else { } goto switch_default; case_1: /* CIL Label */ { mask = (u32 )qmask & 65535U; ixgbe_write_reg(hw, 2176U, mask); } goto ldv_54176; case_2: /* CIL Label */ ; case_3: /* CIL Label */ mask = (u32 )qmask; if (mask != 0U) { { ixgbe_write_reg(hw, 2720U, mask); } } else { } mask = (u32 )(qmask >> 32); if (mask != 0U) { { ixgbe_write_reg(hw, 2724U, mask); } } else { } goto ldv_54176; switch_default: /* CIL Label */ ; goto ldv_54176; switch_break: /* CIL Label */ ; } ldv_54176: ; return; } } __inline static void ixgbe_irq_disable_queues(struct ixgbe_adapter *adapter , u64 qmask ) { u32 mask ; struct ixgbe_hw *hw ; { hw = & adapter->hw; { if ((unsigned int )hw->mac.type == 1U) { goto case_1; } else { } if ((unsigned int )hw->mac.type == 2U) { goto case_2; } else { } if ((unsigned int )hw->mac.type == 3U) { goto case_3; } else { } goto switch_default; case_1: /* CIL Label */ { mask = (u32 )qmask & 65535U; ixgbe_write_reg(hw, 2184U, mask); } goto ldv_54187; case_2: /* CIL Label */ ; case_3: /* CIL Label */ mask = (u32 )qmask; if (mask != 0U) { { ixgbe_write_reg(hw, 2736U, mask); } } else { } mask = (u32 )(qmask >> 32); if (mask != 0U) { { ixgbe_write_reg(hw, 2740U, mask); } } else { } goto ldv_54187; switch_default: /* CIL Label */ ; goto ldv_54187; switch_break: /* CIL Label */ ; } ldv_54187: ; return; } } __inline static void ixgbe_irq_enable(struct ixgbe_adapter *adapter , bool queues , bool flush ) { u32 mask ; { mask = 3222274048U; if ((adapter->flags & 65536U) != 0U) { mask = mask & 4293918719U; } else { } if ((adapter->flags2 & 4U) != 0U) { { if ((unsigned int )adapter->hw.mac.type == 2U) { goto case_2; } else { } if ((unsigned int )adapter->hw.mac.type == 3U) { goto case_3; } else { } goto switch_default; case_2: /* CIL Label */ mask = mask | 16777216U; goto ldv_54198; case_3: /* CIL Label */ mask = mask | 8388608U; goto ldv_54198; switch_default: /* CIL Label */ ; goto ldv_54198; switch_break: /* CIL Label */ ; } ldv_54198: ; } else { } if ((adapter->flags & 32768U) != 0U) { mask = mask | 33554432U; } else { } { if ((unsigned int )adapter->hw.mac.type == 2U) { goto case_2___0; } else { } if ((unsigned int )adapter->hw.mac.type == 3U) { goto case_3___0; } else { } goto switch_default___0; case_2___0: /* CIL Label */ mask = mask | 33554432U; mask = mask | 67108864U; case_3___0: /* CIL Label */ mask = mask | 268435456U; mask = mask | 524288U; goto ldv_54203; switch_default___0: /* CIL Label */ ; goto ldv_54203; switch_break___0: /* CIL Label */ ; } ldv_54203: ; if ((unsigned int )adapter->hw.mac.type == 3U) { mask = mask | 16777216U; } else { } if (*((unsigned long *)adapter + 67UL) == 262144UL) { mask = mask | 65536U; } else { } { ixgbe_write_reg(& adapter->hw, 2176U, mask); } if ((int )queues) { { ixgbe_irq_enable_queues(adapter, 0xffffffffffffffffULL); } } else { } if ((int )flush) { { ixgbe_read_reg(& adapter->hw, 8U); } } else { } return; } } static irqreturn_t ixgbe_msix_other(int irq , void *data ) { struct ixgbe_adapter *adapter ; struct ixgbe_hw *hw ; u32 eicr ; int reinit_count ; int i ; struct ixgbe_ring *ring ; int tmp ; long tmp___0 ; int tmp___1 ; { { adapter = (struct ixgbe_adapter *)data; hw = & adapter->hw; eicr = ixgbe_read_reg(hw, 2056U); eicr = eicr & 4294901760U; ixgbe_write_reg(hw, 2048U, eicr); } if ((eicr & 1048576U) != 0U) { { ixgbe_check_lsc(adapter); } } else { } if ((eicr & 524288U) != 0U) { { ixgbe_msg_task(adapter); } } else { } { if ((unsigned int )hw->mac.type == 2U) { goto case_2; } else { } if ((unsigned int )hw->mac.type == 3U) { goto case_3; } else { } goto switch_default; case_2: /* CIL Label */ ; case_3: /* CIL Label */ ; if ((eicr & 268435456U) != 0U) { if (((int )adapter->msg_enable & 4) != 0) { { netdev_info((struct net_device const *)adapter->netdev, "Received unrecoverable ECC Err, please reboot\n"); } } else { } } else { } if ((eicr & 65536U) != 0U) { reinit_count = 0; i = 0; goto ldv_54218; ldv_54217: { ring = adapter->tx_ring[i]; tmp = test_and_set_bit(0L, (unsigned long volatile *)(& ring->state)); } if (tmp != 0) { reinit_count = reinit_count + 1; } else { } i = i + 1; ldv_54218: ; if (i < adapter->num_tx_queues) { goto ldv_54217; } else { } if (reinit_count != 0) { { ixgbe_write_reg(hw, 2184U, 65536U); adapter->flags2 = adapter->flags2 | 128U; ixgbe_service_event_schedule(adapter); } } else { } } else { } { ixgbe_check_sfp_event(adapter, eicr); ixgbe_check_overtemp_event(adapter, eicr); } goto ldv_54220; switch_default: /* CIL Label */ ; goto ldv_54220; switch_break: /* CIL Label */ ; } ldv_54220: { ixgbe_check_fan_failure(adapter, eicr); tmp___0 = ldv__builtin_expect((eicr & 16777216U) != 0U, 0L); } if (tmp___0 != 0L) { { ixgbe_ptp_check_pps_event(adapter, eicr); } } else { } { tmp___1 = constant_test_bit(2L, (unsigned long const volatile *)(& adapter->state)); } if (tmp___1 == 0) { { ixgbe_irq_enable(adapter, 0, 0); } } else { } return (1); } } static irqreturn_t ixgbe_msix_clean_rings(int irq , void *data ) { struct ixgbe_q_vector *q_vector ; { q_vector = (struct ixgbe_q_vector *)data; if ((unsigned long )q_vector->rx.ring != (unsigned long )((struct ixgbe_ring *)0) || (unsigned long )q_vector->tx.ring != (unsigned long )((struct ixgbe_ring *)0)) { { napi_schedule(& q_vector->napi); } } else { } return (1); } } int ixgbe_poll(struct napi_struct *napi , int budget ) { struct ixgbe_q_vector *q_vector ; struct napi_struct const *__mptr ; struct ixgbe_adapter *adapter ; struct ixgbe_ring *ring ; int per_ring_budget ; bool clean_complete ; bool tmp ; bool tmp___0 ; int tmp___1 ; int _max1 ; int _max2 ; int tmp___2 ; int tmp___3 ; { __mptr = (struct napi_struct const *)napi; q_vector = (struct ixgbe_q_vector *)__mptr + 0xffffffffffffffc0UL; adapter = q_vector->adapter; clean_complete = 1; if ((adapter->flags & 256U) != 0U) { { ixgbe_update_dca(q_vector); } } else { } ring = q_vector->tx.ring; goto ldv_54239; ldv_54238: { tmp = ixgbe_clean_tx_irq(q_vector, ring); clean_complete = ((int )clean_complete & (int )tmp) != 0; ring = ring->next; } ldv_54239: ; if ((unsigned long )ring != (unsigned long )((struct ixgbe_ring *)0)) { goto ldv_54238; } else { } { tmp___0 = ixgbe_qv_lock_napi(q_vector); } if (tmp___0) { tmp___1 = 0; } else { tmp___1 = 1; } if (tmp___1) { return (budget); } else { } if ((unsigned int )q_vector->rx.count > 1U) { _max1 = budget / (int )q_vector->rx.count; _max2 = 1; per_ring_budget = _max1 > _max2 ? _max1 : _max2; } else { per_ring_budget = budget; } ring = q_vector->rx.ring; goto ldv_54245; ldv_54244: { tmp___2 = ixgbe_clean_rx_irq(q_vector, ring, per_ring_budget); clean_complete = ((int )clean_complete & (tmp___2 < per_ring_budget)) != 0; ring = ring->next; } ldv_54245: ; if ((unsigned long )ring != (unsigned long )((struct ixgbe_ring *)0)) { goto ldv_54244; } else { } { ixgbe_qv_unlock_napi(q_vector); } if (! clean_complete) { return (budget); } else { } { napi_complete(napi); } if ((int )adapter->rx_itr_setting & 1) { { ixgbe_set_itr(q_vector); } } else { } { tmp___3 = constant_test_bit(2L, (unsigned long const volatile *)(& adapter->state)); } if (tmp___3 == 0) { { ixgbe_irq_enable_queues(adapter, 1ULL << (int )q_vector->v_idx); } } else { } return (0); } } static int ixgbe_request_msix_irqs(struct ixgbe_adapter *adapter ) { struct net_device *netdev ; int vector ; int err ; int ri ; int ti ; struct ixgbe_q_vector *q_vector ; struct msix_entry *entry ; int tmp ; int tmp___0 ; int tmp___1 ; { netdev = adapter->netdev; ri = 0; ti = 0; vector = 0; goto ldv_54260; ldv_54259: q_vector = adapter->q_vector[vector]; entry = adapter->msix_entries + (unsigned long )vector; if ((unsigned long )q_vector->tx.ring != (unsigned long )((struct ixgbe_ring *)0) && (unsigned long )q_vector->rx.ring != (unsigned long )((struct ixgbe_ring *)0)) { { tmp = ri; ri = ri + 1; snprintf((char *)(& q_vector->name), 24UL, "%s-%s-%d", (char *)(& netdev->name), (char *)"TxRx", tmp); ti = ti + 1; } } else if ((unsigned long )q_vector->rx.ring != (unsigned long )((struct ixgbe_ring *)0)) { { tmp___0 = ri; ri = ri + 1; snprintf((char *)(& q_vector->name), 24UL, "%s-%s-%d", (char *)(& netdev->name), (char *)"rx", tmp___0); } } else if ((unsigned long )q_vector->tx.ring != (unsigned long )((struct ixgbe_ring *)0)) { { tmp___1 = ti; ti = ti + 1; snprintf((char *)(& q_vector->name), 24UL, "%s-%s-%d", (char *)(& netdev->name), (char *)"tx", tmp___1); } } else { goto ldv_54257; } { err = ldv_request_irq_19(entry->vector, & ixgbe_msix_clean_rings, 0UL, (char const *)(& q_vector->name), (void *)q_vector); } if (err != 0) { if (((int )adapter->msg_enable & 2) != 0) { { netdev_err((struct net_device const *)adapter->netdev, "request_irq failed for MSIX interrupt Error: %d\n", err); } } else { } goto free_queue_irqs; } else { } if ((adapter->flags & 262144U) != 0U) { { irq_set_affinity_hint(entry->vector, (struct cpumask const *)(& q_vector->affinity_mask)); } } else { } ldv_54257: vector = vector + 1; ldv_54260: ; if (vector < adapter->num_q_vectors) { goto ldv_54259; } else { } { err = ldv_request_irq_20((adapter->msix_entries + (unsigned long )vector)->vector, & ixgbe_msix_other, 0UL, (char const *)(& netdev->name), (void *)adapter); } if (err != 0) { if (((int )adapter->msg_enable & 2) != 0) { { netdev_err((struct net_device const *)adapter->netdev, "request_irq for msix_other failed: %d\n", err); } } else { } goto free_queue_irqs; } else { } return (0); free_queue_irqs: ; goto ldv_54263; ldv_54262: { vector = vector - 1; irq_set_affinity_hint((adapter->msix_entries + (unsigned long )vector)->vector, (struct cpumask const *)0); ldv_free_irq_21((adapter->msix_entries + (unsigned long )vector)->vector, (void *)adapter->q_vector[vector]); } ldv_54263: ; if (vector != 0) { goto ldv_54262; } else { } { adapter->flags = adapter->flags & 4294967287U; pci_disable_msix(adapter->pdev); kfree((void const *)adapter->msix_entries); adapter->msix_entries = (struct msix_entry *)0; } return (err); } } static irqreturn_t ixgbe_intr(int irq , void *data ) { struct ixgbe_adapter *adapter ; struct ixgbe_hw *hw ; struct ixgbe_q_vector *q_vector ; u32 eicr ; int tmp ; long tmp___0 ; int tmp___1 ; { { adapter = (struct ixgbe_adapter *)data; hw = & adapter->hw; q_vector = adapter->q_vector[0]; ixgbe_write_reg(hw, 2184U, 4294967295U); eicr = ixgbe_read_reg(hw, 2048U); } if (eicr == 0U) { { tmp = constant_test_bit(2L, (unsigned long const volatile *)(& adapter->state)); } if (tmp == 0) { { ixgbe_irq_enable(adapter, 1, 1); } } else { } return (0); } else { } if ((eicr & 1048576U) != 0U) { { ixgbe_check_lsc(adapter); } } else { } { if ((unsigned int )hw->mac.type == 2U) { goto case_2; } else { } if ((unsigned int )hw->mac.type == 3U) { goto case_3; } else { } goto switch_default; case_2: /* CIL Label */ { ixgbe_check_sfp_event(adapter, eicr); } case_3: /* CIL Label */ ; if ((eicr & 268435456U) != 0U) { if (((int )adapter->msg_enable & 4) != 0) { { netdev_info((struct net_device const *)adapter->netdev, "Received unrecoverable ECC err, please reboot\n"); } } else { } } else { } { ixgbe_check_overtemp_event(adapter, eicr); } goto ldv_54275; switch_default: /* CIL Label */ ; goto ldv_54275; switch_break: /* CIL Label */ ; } ldv_54275: { ixgbe_check_fan_failure(adapter, eicr); tmp___0 = ldv__builtin_expect((eicr & 16777216U) != 0U, 0L); } if (tmp___0 != 0L) { { ixgbe_ptp_check_pps_event(adapter, eicr); } } else { } { napi_schedule(& q_vector->napi); tmp___1 = constant_test_bit(2L, (unsigned long const volatile *)(& adapter->state)); } if (tmp___1 == 0) { { ixgbe_irq_enable(adapter, 0, 0); } } else { } return (1); } } static int ixgbe_request_irq(struct ixgbe_adapter *adapter ) { struct net_device *netdev ; int err ; { netdev = adapter->netdev; if ((adapter->flags & 8U) != 0U) { { err = ixgbe_request_msix_irqs(adapter); } } else if ((adapter->flags & 2U) != 0U) { { err = ldv_request_irq_22((adapter->pdev)->irq, & ixgbe_intr, 0UL, (char const *)(& netdev->name), (void *)adapter); } } else { { err = ldv_request_irq_23((adapter->pdev)->irq, & ixgbe_intr, 128UL, (char const *)(& netdev->name), (void *)adapter); } } if (err != 0) { if (((int )adapter->msg_enable & 2) != 0) { { netdev_err((struct net_device const *)adapter->netdev, "request_irq failed, Error %d\n", err); } } else { } } else { } return (err); } } static void ixgbe_free_irq(struct ixgbe_adapter *adapter ) { int vector ; struct ixgbe_q_vector *q_vector ; struct msix_entry *entry ; int tmp ; { if ((adapter->flags & 8U) == 0U) { { ldv_free_irq_24((adapter->pdev)->irq, (void *)adapter); } return; } else { } vector = 0; goto ldv_54290; ldv_54289: q_vector = adapter->q_vector[vector]; entry = adapter->msix_entries + (unsigned long )vector; if ((unsigned long )q_vector->rx.ring == (unsigned long )((struct ixgbe_ring *)0) && (unsigned long )q_vector->tx.ring == (unsigned long )((struct ixgbe_ring *)0)) { goto ldv_54288; } else { } { irq_set_affinity_hint(entry->vector, (struct cpumask const *)0); ldv_free_irq_25(entry->vector, (void *)q_vector); } ldv_54288: vector = vector + 1; ldv_54290: ; if (vector < adapter->num_q_vectors) { goto ldv_54289; } else { } { tmp = vector; vector = vector + 1; ldv_free_irq_26((adapter->msix_entries + (unsigned long )tmp)->vector, (void *)adapter); } return; } } __inline static void ixgbe_irq_disable(struct ixgbe_adapter *adapter ) { int vector ; int tmp ; { { if ((unsigned int )adapter->hw.mac.type == 1U) { goto case_1; } else { } if ((unsigned int )adapter->hw.mac.type == 2U) { goto case_2; } else { } if ((unsigned int )adapter->hw.mac.type == 3U) { goto case_3; } else { } goto switch_default; case_1: /* CIL Label */ { ixgbe_write_reg(& adapter->hw, 2184U, 4294967295U); } goto ldv_54296; case_2: /* CIL Label */ ; case_3: /* CIL Label */ { ixgbe_write_reg(& adapter->hw, 2184U, 4294901760U); ixgbe_write_reg(& adapter->hw, 2736U, 4294967295U); ixgbe_write_reg(& adapter->hw, 2740U, 4294967295U); } goto ldv_54296; switch_default: /* CIL Label */ ; goto ldv_54296; switch_break: /* CIL Label */ ; } ldv_54296: { ixgbe_read_reg(& adapter->hw, 8U); } if ((adapter->flags & 8U) != 0U) { vector = 0; goto ldv_54302; ldv_54301: { synchronize_irq((adapter->msix_entries + (unsigned long )vector)->vector); vector = vector + 1; } ldv_54302: ; if (vector < adapter->num_q_vectors) { goto ldv_54301; } else { } { tmp = vector; vector = vector + 1; synchronize_irq((adapter->msix_entries + (unsigned long )tmp)->vector); } } else { { synchronize_irq((adapter->pdev)->irq); } } return; } } static void ixgbe_configure_msi_and_legacy(struct ixgbe_adapter *adapter ) { struct ixgbe_q_vector *q_vector ; { { q_vector = adapter->q_vector[0]; ixgbe_write_eitr(q_vector); ixgbe_set_ivar(adapter, 0, 0, 0); ixgbe_set_ivar(adapter, 1, 0, 0); } if (((int )adapter->msg_enable & 8192) != 0) { { netdev_info((struct net_device const *)adapter->netdev, "Legacy interrupt IVAR setup done\n"); } } else { } return; } } void ixgbe_configure_tx_ring(struct ixgbe_adapter *adapter , struct ixgbe_ring *ring ) { struct ixgbe_hw *hw ; u64 tdba ; int wait_loop ; u32 txdctl ; u8 reg_idx ; struct ixgbe_q_vector *q_vector ; int tmp ; u32 tmp___0 ; { { hw = & adapter->hw; tdba = ring->dma; wait_loop = 10; txdctl = 33554432U; reg_idx = ring->reg_idx; ixgbe_write_reg(hw, (u32 )((int )reg_idx * 64 + 24616), 0U); ixgbe_read_reg(hw, 8U); ixgbe_write_reg(hw, (u32 )(((int )reg_idx + 384) * 64), (u32 )tdba); ixgbe_write_reg(hw, (u32 )((int )reg_idx * 64 + 24580), (u32 )(tdba >> 32)); ixgbe_write_reg(hw, (u32 )((int )reg_idx * 64 + 24584), (u32 )ring->count * 16U); ixgbe_write_reg(hw, (u32 )((int )reg_idx * 64 + 24592), 0U); ixgbe_write_reg(hw, (u32 )((int )reg_idx * 64 + 24600), 0U); ring->tail = adapter->io_addr + (unsigned long )((int )reg_idx * 64 + 24600); } if ((unsigned long )ring->q_vector == (unsigned long )((struct ixgbe_q_vector *)0) || (unsigned int )(ring->q_vector)->itr <= 39U) { txdctl = txdctl | 65536U; } else { txdctl = txdctl | 524288U; } txdctl = txdctl | 288U; if ((adapter->flags & 262144U) != 0U) { { ring->__annonCompField96.__annonCompField95.atr_sample_rate = (u8 )adapter->atr_sample_rate; ring->__annonCompField96.__annonCompField95.atr_count = 0U; set_bit(0L, (unsigned long volatile *)(& ring->state)); } } else { ring->__annonCompField96.__annonCompField95.atr_sample_rate = 0U; } { tmp = test_and_set_bit(1L, (unsigned long volatile *)(& ring->state)); } if (tmp == 0) { q_vector = ring->q_vector; if ((unsigned long )q_vector != (unsigned long )((struct ixgbe_q_vector *)0)) { { netif_set_xps_queue(ring->netdev, (struct cpumask const *)(& q_vector->affinity_mask), (int )ring->queue_index); } } else { } } else { } { clear_bit(3L, (unsigned long volatile *)(& ring->state)); ixgbe_write_reg(hw, (u32 )((int )reg_idx * 64 + 24616), txdctl); } if ((unsigned int )hw->mac.type == 1U) { { tmp___0 = ixgbe_read_reg(hw, 17060U); } if ((tmp___0 & 1073741824U) == 0U) { return; } else { } } else { } ldv_54318: { usleep_range(1000UL, 2000UL); txdctl = ixgbe_read_reg(hw, (u32 )((int )reg_idx * 64 + 24616)); wait_loop = wait_loop - 1; } if (wait_loop != 0 && (txdctl & 33554432U) == 0U) { goto ldv_54318; } else { } if (wait_loop == 0) { if ((int )adapter->msg_enable & 1) { { netdev_err((struct net_device const *)adapter->netdev, "Could not enable Tx Queue %d\n", (int )reg_idx); } } else { } } else { } return; } } static void ixgbe_setup_mtqc(struct ixgbe_adapter *adapter ) { struct ixgbe_hw *hw ; u32 rttdcs ; u32 mtqc ; u8 tcs ; int tmp ; u32 sectx ; u32 tmp___0 ; { { hw = & adapter->hw; tmp = netdev_get_num_tc(adapter->netdev); tcs = (u8 )tmp; } if ((unsigned int )hw->mac.type == 1U) { return; } else { } { rttdcs = ixgbe_read_reg(hw, 18688U); rttdcs = rttdcs | 64U; ixgbe_write_reg(hw, 18688U, rttdcs); } if ((adapter->flags & 8388608U) != 0U) { mtqc = 2U; if ((unsigned int )tcs > 4U) { mtqc = mtqc | 13U; } else if ((unsigned int )tcs > 1U) { mtqc = mtqc | 9U; } else if ((unsigned int )adapter->ring_feature[2].indices == 4U) { mtqc = mtqc | 8U; } else { mtqc = mtqc | 4U; } } else if ((unsigned int )tcs > 4U) { mtqc = 13U; } else if ((unsigned int )tcs > 1U) { mtqc = 9U; } else { mtqc = 0U; } { ixgbe_write_reg(hw, 33056U, mtqc); } if ((unsigned int )tcs != 0U) { { tmp___0 = ixgbe_read_reg(hw, 34832U); sectx = tmp___0; sectx = sectx | 7936U; ixgbe_write_reg(hw, 34832U, sectx); } } else { } { rttdcs = rttdcs & 4294967231U; ixgbe_write_reg(hw, 18688U, rttdcs); } return; } } static void ixgbe_configure_tx(struct ixgbe_adapter *adapter ) { struct ixgbe_hw *hw ; u32 dmatxctl ; u32 i ; { { hw = & adapter->hw; ixgbe_setup_mtqc(adapter); } if ((unsigned int )hw->mac.type != 1U) { { dmatxctl = ixgbe_read_reg(hw, 19072U); dmatxctl = dmatxctl | 1U; ixgbe_write_reg(hw, 19072U, dmatxctl); } } else { } i = 0U; goto ldv_54335; ldv_54334: { ixgbe_configure_tx_ring(adapter, adapter->tx_ring[i]); i = i + 1U; } ldv_54335: ; if (i < (u32 )adapter->num_tx_queues) { goto ldv_54334; } else { } return; } } static void ixgbe_enable_rx_drop(struct ixgbe_adapter *adapter , struct ixgbe_ring *ring ) { struct ixgbe_hw *hw ; u8 reg_idx ; u32 srrctl ; u32 tmp ; { { hw = & adapter->hw; reg_idx = ring->reg_idx; tmp = ixgbe_read_reg(hw, (u32 )((unsigned int )reg_idx <= 15U ? ((int )reg_idx + 2112) * 4 : ((unsigned int )reg_idx <= 63U ? (int )reg_idx * 64 + 4116 : ((int )reg_idx + -64) * 64 + 53268))); srrctl = tmp; srrctl = srrctl | 268435456U; ixgbe_write_reg(hw, (u32 )((unsigned int )reg_idx <= 15U ? ((int )reg_idx + 2112) * 4 : ((unsigned int )reg_idx <= 63U ? (int )reg_idx * 64 + 4116 : ((int )reg_idx + -64) * 64 + 53268)), srrctl); } return; } } static void ixgbe_disable_rx_drop(struct ixgbe_adapter *adapter , struct ixgbe_ring *ring ) { struct ixgbe_hw *hw ; u8 reg_idx ; u32 srrctl ; u32 tmp ; { { hw = & adapter->hw; reg_idx = ring->reg_idx; tmp = ixgbe_read_reg(hw, (u32 )((unsigned int )reg_idx <= 15U ? ((int )reg_idx + 2112) * 4 : ((unsigned int )reg_idx <= 63U ? (int )reg_idx * 64 + 4116 : ((int )reg_idx + -64) * 64 + 53268))); srrctl = tmp; srrctl = srrctl & 4026531839U; ixgbe_write_reg(hw, (u32 )((unsigned int )reg_idx <= 15U ? ((int )reg_idx + 2112) * 4 : ((unsigned int )reg_idx <= 63U ? (int )reg_idx * 64 + 4116 : ((int )reg_idx + -64) * 64 + 53268)), srrctl); } return; } } void ixgbe_set_rx_drop_en(struct ixgbe_adapter *adapter ) { int i ; bool pfc_en ; { pfc_en = adapter->dcb_cfg.pfc_mode_enable; if ((unsigned long )adapter->ixgbe_ieee_pfc != (unsigned long )((struct ieee_pfc *)0)) { pfc_en = ((int )pfc_en | ((unsigned int )(adapter->ixgbe_ieee_pfc)->pfc_en != 0U)) != 0; } else { } if (adapter->num_vfs != 0U || ((adapter->num_rx_queues > 1 && ((unsigned int )adapter->hw.fc.current_mode & 2U) == 0U) && ! pfc_en)) { i = 0; goto ldv_54357; ldv_54356: { ixgbe_enable_rx_drop(adapter, adapter->rx_ring[i]); i = i + 1; } ldv_54357: ; if (i < adapter->num_rx_queues) { goto ldv_54356; } else { } } else { i = 0; goto ldv_54360; ldv_54359: { ixgbe_disable_rx_drop(adapter, adapter->rx_ring[i]); i = i + 1; } ldv_54360: ; if (i < adapter->num_rx_queues) { goto ldv_54359; } else { } } return; } } static void ixgbe_configure_srrctl(struct ixgbe_adapter *adapter , struct ixgbe_ring *rx_ring ) { struct ixgbe_hw *hw ; u32 srrctl ; u8 reg_idx ; u16 mask ; unsigned int tmp ; { hw = & adapter->hw; reg_idx = rx_ring->reg_idx; if ((unsigned int )hw->mac.type == 1U) { mask = adapter->ring_feature[2].mask; reg_idx = (int )reg_idx & (int )((u8 )mask); } else { } { srrctl = 1024U; tmp = ixgbe_rx_bufsz(rx_ring); srrctl = srrctl | (tmp >> 10); srrctl = srrctl | 33554432U; ixgbe_write_reg(hw, (u32 )((unsigned int )reg_idx <= 15U ? ((int )reg_idx + 2112) * 4 : ((unsigned int )reg_idx <= 63U ? (int )reg_idx * 64 + 4116 : ((int )reg_idx + -64) * 64 + 53268)), srrctl); } return; } } static void ixgbe_setup_mrqc(struct ixgbe_adapter *adapter ) { struct ixgbe_hw *hw ; u32 seed[10U] ; u32 mrqc ; u32 reta ; u32 rxcsum ; int i ; int j ; u16 rss_i ; u8 tcs ; int tmp ; { hw = & adapter->hw; seed[0] = 3801208637U; seed[1] = 403041388U; seed[2] = 714388237U; seed[3] = 2773429228U; seed[4] = 3930697596U; seed[5] = 3793005885U; seed[6] = 3092622014U; seed[7] = 1782474730U; seed[8] = 339102999U; seed[9] = 1005395981U; mrqc = 0U; reta = 0U; rss_i = adapter->ring_feature[2].indices; if ((adapter->flags & 8388608U) != 0U && (unsigned int )rss_i <= 1U) { rss_i = 2U; } else { } i = 0; goto ldv_54382; ldv_54381: { ixgbe_write_reg(hw, (u32 )((i + 5920) * 4), seed[i]); i = i + 1; } ldv_54382: ; if (i <= 9) { goto ldv_54381; } else { } i = 0; j = 0; goto ldv_54385; ldv_54384: ; if (j == (int )rss_i) { j = 0; } else { } reta = (reta << 8) | (u32 )(j * 17); if ((i & 3) == 3) { { ixgbe_write_reg(hw, (u32 )(((i >> 2) + 5888) * 4), reta); } } else { } i = i + 1; j = j + 1; ldv_54385: ; if (i <= 127) { goto ldv_54384; } else { } { rxcsum = ixgbe_read_reg(hw, 20480U); rxcsum = rxcsum | 8192U; ixgbe_write_reg(hw, 20480U, rxcsum); } if ((unsigned int )adapter->hw.mac.type == 1U) { if ((unsigned int )adapter->ring_feature[2].mask != 0U) { mrqc = 1U; } else { } } else { { tmp = netdev_get_num_tc(adapter->netdev); tcs = (u8 )tmp; } if ((adapter->flags & 8388608U) != 0U) { if ((unsigned int )tcs > 4U) { mrqc = 12U; } else if ((unsigned int )tcs > 1U) { mrqc = 13U; } else if ((unsigned int )adapter->ring_feature[2].indices == 4U) { mrqc = 10U; } else { mrqc = 11U; } } else if ((unsigned int )tcs > 4U) { mrqc = 4U; } else if ((unsigned int )tcs > 1U) { mrqc = 5U; } else { mrqc = 1U; } } mrqc = mrqc | 3342336U; if ((adapter->flags2 & 256U) != 0U) { mrqc = mrqc | 4194304U; } else { } if ((adapter->flags2 & 512U) != 0U) { mrqc = mrqc | 8388608U; } else { } { ixgbe_write_reg(hw, 22552U, mrqc); } return; } } static void ixgbe_configure_rscctl(struct ixgbe_adapter *adapter , struct ixgbe_ring *ring ) { struct ixgbe_hw *hw ; u32 rscctrl ; u8 reg_idx ; int tmp ; { { hw = & adapter->hw; reg_idx = ring->reg_idx; tmp = constant_test_bit(4L, (unsigned long const volatile *)(& ring->state)); } if (tmp == 0) { return; } else { } { rscctrl = ixgbe_read_reg(hw, (u32 )((unsigned int )reg_idx <= 63U ? (int )reg_idx * 64 + 4140 : ((int )reg_idx + -64) * 64 + 53292)); rscctrl = rscctrl | 1U; rscctrl = rscctrl | 12U; ixgbe_write_reg(hw, (u32 )((unsigned int )reg_idx <= 63U ? (int )reg_idx * 64 + 4140 : ((int )reg_idx + -64) * 64 + 53292), rscctrl); } return; } } static void ixgbe_rx_desc_queue_enable(struct ixgbe_adapter *adapter , struct ixgbe_ring *ring ) { struct ixgbe_hw *hw ; int wait_loop ; u32 rxdctl ; u8 reg_idx ; bool tmp ; u32 tmp___0 ; { { hw = & adapter->hw; wait_loop = 10; reg_idx = ring->reg_idx; tmp = ixgbe_removed((void *)hw->hw_addr); } if ((int )tmp) { return; } else { } if ((unsigned int )hw->mac.type == 1U) { { tmp___0 = ixgbe_read_reg(hw, 17060U); } if ((tmp___0 & 1073741824U) == 0U) { return; } else { } } else { } ldv_54403: { usleep_range(1000UL, 2000UL); rxdctl = ixgbe_read_reg(hw, (u32 )((unsigned int )reg_idx <= 63U ? (int )reg_idx * 64 + 4136 : ((int )reg_idx + -64) * 64 + 53288)); wait_loop = wait_loop - 1; } if (wait_loop != 0 && (rxdctl & 33554432U) == 0U) { goto ldv_54403; } else { } if (wait_loop == 0) { if ((int )adapter->msg_enable & 1) { { netdev_err((struct net_device const *)adapter->netdev, "RXDCTL.ENABLE on Rx queue %d not set within the polling period\n", (int )reg_idx); } } else { } } else { } return; } } void ixgbe_disable_rx_queue(struct ixgbe_adapter *adapter , struct ixgbe_ring *ring ) { struct ixgbe_hw *hw ; int wait_loop ; u32 rxdctl ; u8 reg_idx ; bool tmp ; u32 tmp___0 ; { { hw = & adapter->hw; wait_loop = 10; reg_idx = ring->reg_idx; tmp = ixgbe_removed((void *)hw->hw_addr); } if ((int )tmp) { return; } else { } { rxdctl = ixgbe_read_reg(hw, (u32 )((unsigned int )reg_idx <= 63U ? (int )reg_idx * 64 + 4136 : ((int )reg_idx + -64) * 64 + 53288)); rxdctl = rxdctl & 4261412863U; ixgbe_write_reg(hw, (u32 )((unsigned int )reg_idx <= 63U ? (int )reg_idx * 64 + 4136 : ((int )reg_idx + -64) * 64 + 53288), rxdctl); } if ((unsigned int )hw->mac.type == 1U) { { tmp___0 = ixgbe_read_reg(hw, 17060U); } if ((tmp___0 & 1073741824U) == 0U) { return; } else { } } else { } ldv_54413: { __const_udelay(42950UL); rxdctl = ixgbe_read_reg(hw, (u32 )((unsigned int )reg_idx <= 63U ? (int )reg_idx * 64 + 4136 : ((int )reg_idx + -64) * 64 + 53288)); wait_loop = wait_loop - 1; } if (wait_loop != 0 && (rxdctl & 33554432U) != 0U) { goto ldv_54413; } else { } if (wait_loop == 0) { if ((int )adapter->msg_enable & 1) { { netdev_err((struct net_device const *)adapter->netdev, "RXDCTL.ENABLE on Rx queue %d not cleared within the polling period\n", (int )reg_idx); } } else { } } else { } return; } } void ixgbe_configure_rx_ring(struct ixgbe_adapter *adapter , struct ixgbe_ring *ring ) { struct ixgbe_hw *hw ; u64 rdba ; u32 rxdctl ; u8 reg_idx ; u16 tmp ; { { hw = & adapter->hw; rdba = ring->dma; reg_idx = ring->reg_idx; rxdctl = ixgbe_read_reg(hw, (u32 )((unsigned int )reg_idx <= 63U ? (int )reg_idx * 64 + 4136 : ((int )reg_idx + -64) * 64 + 53288)); ixgbe_disable_rx_queue(adapter, ring); ixgbe_write_reg(hw, (u32 )((unsigned int )reg_idx <= 63U ? ((int )reg_idx + 64) * 64 : ((int )reg_idx + 768) * 64), (u32 )rdba); ixgbe_write_reg(hw, (u32 )((unsigned int )reg_idx <= 63U ? (int )reg_idx * 64 + 4100 : ((int )reg_idx + -64) * 64 + 53252), (u32 )(rdba >> 32)); ixgbe_write_reg(hw, (u32 )((unsigned int )reg_idx <= 63U ? (int )reg_idx * 64 + 4104 : ((int )reg_idx + -64) * 64 + 53256), (u32 )ring->count * 16U); ixgbe_write_reg(hw, (u32 )((unsigned int )reg_idx <= 63U ? (int )reg_idx * 64 + 4112 : ((int )reg_idx + -64) * 64 + 53264), 0U); ixgbe_write_reg(hw, (u32 )((unsigned int )reg_idx <= 63U ? (int )reg_idx * 64 + 4120 : ((int )reg_idx + -64) * 64 + 53272), 0U); ring->tail = adapter->io_addr + (unsigned long )((unsigned int )reg_idx <= 63U ? (int )reg_idx * 64 + 4120 : ((int )reg_idx + -64) * 64 + 53272); ixgbe_configure_srrctl(adapter, ring); ixgbe_configure_rscctl(adapter, ring); } if ((unsigned int )hw->mac.type == 1U) { rxdctl = rxdctl & 4290772992U; rxdctl = rxdctl | 525344U; } else { } { rxdctl = rxdctl | 33554432U; ixgbe_write_reg(hw, (u32 )((unsigned int )reg_idx <= 63U ? (int )reg_idx * 64 + 4136 : ((int )reg_idx + -64) * 64 + 53288), rxdctl); ixgbe_rx_desc_queue_enable(adapter, ring); tmp = ixgbe_desc_unused(ring); ixgbe_alloc_rx_buffers(ring, (int )tmp); } return; } } static void ixgbe_setup_psrtype(struct ixgbe_adapter *adapter ) { struct ixgbe_hw *hw ; int rss_i ; u16 pool ; u32 psrtype ; unsigned long tmp ; unsigned long tmp___0 ; { hw = & adapter->hw; rss_i = (int )adapter->ring_feature[2].indices; psrtype = 4912U; if ((unsigned int )hw->mac.type == 1U) { return; } else { } if (rss_i > 3) { psrtype = psrtype | 1073741824U; } else if (rss_i > 1) { psrtype = psrtype | 536870912U; } else { } { tmp = find_first_bit((unsigned long const *)(& adapter->fwd_bitmask), 32UL); pool = (u16 )tmp; } goto ldv_54431; ldv_54430: { ixgbe_write_reg(hw, (u32 )((int )pool + (int )adapter->ring_feature[1].offset <= 15 ? (((int )pool + (int )adapter->ring_feature[1].offset) + 5408) * 4 : (((int )pool + (int )adapter->ring_feature[1].offset) + 14976) * 4), psrtype); tmp___0 = find_next_bit((unsigned long const *)(& adapter->fwd_bitmask), 32UL, (unsigned long )((int )pool + 1)); pool = (u16 )tmp___0; } ldv_54431: ; if ((unsigned int )pool <= 31U) { goto ldv_54430; } else { } return; } } static void ixgbe_configure_virtualization(struct ixgbe_adapter *adapter ) { struct ixgbe_hw *hw ; u32 reg_offset ; u32 vf_shift ; u32 gcr_ext ; u32 vmdctl ; int i ; { hw = & adapter->hw; if ((adapter->flags & 8388608U) == 0U) { return; } else { } { vmdctl = ixgbe_read_reg(hw, 20912U); vmdctl = vmdctl | 1U; vmdctl = vmdctl & 4294959231U; vmdctl = vmdctl | (u32 )((int )adapter->ring_feature[1].offset << 7); vmdctl = vmdctl | 1073741824U; ixgbe_write_reg(hw, 20912U, vmdctl); vf_shift = (u32 )adapter->ring_feature[1].offset & 31U; reg_offset = (int )adapter->ring_feature[1].offset > 31; ixgbe_write_reg(hw, (reg_offset + 5240U) * 4U, (u32 )(-1 << (int )vf_shift)); ixgbe_write_reg(hw, ((reg_offset ^ 1U) + 5240U) * 4U, reg_offset - 1U); ixgbe_write_reg(hw, (reg_offset + 8260U) * 4U, (u32 )(-1 << (int )vf_shift)); ixgbe_write_reg(hw, ((reg_offset ^ 1U) + 8260U) * 4U, reg_offset - 1U); } if ((adapter->flags2 & 2048U) != 0U) { { ixgbe_write_reg(hw, 33312U, 1U); } } else { } { (*(hw->mac.ops.set_vmdq))(hw, 0U, (u32 )adapter->ring_feature[1].offset); } { if ((int )adapter->ring_feature[1].mask == 120) { goto case_120; } else { } if ((int )adapter->ring_feature[1].mask == 124) { goto case_124; } else { } goto switch_default; case_120: /* CIL Label */ gcr_ext = 1U; goto ldv_54443; case_124: /* CIL Label */ gcr_ext = 2U; goto ldv_54443; switch_default: /* CIL Label */ gcr_ext = 3U; goto ldv_54443; switch_break: /* CIL Label */ ; } ldv_54443: { ixgbe_write_reg(hw, 69712U, gcr_ext); (*(hw->mac.ops.set_mac_anti_spoofing))(hw, adapter->num_vfs != 0U, (int )adapter->num_vfs); i = 0; } goto ldv_54447; ldv_54446: ; if ((unsigned int )(adapter->vfinfo + (unsigned long )i)->spoofchk_enabled == 0U) { { ixgbe_ndo_set_vf_spoofchk(adapter->netdev, i, 0); } } else { } i = i + 1; ldv_54447: ; if ((unsigned int )i < adapter->num_vfs) { goto ldv_54446; } else { } return; } } static void ixgbe_set_rx_buffer_len(struct ixgbe_adapter *adapter ) { struct ixgbe_hw *hw ; struct net_device *netdev ; int max_frame ; struct ixgbe_ring *rx_ring ; int i ; u32 mhadd ; u32 hlreg0 ; { hw = & adapter->hw; netdev = adapter->netdev; max_frame = (int )(netdev->mtu + 18U); if ((adapter->flags & 2097152U) != 0U && max_frame <= 3071) { max_frame = 3072; } else { } if (max_frame <= 1517) { max_frame = 1518; } else { } { mhadd = ixgbe_read_reg(hw, 17000U); } if ((u32 )max_frame != mhadd >> 16) { { mhadd = mhadd & 65535U; mhadd = mhadd | (u32 )(max_frame << 16); ixgbe_write_reg(hw, 17000U, mhadd); } } else { } { hlreg0 = ixgbe_read_reg(hw, 16960U); hlreg0 = hlreg0 | 4U; ixgbe_write_reg(hw, 16960U, hlreg0); i = 0; } goto ldv_54460; ldv_54459: rx_ring = adapter->rx_ring[i]; if ((adapter->flags2 & 2U) != 0U) { { set_bit(4L, (unsigned long volatile *)(& rx_ring->state)); } } else { { clear_bit(4L, (unsigned long volatile *)(& rx_ring->state)); } } i = i + 1; ldv_54460: ; if (i < adapter->num_rx_queues) { goto ldv_54459; } else { } return; } } static void ixgbe_setup_rdrxctl(struct ixgbe_adapter *adapter ) { struct ixgbe_hw *hw ; u32 rdrxctl ; u32 tmp ; u32 tmp___0 ; { { hw = & adapter->hw; tmp = ixgbe_read_reg(hw, 12032U); rdrxctl = tmp; } { if ((unsigned int )hw->mac.type == 1U) { goto case_1; } else { } if ((unsigned int )hw->mac.type == 2U) { goto case_2; } else { } if ((unsigned int )hw->mac.type == 3U) { goto case_3; } else { } goto switch_default; case_1: /* CIL Label */ rdrxctl = rdrxctl | 32U; goto ldv_54468; case_2: /* CIL Label */ ; case_3: /* CIL Label */ { tmp___0 = ixgbe_read_reg(hw, 12328U); ixgbe_write_reg(hw, 12328U, tmp___0 | 128U); rdrxctl = rdrxctl & 4290904063U; rdrxctl = rdrxctl | 100663296U; rdrxctl = rdrxctl | 2U; } goto ldv_54468; switch_default: /* CIL Label */ ; return; switch_break: /* CIL Label */ ; } ldv_54468: { ixgbe_write_reg(hw, 12032U, rdrxctl); } return; } } static void ixgbe_configure_rx(struct ixgbe_adapter *adapter ) { struct ixgbe_hw *hw ; int i ; u32 rxctrl ; u32 rfctl ; { { hw = & adapter->hw; rxctrl = ixgbe_read_reg(hw, 12288U); ixgbe_write_reg(hw, 12288U, rxctrl & 4294967294U); ixgbe_setup_psrtype(adapter); ixgbe_setup_rdrxctl(adapter); rfctl = ixgbe_read_reg(hw, 20488U); rfctl = rfctl & 4294967263U; } if ((adapter->flags2 & 2U) == 0U) { rfctl = rfctl | 32U; } else { } { ixgbe_write_reg(hw, 20488U, rfctl); ixgbe_setup_mrqc(adapter); ixgbe_set_rx_buffer_len(adapter); i = 0; } goto ldv_54480; ldv_54479: { ixgbe_configure_rx_ring(adapter, adapter->rx_ring[i]); i = i + 1; } ldv_54480: ; if (i < adapter->num_rx_queues) { goto ldv_54479; } else { } if ((unsigned int )hw->mac.type == 1U) { rxctrl = rxctrl | 2U; } else { } { rxctrl = rxctrl | 1U; (*(hw->mac.ops.enable_rx_dma))(hw, rxctrl); } return; } } static int ixgbe_vlan_rx_add_vid(struct net_device *netdev , __be16 proto , u16 vid ) { struct ixgbe_adapter *adapter ; void *tmp ; struct ixgbe_hw *hw ; { { tmp = netdev_priv((struct net_device const *)netdev); adapter = (struct ixgbe_adapter *)tmp; hw = & adapter->hw; (*(hw->mac.ops.set_vfta))(& adapter->hw, (u32 )vid, (u32 )adapter->ring_feature[1].offset, 1); set_bit((long )vid, (unsigned long volatile *)(& adapter->active_vlans)); } return (0); } } static int ixgbe_vlan_rx_kill_vid(struct net_device *netdev , __be16 proto , u16 vid ) { struct ixgbe_adapter *adapter ; void *tmp ; struct ixgbe_hw *hw ; { { tmp = netdev_priv((struct net_device const *)netdev); adapter = (struct ixgbe_adapter *)tmp; hw = & adapter->hw; (*(hw->mac.ops.set_vfta))(& adapter->hw, (u32 )vid, (u32 )adapter->ring_feature[1].offset, 0); clear_bit((long )vid, (unsigned long volatile *)(& adapter->active_vlans)); } return (0); } } static void ixgbe_vlan_filter_disable(struct ixgbe_adapter *adapter ) { struct ixgbe_hw *hw ; u32 vlnctrl ; { { hw = & adapter->hw; vlnctrl = ixgbe_read_reg(hw, 20616U); vlnctrl = vlnctrl & 2684354559U; ixgbe_write_reg(hw, 20616U, vlnctrl); } return; } } static void ixgbe_vlan_filter_enable(struct ixgbe_adapter *adapter ) { struct ixgbe_hw *hw ; u32 vlnctrl ; { { hw = & adapter->hw; vlnctrl = ixgbe_read_reg(hw, 20616U); vlnctrl = vlnctrl | 1073741824U; vlnctrl = vlnctrl & 3758096383U; ixgbe_write_reg(hw, 20616U, vlnctrl); } return; } } static void ixgbe_vlan_strip_disable(struct ixgbe_adapter *adapter ) { struct ixgbe_hw *hw ; u32 vlnctrl ; int i ; int j ; struct ixgbe_ring *ring ; { hw = & adapter->hw; { if ((unsigned int )hw->mac.type == 1U) { goto case_1; } else { } if ((unsigned int )hw->mac.type == 2U) { goto case_2; } else { } if ((unsigned int )hw->mac.type == 3U) { goto case_3; } else { } goto switch_default; case_1: /* CIL Label */ { vlnctrl = ixgbe_read_reg(hw, 20616U); vlnctrl = vlnctrl & 2147483647U; ixgbe_write_reg(hw, 20616U, vlnctrl); } goto ldv_54514; case_2: /* CIL Label */ ; case_3: /* CIL Label */ i = 0; goto ldv_54520; ldv_54519: ring = adapter->rx_ring[i]; if ((unsigned long )ring->l2_accel_priv != (unsigned long )((struct ixgbe_fwd_adapter *)0)) { goto ldv_54518; } else { } { j = (int )ring->reg_idx; vlnctrl = ixgbe_read_reg(hw, (u32 )(j <= 63 ? j * 64 + 4136 : (j + -64) * 64 + 53288)); vlnctrl = vlnctrl & 3221225471U; ixgbe_write_reg(hw, (u32 )(j <= 63 ? j * 64 + 4136 : (j + -64) * 64 + 53288), vlnctrl); } ldv_54518: i = i + 1; ldv_54520: ; if (i < adapter->num_rx_queues) { goto ldv_54519; } else { } goto ldv_54514; switch_default: /* CIL Label */ ; goto ldv_54514; switch_break: /* CIL Label */ ; } ldv_54514: ; return; } } static void ixgbe_vlan_strip_enable(struct ixgbe_adapter *adapter ) { struct ixgbe_hw *hw ; u32 vlnctrl ; int i ; int j ; struct ixgbe_ring *ring ; { hw = & adapter->hw; { if ((unsigned int )hw->mac.type == 1U) { goto case_1; } else { } if ((unsigned int )hw->mac.type == 2U) { goto case_2; } else { } if ((unsigned int )hw->mac.type == 3U) { goto case_3; } else { } goto switch_default; case_1: /* CIL Label */ { vlnctrl = ixgbe_read_reg(hw, 20616U); vlnctrl = vlnctrl | 2147483648U; ixgbe_write_reg(hw, 20616U, vlnctrl); } goto ldv_54531; case_2: /* CIL Label */ ; case_3: /* CIL Label */ i = 0; goto ldv_54537; ldv_54536: ring = adapter->rx_ring[i]; if ((unsigned long )ring->l2_accel_priv != (unsigned long )((struct ixgbe_fwd_adapter *)0)) { goto ldv_54535; } else { } { j = (int )ring->reg_idx; vlnctrl = ixgbe_read_reg(hw, (u32 )(j <= 63 ? j * 64 + 4136 : (j + -64) * 64 + 53288)); vlnctrl = vlnctrl | 1073741824U; ixgbe_write_reg(hw, (u32 )(j <= 63 ? j * 64 + 4136 : (j + -64) * 64 + 53288), vlnctrl); } ldv_54535: i = i + 1; ldv_54537: ; if (i < adapter->num_rx_queues) { goto ldv_54536; } else { } goto ldv_54531; switch_default: /* CIL Label */ ; goto ldv_54531; switch_break: /* CIL Label */ ; } ldv_54531: ; return; } } static void ixgbe_restore_vlan(struct ixgbe_adapter *adapter ) { u16 vid ; unsigned long tmp ; unsigned long tmp___0 ; { { ixgbe_vlan_rx_add_vid(adapter->netdev, 129, 0); tmp = find_first_bit((unsigned long const *)(& adapter->active_vlans), 4096UL); vid = (u16 )tmp; } goto ldv_54545; ldv_54544: { ixgbe_vlan_rx_add_vid(adapter->netdev, 129, (int )vid); tmp___0 = find_next_bit((unsigned long const *)(& adapter->active_vlans), 4096UL, (unsigned long )((int )vid + 1)); vid = (u16 )tmp___0; } ldv_54545: ; if ((unsigned int )vid <= 4095U) { goto ldv_54544; } else { } return; } } static int ixgbe_write_uc_addr_list(struct net_device *netdev ) { struct ixgbe_adapter *adapter ; void *tmp ; struct ixgbe_hw *hw ; unsigned int rar_entries ; int count ; struct netdev_hw_addr *ha ; struct list_head const *__mptr ; unsigned int tmp___0 ; struct list_head const *__mptr___0 ; { { tmp = netdev_priv((struct net_device const *)netdev); adapter = (struct ixgbe_adapter *)tmp; hw = & adapter->hw; rar_entries = hw->mac.num_rar_entries - 1U; count = 0; } if ((adapter->flags & 8388608U) != 0U) { rar_entries = 14U; } else { } if ((unsigned int )netdev->uc.count > rar_entries) { return (-12); } else { } if (netdev->uc.count != 0) { if ((unsigned long )hw->mac.ops.set_rar == (unsigned long )((s32 (*)(struct ixgbe_hw * , u32 , u8 * , u32 , u32 ))0)) { return (-12); } else { } __mptr = (struct list_head const *)netdev->uc.list.next; ha = (struct netdev_hw_addr *)__mptr; goto ldv_54561; ldv_54560: ; if (rar_entries == 0U) { goto ldv_54559; } else { } { tmp___0 = rar_entries; rar_entries = rar_entries - 1U; (*(hw->mac.ops.set_rar))(hw, tmp___0, (u8 *)(& ha->addr), (u32 )adapter->ring_feature[1].offset, 2147483648U); count = count + 1; __mptr___0 = (struct list_head const *)ha->list.next; ha = (struct netdev_hw_addr *)__mptr___0; } ldv_54561: ; if ((unsigned long )(& ha->list) != (unsigned long )(& netdev->uc.list)) { goto ldv_54560; } else { } ldv_54559: ; } else { } goto ldv_54563; ldv_54562: { (*(hw->mac.ops.clear_rar))(hw, rar_entries); rar_entries = rar_entries - 1U; } ldv_54563: ; if (rar_entries != 0U) { goto ldv_54562; } else { } return (count); } } void ixgbe_set_rx_mode(struct net_device *netdev ) { struct ixgbe_adapter *adapter ; void *tmp ; struct ixgbe_hw *hw ; u32 fctrl ; u32 vmolr ; int count ; u32 tmp___0 ; { { tmp = netdev_priv((struct net_device const *)netdev); adapter = (struct ixgbe_adapter *)tmp; hw = & adapter->hw; vmolr = 150994944U; fctrl = ixgbe_read_reg(hw, 20608U); fctrl = fctrl & 4294967293U; fctrl = fctrl | 1024U; fctrl = fctrl | 8192U; fctrl = fctrl | 4096U; fctrl = fctrl & 4294966527U; } if ((netdev->flags & 256U) != 0U) { hw->addr_ctrl.user_set_promisc = 1; fctrl = fctrl | 768U; vmolr = vmolr | 335544320U; if ((adapter->flags & 8404992U) == 0U) { { ixgbe_vlan_filter_disable(adapter); } } else { { ixgbe_vlan_filter_enable(adapter); } } } else { if ((netdev->flags & 512U) != 0U) { fctrl = fctrl | 256U; vmolr = vmolr | 268435456U; } else { } { ixgbe_vlan_filter_enable(adapter); hw->addr_ctrl.user_set_promisc = 0; } } { count = ixgbe_write_uc_addr_list(netdev); } if (count < 0) { fctrl = fctrl | 512U; vmolr = vmolr | 67108864U; } else { } { (*(hw->mac.ops.update_mc_addr_list))(hw, netdev); vmolr = vmolr | 33554432U; } if (adapter->num_vfs != 0U) { { ixgbe_restore_vf_multicasts(adapter); } } else { } if ((unsigned int )hw->mac.type != 1U) { { tmp___0 = ixgbe_read_reg(hw, (u32 )(((int )adapter->ring_feature[1].offset + 15360) * 4)); vmolr = vmolr | (tmp___0 & 3925868543U); ixgbe_write_reg(hw, (u32 )(((int )adapter->ring_feature[1].offset + 15360) * 4), vmolr); } } else { } if (((adapter->netdev)->features & 68719476736ULL) != 0ULL) { fctrl = fctrl | 5122U; fctrl = fctrl & 4294959103U; } else { } { ixgbe_write_reg(hw, 20608U, fctrl); } if ((netdev->features & 256ULL) != 0ULL) { { ixgbe_vlan_strip_enable(adapter); } } else { { ixgbe_vlan_strip_disable(adapter); } } return; } } static void ixgbe_napi_enable_all(struct ixgbe_adapter *adapter ) { int q_idx ; { q_idx = 0; goto ldv_54578; ldv_54577: { ixgbe_qv_init_lock(adapter->q_vector[q_idx]); napi_enable(& (adapter->q_vector[q_idx])->napi); q_idx = q_idx + 1; } ldv_54578: ; if (q_idx < adapter->num_q_vectors) { goto ldv_54577; } else { } return; } } static void ixgbe_napi_disable_all(struct ixgbe_adapter *adapter ) { int q_idx ; bool tmp ; int tmp___0 ; { q_idx = 0; goto ldv_54588; ldv_54587: { napi_disable(& (adapter->q_vector[q_idx])->napi); } goto ldv_54585; ldv_54584: { printk("\016ixgbe: QV %d locked\n", q_idx); usleep_range(1000UL, 20000UL); } ldv_54585: { tmp = ixgbe_qv_disable(adapter->q_vector[q_idx]); } if (tmp) { tmp___0 = 0; } else { tmp___0 = 1; } if (tmp___0) { goto ldv_54584; } else { } q_idx = q_idx + 1; ldv_54588: ; if (q_idx < adapter->num_q_vectors) { goto ldv_54587; } else { } return; } } static void ixgbe_configure_dcb(struct ixgbe_adapter *adapter ) { struct ixgbe_hw *hw ; int max_frame ; int _max1 ; int _max2 ; u32 msb ; u16 rss_i ; { hw = & adapter->hw; max_frame = (int )((adapter->netdev)->mtu + 18U); if ((adapter->flags & 4096U) == 0U) { if ((unsigned int )hw->mac.type == 1U) { { netif_set_gso_max_size(adapter->netdev, 65536U); } } else { } return; } else { } if ((unsigned int )hw->mac.type == 1U) { { netif_set_gso_max_size(adapter->netdev, 32768U); } } else { } if (((adapter->netdev)->features & 536870912ULL) != 0ULL) { _max1 = max_frame; _max2 = 3072; max_frame = _max1 > _max2 ? _max1 : _max2; } else { } if (((int )adapter->dcbx_cap & 4) != 0) { { ixgbe_dcb_calculate_tc_credits(hw, & adapter->dcb_cfg, max_frame, 0); ixgbe_dcb_calculate_tc_credits(hw, & adapter->dcb_cfg, max_frame, 1); ixgbe_dcb_hw_config(hw, & adapter->dcb_cfg); } } else if ((unsigned long )adapter->ixgbe_ieee_ets != (unsigned long )((struct ieee_ets *)0) && (unsigned long )adapter->ixgbe_ieee_pfc != (unsigned long )((struct ieee_pfc *)0)) { { ixgbe_dcb_hw_ets(& adapter->hw, adapter->ixgbe_ieee_ets, max_frame); ixgbe_dcb_hw_pfc_config(& adapter->hw, (int )(adapter->ixgbe_ieee_pfc)->pfc_en, (u8 *)(& (adapter->ixgbe_ieee_ets)->prio_tc)); } } else { } if ((unsigned int )hw->mac.type != 1U) { msb = 0U; rss_i = (unsigned int )adapter->ring_feature[2].indices + 65535U; goto ldv_54601; ldv_54600: msb = msb + 1U; rss_i = (u16 )((int )rss_i >> 1); ldv_54601: ; if ((unsigned int )rss_i != 0U) { goto ldv_54600; } else { } { ixgbe_write_reg(hw, 60528U, msb * 286331153U); } } else { } return; } } static int ixgbe_hpbthresh(struct ixgbe_adapter *adapter , int pb ) { struct ixgbe_hw *hw ; struct net_device *dev ; int link ; int tc ; int kb ; int marker ; u32 dv_id ; u32 rx_pba ; u8 tmp ; u32 tmp___0 ; { hw = & adapter->hw; dev = adapter->netdev; link = (int )(dev->mtu + 38U); tc = link; if ((dev->features & 536870912ULL) != 0ULL && tc <= 3071) { { tmp = ixgbe_fcoe_get_tc(adapter); } if (pb == (int )tmp) { tc = 3072; } else { } } else { } { if ((unsigned int )hw->mac.type == 3U) { goto case_3; } else { } goto switch_default; case_3: /* CIL Label */ dv_id = (u32 )(((link * 288 + 3373344) / 25 + 1) + tc * 16); goto ldv_54616; switch_default: /* CIL Label */ dv_id = (u32 )(((link * 288 + 2009376) / 25 + 1) + tc * 16); goto ldv_54616; switch_break: /* CIL Label */ ; } ldv_54616: ; if ((adapter->flags & 8388608U) != 0U) { dv_id = dv_id + (u32 )(tc * 8); } else { } { kb = (int )((dv_id + 8191U) / 8192U); tmp___0 = ixgbe_read_reg(hw, (u32 )((pb + 3840) * 4)); rx_pba = tmp___0 >> 10; marker = (int )(rx_pba - (u32 )kb); } if (marker < 0) { if ((int )adapter->msg_enable & 1) { { netdev_warn((struct net_device const *)adapter->netdev, "Packet Buffer(%i) can not provide enoughheadroom to support flow control.Decrease MTU or number of traffic classes\n", pb); } } else { } marker = tc + 1; } else { } return (marker); } } static int ixgbe_lpbthresh(struct ixgbe_adapter *adapter ) { struct ixgbe_hw *hw ; struct net_device *dev ; int tc ; u32 dv_id ; { hw = & adapter->hw; dev = adapter->netdev; tc = (int )(dev->mtu + 18U); { if ((unsigned int )hw->mac.type == 3U) { goto case_3; } else { } goto switch_default; case_3: /* CIL Label */ dv_id = (u32 )((tc + 900) * 16 + 1); goto ldv_54626; switch_default: /* CIL Label */ dv_id = (u32 )((tc + 900) * 32 + 2); goto ldv_54626; switch_break: /* CIL Label */ ; } ldv_54626: ; return ((int )((dv_id + 8191U) / 8192U)); } } static void ixgbe_pbthresh_setup(struct ixgbe_adapter *adapter ) { struct ixgbe_hw *hw ; int num_tc ; int tmp ; int i ; int tmp___0 ; int tmp___1 ; { { hw = & adapter->hw; tmp = netdev_get_num_tc(adapter->netdev); num_tc = tmp; } if (num_tc == 0) { num_tc = 1; } else { } { tmp___0 = ixgbe_lpbthresh(adapter); hw->fc.low_water = (u32 )tmp___0; i = 0; } goto ldv_54635; ldv_54634: { tmp___1 = ixgbe_hpbthresh(adapter, i); hw->fc.high_water[i] = (u32 )tmp___1; } if (hw->fc.low_water > hw->fc.high_water[i]) { hw->fc.low_water = 0U; } else { } i = i + 1; ldv_54635: ; if (i < num_tc) { goto ldv_54634; } else { } return; } } static void ixgbe_configure_pb(struct ixgbe_adapter *adapter ) { struct ixgbe_hw *hw ; int hdrm ; u8 tc ; int tmp ; { { hw = & adapter->hw; tmp = netdev_get_num_tc(adapter->netdev); tc = (u8 )tmp; } if (*((unsigned int *)adapter + 134UL) != 0U) { hdrm = 32 << (int )adapter->fdir_pballoc; } else { hdrm = 0; } { (*(hw->mac.ops.set_rxpba))(hw, (int )tc, (u32 )hdrm, 0); ixgbe_pbthresh_setup(adapter); } return; } } static void ixgbe_fdir_filter_restore(struct ixgbe_adapter *adapter ) { struct ixgbe_hw *hw ; struct hlist_node *node2 ; struct ixgbe_fdir_filter *filter ; int tmp ; struct hlist_node *____ptr ; struct hlist_node const *__mptr ; struct ixgbe_fdir_filter *tmp___0 ; struct hlist_node *____ptr___0 ; struct hlist_node const *__mptr___0 ; struct ixgbe_fdir_filter *tmp___1 ; { { hw = & adapter->hw; spin_lock(& adapter->fdir_perfect_lock); tmp = hlist_empty((struct hlist_head const *)(& adapter->fdir_filter_list)); } if (tmp == 0) { { ixgbe_fdir_set_input_mask_82599(hw, & adapter->fdir_mask); } } else { } ____ptr = adapter->fdir_filter_list.first; if ((unsigned long )____ptr != (unsigned long )((struct hlist_node *)0)) { __mptr = (struct hlist_node const *)____ptr; tmp___0 = (struct ixgbe_fdir_filter *)__mptr; } else { tmp___0 = (struct ixgbe_fdir_filter *)0; } filter = tmp___0; goto ldv_54659; ldv_54658: { ixgbe_fdir_write_perfect_filter_82599(hw, & filter->filter, (int )filter->sw_idx, (unsigned int )filter->action != 127U ? (int )(adapter->rx_ring[(int )filter->action])->reg_idx : 127); ____ptr___0 = node2; } if ((unsigned long )____ptr___0 != (unsigned long )((struct hlist_node *)0)) { __mptr___0 = (struct hlist_node const *)____ptr___0; tmp___1 = (struct ixgbe_fdir_filter *)__mptr___0; } else { tmp___1 = (struct ixgbe_fdir_filter *)0; } filter = tmp___1; ldv_54659: ; if ((unsigned long )filter != (unsigned long )((struct ixgbe_fdir_filter *)0)) { node2 = filter->fdir_node.next; goto ldv_54658; } else { } { spin_unlock(& adapter->fdir_perfect_lock); } return; } } static void ixgbe_macvlan_set_rx_mode(struct net_device *dev , unsigned int pool , struct ixgbe_adapter *adapter ) { struct ixgbe_hw *hw ; u32 vmolr ; { { hw = & adapter->hw; vmolr = ixgbe_read_reg(hw, (pool + 15360U) * 4U); vmolr = vmolr | 184549376U; vmolr = vmolr & 4026531839U; } if ((dev->flags & 512U) != 0U) { vmolr = vmolr | 268435456U; } else { { vmolr = vmolr | 33554432U; (*(hw->mac.ops.update_mc_addr_list))(hw, dev); } } { ixgbe_write_uc_addr_list(adapter->netdev); ixgbe_write_reg(hw, (pool + 15360U) * 4U, vmolr); } return; } } static void ixgbe_add_mac_filter(struct ixgbe_adapter *adapter , u8 *addr , u16 pool ) { struct ixgbe_hw *hw ; unsigned int entry ; { { hw = & adapter->hw; entry = hw->mac.num_rar_entries - (u32 )pool; (*(hw->mac.ops.set_rar))(hw, entry, addr, (u32 )((int )pool + (int )adapter->ring_feature[1].offset), 2147483648U); } return; } } static void ixgbe_fwd_psrtype(struct ixgbe_fwd_adapter *vadapter ) { struct ixgbe_adapter *adapter ; int rss_i ; struct ixgbe_hw *hw ; u16 pool ; u32 psrtype ; { adapter = vadapter->real_adapter; rss_i = adapter->num_rx_queues_per_pool; hw = & adapter->hw; pool = (u16 )vadapter->pool; psrtype = 4912U; if ((unsigned int )hw->mac.type == 1U) { return; } else { } if (rss_i > 3) { psrtype = psrtype | 1073741824U; } else if (rss_i > 1) { psrtype = psrtype | 536870912U; } else { } { ixgbe_write_reg(hw, (u32 )((int )pool + (int )adapter->ring_feature[1].offset <= 15 ? (((int )pool + (int )adapter->ring_feature[1].offset) + 5408) * 4 : (((int )pool + (int )adapter->ring_feature[1].offset) + 14976) * 4), psrtype); } return; } } static void ixgbe_clean_rx_ring(struct ixgbe_ring *rx_ring ) { struct device *dev ; unsigned long size ; u16 i ; struct ixgbe_rx_buffer *rx_buffer ; struct sk_buff *skb ; unsigned int tmp ; unsigned int tmp___0 ; unsigned int tmp___1 ; { dev = rx_ring->dev; if ((unsigned long )rx_ring->__annonCompField94.rx_buffer_info == (unsigned long )((struct ixgbe_rx_buffer *)0)) { return; } else { } i = 0U; goto ldv_54692; ldv_54691: rx_buffer = rx_ring->__annonCompField94.rx_buffer_info + (unsigned long )i; if ((unsigned long )rx_buffer->skb != (unsigned long )((struct sk_buff *)0)) { skb = rx_buffer->skb; if ((int )((struct ixgbe_cb *)(& skb->cb))->page_released) { { tmp = ixgbe_rx_bufsz(rx_ring); dma_unmap_page(dev, ((struct ixgbe_cb *)(& skb->cb))->dma, (size_t )tmp, 2); ((struct ixgbe_cb *)(& skb->cb))->page_released = 0; } } else { } { consume_skb(skb); } } else { } rx_buffer->skb = (struct sk_buff *)0; if (rx_buffer->dma != 0ULL) { { tmp___0 = ixgbe_rx_pg_order(rx_ring); dma_unmap_page(dev, rx_buffer->dma, 4096UL << (int )tmp___0, 2); } } else { } rx_buffer->dma = 0ULL; if ((unsigned long )rx_buffer->page != (unsigned long )((struct page *)0)) { { tmp___1 = ixgbe_rx_pg_order(rx_ring); __free_pages(rx_buffer->page, tmp___1); } } else { } rx_buffer->page = (struct page *)0; i = (u16 )((int )i + 1); ldv_54692: ; if ((int )i < (int )rx_ring->count) { goto ldv_54691; } else { } { size = (unsigned long )rx_ring->count * 32UL; memset((void *)rx_ring->__annonCompField94.rx_buffer_info, 0, size); memset(rx_ring->desc, 0, (size_t )rx_ring->size); rx_ring->__annonCompField96.next_to_alloc = 0U; rx_ring->next_to_clean = 0U; rx_ring->next_to_use = 0U; } return; } } static void ixgbe_disable_fwd_ring(struct ixgbe_fwd_adapter *vadapter , struct ixgbe_ring *rx_ring ) { struct ixgbe_adapter *adapter ; int index ; { { adapter = vadapter->real_adapter; index = (int )((unsigned int )rx_ring->queue_index + vadapter->rx_base_queue); ixgbe_disable_rx_queue(adapter, rx_ring); usleep_range(10000UL, 20000UL); ixgbe_irq_disable_queues(adapter, 1ULL << index); ixgbe_clean_rx_ring(rx_ring); rx_ring->l2_accel_priv = (struct ixgbe_fwd_adapter *)0; } return; } } static int ixgbe_fwd_ring_down(struct net_device *vdev , struct ixgbe_fwd_adapter *accel ) { struct ixgbe_adapter *adapter ; unsigned int rxbase ; unsigned int txbase ; int i ; { { adapter = accel->real_adapter; rxbase = accel->rx_base_queue; txbase = accel->tx_base_queue; netif_tx_stop_all_queues(vdev); i = 0; } goto ldv_54709; ldv_54708: { ixgbe_disable_fwd_ring(accel, adapter->rx_ring[rxbase + (unsigned int )i]); (adapter->rx_ring[rxbase + (unsigned int )i])->netdev = adapter->netdev; i = i + 1; } ldv_54709: ; if (i < adapter->num_rx_queues_per_pool) { goto ldv_54708; } else { } i = 0; goto ldv_54712; ldv_54711: (adapter->tx_ring[txbase + (unsigned int )i])->l2_accel_priv = (struct ixgbe_fwd_adapter *)0; (adapter->tx_ring[txbase + (unsigned int )i])->netdev = adapter->netdev; i = i + 1; ldv_54712: ; if (i < adapter->num_rx_queues_per_pool) { goto ldv_54711; } else { } return (0); } } static int ixgbe_fwd_ring_up(struct net_device *vdev , struct ixgbe_fwd_adapter *accel ) { struct ixgbe_adapter *adapter ; unsigned int rxbase ; unsigned int txbase ; unsigned int queues ; int i ; int baseq ; int err ; int tmp___0 ; struct _ddebug descriptor ; long tmp___1 ; unsigned int __min1 ; unsigned int __min2 ; bool tmp___2 ; { { adapter = accel->real_adapter; err = 0; tmp___0 = variable_test_bit((long )accel->pool, (unsigned long const volatile *)(& adapter->fwd_bitmask)); } if (tmp___0 == 0) { return (0); } else { } { baseq = accel->pool * adapter->num_rx_queues_per_pool; descriptor.modname = "ixgbe"; descriptor.function = "ixgbe_fwd_ring_up"; descriptor.filename = "drivers/net/ethernet/intel/ixgbe/ixgbe_main.c"; descriptor.format = "pool %i:%i queues %i:%i VSI bitmask %lx\n"; descriptor.lineno = 4327U; descriptor.flags = 0U; tmp___1 = ldv__builtin_expect((long )descriptor.flags & 1L, 0L); } if (tmp___1 != 0L) { { __dynamic_netdev_dbg(& descriptor, (struct net_device const *)vdev, "pool %i:%i queues %i:%i VSI bitmask %lx\n", accel->pool, adapter->num_rx_pools, baseq, baseq + adapter->num_rx_queues_per_pool, adapter->fwd_bitmask); } } else { } accel->netdev = vdev; rxbase = (unsigned int )baseq; accel->rx_base_queue = rxbase; txbase = (unsigned int )baseq; accel->tx_base_queue = txbase; i = 0; goto ldv_54728; ldv_54727: { ixgbe_disable_fwd_ring(accel, adapter->rx_ring[rxbase + (unsigned int )i]); i = i + 1; } ldv_54728: ; if (i < adapter->num_rx_queues_per_pool) { goto ldv_54727; } else { } i = 0; goto ldv_54731; ldv_54730: { (adapter->rx_ring[rxbase + (unsigned int )i])->netdev = vdev; (adapter->rx_ring[rxbase + (unsigned int )i])->l2_accel_priv = accel; ixgbe_configure_rx_ring(adapter, adapter->rx_ring[rxbase + (unsigned int )i]); i = i + 1; } ldv_54731: ; if (i < adapter->num_rx_queues_per_pool) { goto ldv_54730; } else { } i = 0; goto ldv_54734; ldv_54733: (adapter->tx_ring[txbase + (unsigned int )i])->netdev = vdev; (adapter->tx_ring[txbase + (unsigned int )i])->l2_accel_priv = accel; i = i + 1; ldv_54734: ; if (i < adapter->num_rx_queues_per_pool) { goto ldv_54733; } else { } { __min1 = (unsigned int )adapter->num_rx_queues_per_pool; __min2 = vdev->num_tx_queues; queues = __min1 < __min2 ? __min1 : __min2; err = netif_set_real_num_tx_queues(vdev, queues); } if (err != 0) { goto fwd_queue_err; } else { } { err = netif_set_real_num_rx_queues(vdev, queues); } if (err != 0) { goto fwd_queue_err; } else { } { tmp___2 = is_valid_ether_addr((u8 const *)vdev->dev_addr); } if ((int )tmp___2) { { ixgbe_add_mac_filter(adapter, vdev->dev_addr, (int )((u16 )accel->pool)); } } else { } { ixgbe_fwd_psrtype(accel); ixgbe_macvlan_set_rx_mode(vdev, (unsigned int )accel->pool, adapter); } return (err); fwd_queue_err: { ixgbe_fwd_ring_down(vdev, accel); } return (err); } } static void ixgbe_configure_dfwd(struct ixgbe_adapter *adapter ) { struct net_device *upper ; struct list_head *iter ; int err ; struct macvlan_dev *dfwd ; void *tmp ; struct ixgbe_fwd_adapter *vadapter ; bool tmp___0 ; { { iter = & (adapter->netdev)->all_adj_list.upper; upper = netdev_all_upper_get_next_dev_rcu(adapter->netdev, & iter); } goto ldv_54750; ldv_54749: { tmp___0 = netif_is_macvlan(upper); } if ((int )tmp___0) { { tmp = netdev_priv((struct net_device const *)upper); dfwd = (struct macvlan_dev *)tmp; vadapter = (struct ixgbe_fwd_adapter *)dfwd->fwd_priv; } if ((unsigned long )dfwd->fwd_priv != (unsigned long )((void *)0)) { { err = ixgbe_fwd_ring_up(upper, vadapter); } if (err != 0) { goto ldv_54748; } else { } } else { } } else { } ldv_54748: { upper = netdev_all_upper_get_next_dev_rcu(adapter->netdev, & iter); } ldv_54750: ; if ((unsigned long )upper != (unsigned long )((struct net_device *)0)) { goto ldv_54749; } else { } return; } } static void ixgbe_configure(struct ixgbe_adapter *adapter ) { struct ixgbe_hw *hw ; { { hw = & adapter->hw; ixgbe_configure_pb(adapter); ixgbe_configure_dcb(adapter); ixgbe_configure_virtualization(adapter); ixgbe_set_rx_mode(adapter->netdev); ixgbe_restore_vlan(adapter); } { if ((unsigned int )hw->mac.type == 2U) { goto case_2; } else { } if ((unsigned int )hw->mac.type == 3U) { goto case_3; } else { } goto switch_default; case_2: /* CIL Label */ ; case_3: /* CIL Label */ { (*(hw->mac.ops.disable_rx_buff))(hw); } goto ldv_54758; switch_default: /* CIL Label */ ; goto ldv_54758; switch_break: /* CIL Label */ ; } ldv_54758: ; if ((adapter->flags & 262144U) != 0U) { { ixgbe_init_fdir_signature_82599(& adapter->hw, adapter->fdir_pballoc); } } else if ((adapter->flags & 524288U) != 0U) { { ixgbe_init_fdir_perfect_82599(& adapter->hw, adapter->fdir_pballoc); ixgbe_fdir_filter_restore(adapter); } } else { } { if ((unsigned int )hw->mac.type == 2U) { goto case_2___0; } else { } if ((unsigned int )hw->mac.type == 3U) { goto case_3___0; } else { } goto switch_default___0; case_2___0: /* CIL Label */ ; case_3___0: /* CIL Label */ { (*(hw->mac.ops.enable_rx_buff))(hw); } goto ldv_54762; switch_default___0: /* CIL Label */ ; goto ldv_54762; switch_break___0: /* CIL Label */ ; } ldv_54762: { ixgbe_configure_fcoe(adapter); ixgbe_configure_tx(adapter); ixgbe_configure_rx(adapter); ixgbe_configure_dfwd(adapter); } return; } } __inline static bool ixgbe_is_sfp(struct ixgbe_hw *hw ) { { { if ((unsigned int )hw->phy.type == 11U) { goto case_11; } else { } if ((unsigned int )hw->phy.type == 12U) { goto case_12; } else { } if ((unsigned int )hw->phy.type == 15U) { goto case_15; } else { } if ((unsigned int )hw->phy.type == 14U) { goto case_14; } else { } if ((unsigned int )hw->phy.type == 8U) { goto case_8; } else { } if ((unsigned int )hw->phy.type == 9U) { goto case_9; } else { } if ((unsigned int )hw->phy.type == 10U) { goto case_10; } else { } if ((unsigned int )hw->phy.type == 13U) { goto case_13; } else { } if ((unsigned int )hw->phy.type == 16U) { goto case_16; } else { } if ((unsigned int )hw->phy.type == 17U) { goto case_17; } else { } if ((unsigned int )hw->phy.type == 18U) { goto case_18; } else { } if ((unsigned int )hw->phy.type == 19U) { goto case_19; } else { } if ((unsigned int )hw->phy.type == 7U) { goto case_7; } else { } goto switch_default; case_11: /* CIL Label */ ; case_12: /* CIL Label */ ; case_15: /* CIL Label */ ; case_14: /* CIL Label */ ; case_8: /* CIL Label */ ; case_9: /* CIL Label */ ; case_10: /* CIL Label */ ; case_13: /* CIL Label */ ; case_16: /* CIL Label */ ; case_17: /* CIL Label */ ; case_18: /* CIL Label */ ; case_19: /* CIL Label */ ; return (1); case_7: /* CIL Label */ ; if ((unsigned int )hw->mac.type == 1U) { return (1); } else { } switch_default: /* CIL Label */ ; return (0); switch_break: /* CIL Label */ ; } } } static void ixgbe_sfp_link_config(struct ixgbe_adapter *adapter ) { { if ((unsigned int )adapter->hw.mac.type == 1U) { adapter->flags2 = adapter->flags2 | 16U; } else { } adapter->flags2 = adapter->flags2 | 32U; return; } } static int ixgbe_non_sfp_link_config(struct ixgbe_hw *hw ) { u32 speed ; bool autoneg ; bool link_up ; u32 ret ; s32 tmp ; s32 tmp___0 ; s32 tmp___1 ; { link_up = 0; ret = 4294967288U; if ((unsigned long )hw->mac.ops.check_link != (unsigned long )((s32 (*)(struct ixgbe_hw * , ixgbe_link_speed * , bool * , bool ))0)) { { tmp = (*(hw->mac.ops.check_link))(hw, & speed, & link_up, 0); ret = (u32 )tmp; } } else { } if (ret != 0U) { goto link_cfg_out; } else { } speed = hw->phy.autoneg_advertised; if (speed == 0U && (unsigned long )hw->mac.ops.get_link_capabilities != (unsigned long )((s32 (*)(struct ixgbe_hw * , ixgbe_link_speed * , bool * ))0)) { { tmp___0 = (*(hw->mac.ops.get_link_capabilities))(hw, & speed, & autoneg); ret = (u32 )tmp___0; } } else { } if (ret != 0U) { goto link_cfg_out; } else { } if ((unsigned long )hw->mac.ops.setup_link != (unsigned long )((s32 (*)(struct ixgbe_hw * , ixgbe_link_speed , bool ))0)) { { tmp___1 = (*(hw->mac.ops.setup_link))(hw, speed, (int )link_up); ret = (u32 )tmp___1; } } else { } link_cfg_out: ; return ((int )ret); } } static void ixgbe_setup_gpie(struct ixgbe_adapter *adapter ) { struct ixgbe_hw *hw ; u32 gpie ; { hw = & adapter->hw; gpie = 0U; if ((adapter->flags & 8U) != 0U) { gpie = 2147483696U; gpie = gpie | 1073741824U; { if ((unsigned int )hw->mac.type == 1U) { goto case_1; } else { } if ((unsigned int )hw->mac.type == 2U) { goto case_2; } else { } if ((unsigned int )hw->mac.type == 3U) { goto case_3; } else { } goto switch_default; case_1: /* CIL Label */ { ixgbe_write_reg(hw, 2192U, 65535U); } goto ldv_54798; case_2: /* CIL Label */ ; case_3: /* CIL Label */ ; switch_default: /* CIL Label */ { ixgbe_write_reg(hw, 2768U, 4294967295U); ixgbe_write_reg(hw, 2772U, 4294967295U); } goto ldv_54798; switch_break: /* CIL Label */ ; } ldv_54798: ; } else { { ixgbe_write_reg(hw, 2192U, 65535U); } } if ((adapter->flags & 8388608U) != 0U) { gpie = gpie & 4294918143U; { if ((int )adapter->ring_feature[1].mask == 120) { goto case_120; } else { } if ((int )adapter->ring_feature[1].mask == 124) { goto case_124; } else { } goto switch_default___0; case_120: /* CIL Label */ gpie = gpie | 16384U; goto ldv_54803; case_124: /* CIL Label */ gpie = gpie | 32768U; goto ldv_54803; switch_default___0: /* CIL Label */ gpie = gpie | 49152U; goto ldv_54803; switch_break___0: /* CIL Label */ ; } ldv_54803: ; } else { } if ((adapter->flags2 & 4U) != 0U) { { if ((unsigned int )adapter->hw.mac.type == 2U) { goto case_2___0; } else { } if ((unsigned int )adapter->hw.mac.type == 3U) { goto case_3___0; } else { } goto switch_default___1; case_2___0: /* CIL Label */ gpie = gpie | 1U; goto ldv_54807; case_3___0: /* CIL Label */ gpie = gpie | 8388608U; goto ldv_54807; switch_default___1: /* CIL Label */ ; goto ldv_54807; switch_break___1: /* CIL Label */ ; } ldv_54807: ; } else { } if ((adapter->flags & 32768U) != 0U) { gpie = gpie | 2U; } else { } if ((unsigned int )hw->mac.type == 2U) { gpie = gpie | 2U; gpie = gpie | 4U; } else { } { ixgbe_write_reg(hw, 2200U, gpie); } return; } } static void ixgbe_up_complete(struct ixgbe_adapter *adapter ) { struct ixgbe_hw *hw ; struct net_device *upper ; struct list_head *iter ; int err ; u32 ctrl_ext ; bool tmp ; u32 esdp ; u32 tmp___0 ; struct macvlan_dev *vlan ; void *tmp___1 ; bool tmp___2 ; { { hw = & adapter->hw; ixgbe_get_hw_control(adapter); ixgbe_setup_gpie(adapter); } if ((adapter->flags & 8U) != 0U) { { ixgbe_configure_msix(adapter); } } else { { ixgbe_configure_msi_and_legacy(adapter); } } if ((unsigned long )hw->mac.ops.enable_tx_laser != (unsigned long )((void (*)(struct ixgbe_hw * ))0)) { { (*(hw->mac.ops.enable_tx_laser))(hw); } } else { } { __asm__ volatile ("": : : "memory"); clear_bit(2L, (unsigned long volatile *)(& adapter->state)); ixgbe_napi_enable_all(adapter); tmp = ixgbe_is_sfp(hw); } if ((int )tmp) { { ixgbe_sfp_link_config(adapter); } } else { { err = ixgbe_non_sfp_link_config(hw); } if (err != 0) { if (((int )adapter->msg_enable & 2) != 0) { { netdev_err((struct net_device const *)adapter->netdev, "link_config FAILED %d\n", err); } } else { } } else { } } { ixgbe_read_reg(hw, 2048U); ixgbe_irq_enable(adapter, 1, 1); } if ((adapter->flags & 32768U) != 0U) { { tmp___0 = ixgbe_read_reg(hw, 32U); esdp = tmp___0; } if ((esdp & 2U) != 0U) { if ((int )adapter->msg_enable & 1) { { netdev_crit((struct net_device const *)adapter->netdev, "Fan has stopped, replace the adapter\n"); } } else { } } else { } } else { } { netif_tx_start_all_queues(adapter->netdev); iter = & (adapter->netdev)->all_adj_list.upper; upper = netdev_all_upper_get_next_dev_rcu(adapter->netdev, & iter); } goto ldv_54821; ldv_54820: { tmp___2 = netif_is_macvlan(upper); } if ((int )tmp___2) { { tmp___1 = netdev_priv((struct net_device const *)upper); vlan = (struct macvlan_dev *)tmp___1; } if ((unsigned long )vlan->fwd_priv != (unsigned long )((void *)0)) { { netif_tx_start_all_queues(upper); } } else { } } else { } { upper = netdev_all_upper_get_next_dev_rcu(adapter->netdev, & iter); } ldv_54821: ; if ((unsigned long )upper != (unsigned long )((struct net_device *)0)) { goto ldv_54820; } else { } { adapter->flags = adapter->flags | 65536U; adapter->link_check_timeout = jiffies; ldv_mod_timer_27(& adapter->service_timer, jiffies); ctrl_ext = ixgbe_read_reg(hw, 24U); ctrl_ext = ctrl_ext | 16384U; ixgbe_write_reg(hw, 24U, ctrl_ext); } return; } } void ixgbe_reinit_locked(struct ixgbe_adapter *adapter ) { int __ret_warn_on ; int tmp ; long tmp___0 ; int tmp___1 ; { { tmp = preempt_count(); __ret_warn_on = ((unsigned long )tmp & 2096896UL) != 0UL; tmp___0 = ldv__builtin_expect(__ret_warn_on != 0, 0L); } if (tmp___0 != 0L) { { warn_slowpath_null("drivers/net/ethernet/intel/ixgbe/ixgbe_main.c", 4663); } } else { } { ldv__builtin_expect(__ret_warn_on != 0, 0L); (adapter->netdev)->trans_start = jiffies; } goto ldv_54829; ldv_54828: { usleep_range(1000UL, 2000UL); } ldv_54829: { tmp___1 = test_and_set_bit(1L, (unsigned long volatile *)(& adapter->state)); } if (tmp___1 != 0) { goto ldv_54828; } else { } { ixgbe_down(adapter); } if ((adapter->flags & 8388608U) != 0U) { { msleep(2000U); } } else { } { ixgbe_up(adapter); clear_bit(1L, (unsigned long volatile *)(& adapter->state)); } return; } } void ixgbe_up(struct ixgbe_adapter *adapter ) { { { ixgbe_configure(adapter); ixgbe_up_complete(adapter); } return; } } void ixgbe_reset(struct ixgbe_adapter *adapter ) { struct ixgbe_hw *hw ; int err ; bool tmp ; int tmp___0 ; int tmp___1 ; { { hw = & adapter->hw; tmp = ixgbe_removed((void *)hw->hw_addr); } if ((int )tmp) { return; } else { } goto ldv_54840; ldv_54839: { usleep_range(1000UL, 2000UL); } ldv_54840: { tmp___0 = test_and_set_bit(5L, (unsigned long volatile *)(& adapter->state)); } if (tmp___0 != 0) { goto ldv_54839; } else { } { adapter->flags2 = adapter->flags2 & 4294967247U; adapter->flags = adapter->flags & 4294836223U; err = (*(hw->mac.ops.init_hw))(hw); } { if (err == 0) { goto case_0; } else { } if (err == -20) { goto case_neg_20; } else { } if (err == -19) { goto case_neg_19; } else { } if (err == -12) { goto case_neg_12; } else { } if (err == -24) { goto case_neg_24; } else { } goto switch_default; case_0: /* CIL Label */ ; case_neg_20: /* CIL Label */ ; case_neg_19: /* CIL Label */ ; goto ldv_54845; case_neg_12: /* CIL Label */ { dev_err((struct device const *)(& (adapter->pdev)->dev), "master disable timed out\n"); } goto ldv_54845; case_neg_24: /* CIL Label */ { dev_warn((struct device const *)(& (adapter->pdev)->dev), "This device is a pre-production adapter/LOM. Please be aware there may be issues associated with your hardware. If you are experiencing problems please contact your Intel or hardware representative who provided you with this hardware.\n"); } goto ldv_54845; switch_default: /* CIL Label */ { dev_err((struct device const *)(& (adapter->pdev)->dev), "Hardware Error: %d\n", err); } switch_break: /* CIL Label */ ; } ldv_54845: { clear_bit(5L, (unsigned long volatile *)(& adapter->state)); (*(hw->mac.ops.set_rar))(hw, 0U, (u8 *)(& hw->mac.addr), (u32 )adapter->ring_feature[1].offset, 2147483648U); } if ((unsigned int )hw->mac.san_mac_rar_index != 0U) { { (*(hw->mac.ops.set_vmdq_san_mac))(hw, (u32 )adapter->ring_feature[1].offset); } } else { } { tmp___1 = constant_test_bit(6L, (unsigned long const volatile *)(& adapter->state)); } if (tmp___1 != 0) { { ixgbe_ptp_reset(adapter); } } else { } return; } } static void ixgbe_clean_tx_ring(struct ixgbe_ring *tx_ring ) { struct ixgbe_tx_buffer *tx_buffer_info ; unsigned long size ; u16 i ; struct netdev_queue *tmp ; { if ((unsigned long )tx_ring->__annonCompField94.tx_buffer_info == (unsigned long )((struct ixgbe_tx_buffer *)0)) { return; } else { } i = 0U; goto ldv_54856; ldv_54855: { tx_buffer_info = tx_ring->__annonCompField94.tx_buffer_info + (unsigned long )i; ixgbe_unmap_and_free_tx_resource(tx_ring, tx_buffer_info); i = (u16 )((int )i + 1); } ldv_54856: ; if ((int )i < (int )tx_ring->count) { goto ldv_54855; } else { } { tmp = txring_txq((struct ixgbe_ring const *)tx_ring); netdev_tx_reset_queue(tmp); size = (unsigned long )tx_ring->count * 48UL; memset((void *)tx_ring->__annonCompField94.tx_buffer_info, 0, size); memset(tx_ring->desc, 0, (size_t )tx_ring->size); tx_ring->next_to_use = 0U; tx_ring->next_to_clean = 0U; } return; } } static void ixgbe_clean_all_rx_rings(struct ixgbe_adapter *adapter ) { int i ; { i = 0; goto ldv_54863; ldv_54862: { ixgbe_clean_rx_ring(adapter->rx_ring[i]); i = i + 1; } ldv_54863: ; if (i < adapter->num_rx_queues) { goto ldv_54862; } else { } return; } } static void ixgbe_clean_all_tx_rings(struct ixgbe_adapter *adapter ) { int i ; { i = 0; goto ldv_54870; ldv_54869: { ixgbe_clean_tx_ring(adapter->tx_ring[i]); i = i + 1; } ldv_54870: ; if (i < adapter->num_tx_queues) { goto ldv_54869; } else { } return; } } static void ixgbe_fdir_filter_exit(struct ixgbe_adapter *adapter ) { struct hlist_node *node2 ; struct ixgbe_fdir_filter *filter ; struct hlist_node *____ptr ; struct hlist_node const *__mptr ; struct ixgbe_fdir_filter *tmp ; struct hlist_node *____ptr___0 ; struct hlist_node const *__mptr___0 ; struct ixgbe_fdir_filter *tmp___0 ; { { spin_lock(& adapter->fdir_perfect_lock); ____ptr = adapter->fdir_filter_list.first; } if ((unsigned long )____ptr != (unsigned long )((struct hlist_node *)0)) { __mptr = (struct hlist_node const *)____ptr; tmp = (struct ixgbe_fdir_filter *)__mptr; } else { tmp = (struct ixgbe_fdir_filter *)0; } filter = tmp; goto ldv_54887; ldv_54886: { hlist_del(& filter->fdir_node); kfree((void const *)filter); ____ptr___0 = node2; } if ((unsigned long )____ptr___0 != (unsigned long )((struct hlist_node *)0)) { __mptr___0 = (struct hlist_node const *)____ptr___0; tmp___0 = (struct ixgbe_fdir_filter *)__mptr___0; } else { tmp___0 = (struct ixgbe_fdir_filter *)0; } filter = tmp___0; ldv_54887: ; if ((unsigned long )filter != (unsigned long )((struct ixgbe_fdir_filter *)0)) { node2 = filter->fdir_node.next; goto ldv_54886; } else { } { adapter->fdir_filter_count = 0; spin_unlock(& adapter->fdir_perfect_lock); } return; } } void ixgbe_down(struct ixgbe_adapter *adapter ) { struct net_device *netdev ; struct ixgbe_hw *hw ; struct net_device *upper ; struct list_head *iter ; u32 rxctrl ; int i ; int tmp ; struct macvlan_dev *vlan ; void *tmp___0 ; bool tmp___1 ; u8 reg_idx ; u32 tmp___2 ; int tmp___3 ; { { netdev = adapter->netdev; hw = & adapter->hw; tmp = test_and_set_bit(2L, (unsigned long volatile *)(& adapter->state)); } if (tmp != 0) { return; } else { } { rxctrl = ixgbe_read_reg(hw, 12288U); ixgbe_write_reg(hw, 12288U, rxctrl & 4294967294U); i = 0; } goto ldv_54899; ldv_54898: { ixgbe_disable_rx_queue(adapter, adapter->rx_ring[i]); i = i + 1; } ldv_54899: ; if (i < adapter->num_rx_queues) { goto ldv_54898; } else { } { usleep_range(10000UL, 20000UL); netif_tx_stop_all_queues(netdev); netif_carrier_off(netdev); netif_tx_disable(netdev); iter = & (adapter->netdev)->all_adj_list.upper; upper = netdev_all_upper_get_next_dev_rcu(adapter->netdev, & iter); } goto ldv_54903; ldv_54902: { tmp___1 = netif_is_macvlan(upper); } if ((int )tmp___1) { { tmp___0 = netdev_priv((struct net_device const *)upper); vlan = (struct macvlan_dev *)tmp___0; } if ((unsigned long )vlan->fwd_priv != (unsigned long )((void *)0)) { { netif_tx_stop_all_queues(upper); netif_carrier_off(upper); netif_tx_disable(upper); } } else { } } else { } { upper = netdev_all_upper_get_next_dev_rcu(adapter->netdev, & iter); } ldv_54903: ; if ((unsigned long )upper != (unsigned long )((struct net_device *)0)) { goto ldv_54902; } else { } { ixgbe_irq_disable(adapter); ixgbe_napi_disable_all(adapter); adapter->flags2 = adapter->flags2 & 4294967103U; adapter->flags = adapter->flags & 4294901759U; ldv_del_timer_sync_28(& adapter->service_timer); } if (adapter->num_vfs != 0U) { { ixgbe_write_reg(& adapter->hw, 2196U, 0U); i = 0; } goto ldv_54906; ldv_54905: (adapter->vfinfo + (unsigned long )i)->clear_to_send = 0; i = i + 1; ldv_54906: ; if ((unsigned int )i < adapter->num_vfs) { goto ldv_54905; } else { } { ixgbe_ping_all_vfs(adapter); ixgbe_disable_tx_rx(adapter); } } else { } i = 0; goto ldv_54910; ldv_54909: { reg_idx = (adapter->tx_ring[i])->reg_idx; ixgbe_write_reg(hw, (u32 )((int )reg_idx * 64 + 24616), 67108864U); i = i + 1; } ldv_54910: ; if (i < adapter->num_tx_queues) { goto ldv_54909; } else { } { if ((unsigned int )hw->mac.type == 2U) { goto case_2; } else { } if ((unsigned int )hw->mac.type == 3U) { goto case_3; } else { } goto switch_default; case_2: /* CIL Label */ ; case_3: /* CIL Label */ { tmp___2 = ixgbe_read_reg(hw, 19072U); ixgbe_write_reg(hw, 19072U, tmp___2 & 4294967294U); } goto ldv_54914; switch_default: /* CIL Label */ ; goto ldv_54914; switch_break: /* CIL Label */ ; } ldv_54914: { tmp___3 = pci_channel_offline(adapter->pdev); } if (tmp___3 == 0) { { ixgbe_reset(adapter); } } else { } if ((unsigned long )hw->mac.ops.disable_tx_laser != (unsigned long )((void (*)(struct ixgbe_hw * ))0)) { { (*(hw->mac.ops.disable_tx_laser))(hw); } } else { } { ixgbe_clean_all_tx_rings(adapter); ixgbe_clean_all_rx_rings(adapter); ixgbe_setup_dca(adapter); } return; } } static void ixgbe_tx_timeout(struct net_device *netdev ) { struct ixgbe_adapter *adapter ; void *tmp ; { { tmp = netdev_priv((struct net_device const *)netdev); adapter = (struct ixgbe_adapter *)tmp; ixgbe_tx_timeout_reset(adapter); } return; } } static int ixgbe_sw_init(struct ixgbe_adapter *adapter ) { struct ixgbe_hw *hw ; struct pci_dev *pdev ; unsigned int rss ; unsigned int fdir ; u32 fwsm ; int j ; struct tc_configuration *tc ; int __min1 ; int __min2 ; unsigned int tmp ; int __min1___0 ; int __min2___0 ; unsigned int tmp___0 ; struct lock_class_key __key ; struct lock_class_key __key___0 ; s32 tmp___1 ; { { hw = & adapter->hw; pdev = adapter->pdev; hw->vendor_id = pdev->vendor; hw->device_id = pdev->device; hw->revision_id = pdev->revision; hw->subsystem_vendor_id = pdev->subsystem_vendor; hw->subsystem_device_id = pdev->subsystem_device; __min1 = 16; tmp = cpumask_weight(cpu_online_mask); __min2 = (int )tmp; rss = (unsigned int )(__min1 < __min2 ? __min1 : __min2); adapter->ring_feature[2].limit = (u16 )rss; adapter->flags2 = adapter->flags2 | 1U; adapter->flags2 = adapter->flags2 | 2U; adapter->max_q_vectors = 64; adapter->atr_sample_rate = 20U; __min1___0 = 63; tmp___0 = cpumask_weight(cpu_online_mask); __min2___0 = (int )tmp___0; fdir = (unsigned int )(__min1___0 < __min2___0 ? __min1___0 : __min2___0); adapter->ring_feature[3].limit = (u16 )fdir; adapter->fdir_pballoc = 1U; adapter->flags = adapter->flags | 512U; adapter->flags = adapter->flags | 1048576U; adapter->flags = adapter->flags & 4292870143U; adapter->fcoe.up = 3U; } { if ((unsigned int )hw->mac.type == 1U) { goto case_1; } else { } if ((unsigned int )hw->mac.type == 2U) { goto case_2; } else { } if ((unsigned int )hw->mac.type == 3U) { goto case_3; } else { } goto switch_default; case_1: /* CIL Label */ adapter->flags2 = adapter->flags2 & 4294967294U; adapter->flags2 = adapter->flags2 & 4294967293U; if ((unsigned int )hw->device_id == 4296U) { adapter->flags = adapter->flags | 32768U; } else { } adapter->max_q_vectors = 16; adapter->ring_feature[3].limit = 0U; adapter->atr_sample_rate = 0U; adapter->fdir_pballoc = 0U; adapter->flags = adapter->flags & 4293918719U; adapter->flags = adapter->flags & 4292870143U; adapter->fcoe.up = 0U; goto ldv_54937; case_2: /* CIL Label */ ; if ((unsigned int )hw->device_id == 5404U) { adapter->flags2 = adapter->flags2 | 4U; } else { } goto ldv_54937; case_3: /* CIL Label */ { fwsm = ixgbe_read_reg(hw, 65864U); } if ((int )fwsm & 1) { adapter->flags2 = adapter->flags2 | 4U; } else { } goto ldv_54937; switch_default: /* CIL Label */ ; goto ldv_54937; switch_break: /* CIL Label */ ; } ldv_54937: { spinlock_check(& adapter->fcoe.lock); __raw_spin_lock_init(& adapter->fcoe.lock.__annonCompField19.rlock, "&(&adapter->fcoe.lock)->rlock", & __key); spinlock_check(& adapter->fdir_perfect_lock); __raw_spin_lock_init(& adapter->fdir_perfect_lock.__annonCompField19.rlock, "&(&adapter->fdir_perfect_lock)->rlock", & __key___0); } { if ((unsigned int )hw->mac.type == 3U) { goto case_3___0; } else { } goto switch_default___0; case_3___0: /* CIL Label */ adapter->dcb_cfg.num_tcs.pg_tcs = 4U; adapter->dcb_cfg.num_tcs.pfc_tcs = 4U; goto ldv_54944; switch_default___0: /* CIL Label */ adapter->dcb_cfg.num_tcs.pg_tcs = 8U; adapter->dcb_cfg.num_tcs.pfc_tcs = 8U; goto ldv_54944; switch_break___0: /* CIL Label */ ; } ldv_54944: j = 0; goto ldv_54947; ldv_54946: tc = (struct tc_configuration *)(& adapter->dcb_cfg.tc_config) + (unsigned long )j; tc->path[0].bwg_id = 0U; tc->path[0].bwg_percent = ((unsigned int )((u8 )j) & 1U) + 12U; tc->path[1].bwg_id = 0U; tc->path[1].bwg_percent = ((unsigned int )((u8 )j) & 1U) + 12U; tc->dcb_pfc = 0; j = j + 1; ldv_54947: ; if (j <= 7) { goto ldv_54946; } else { } { tc = (struct tc_configuration *)(& adapter->dcb_cfg.tc_config); tc->path[0].up_to_tc_bitmap = 255U; tc->path[1].up_to_tc_bitmap = 255U; adapter->dcb_cfg.bw_percentage[0][0] = 100U; adapter->dcb_cfg.bw_percentage[1][0] = 100U; adapter->dcb_cfg.pfc_mode_enable = 0; adapter->dcb_set_bitmap = 0U; adapter->dcbx_cap = 5U; memcpy((void *)(& adapter->temp_dcb_cfg), (void const *)(& adapter->dcb_cfg), 296UL); hw->fc.requested_mode = 3; hw->fc.current_mode = 3; ixgbe_pbthresh_setup(adapter); hw->fc.pause_time = 65535U; hw->fc.send_xon = 1; hw->fc.disable_fc_autoneg = ixgbe_device_supports_autoneg_fc(hw); } if (max_vfs != 0U) { { dev_warn((struct device const *)(& (adapter->pdev)->dev), "Enabling SR-IOV VFs using the max_vfs module parameter is deprecated - please use the pci sysfs interface instead.\n"); } } else { } if ((unsigned int )hw->mac.type != 1U) { if (max_vfs > 63U) { { adapter->num_vfs = 0U; dev_warn((struct device const *)(& (adapter->pdev)->dev), "max_vfs parameter out of range. Not assigning any SR-IOV VFs\n"); } } else { adapter->num_vfs = max_vfs; } } else { } { adapter->rx_itr_setting = 1U; adapter->tx_itr_setting = 1U; adapter->tx_ring_count = 512U; adapter->rx_ring_count = 512U; adapter->tx_work_limit = 256U; tmp___1 = ixgbe_init_eeprom_params_generic(hw); } if (tmp___1 != 0) { { dev_err((struct device const *)(& (adapter->pdev)->dev), "EEPROM initialization failed\n"); } return (-5); } else { } { set_bit(0L, (unsigned long volatile *)(& adapter->fwd_bitmask)); set_bit(2L, (unsigned long volatile *)(& adapter->state)); } return (0); } } int ixgbe_setup_tx_resources(struct ixgbe_ring *tx_ring ) { struct device *dev ; int orig_node ; int tmp ; int numa_node___0 ; int size ; void *tmp___0 ; void *tmp___1 ; { { dev = tx_ring->dev; tmp = dev_to_node(dev); orig_node = tmp; numa_node___0 = -1; size = (int )((unsigned int )tx_ring->count * 48U); } if ((unsigned long )tx_ring->q_vector != (unsigned long )((struct ixgbe_q_vector *)0)) { numa_node___0 = (tx_ring->q_vector)->numa_node; } else { } { tmp___0 = vzalloc_node((unsigned long )size, numa_node___0); tx_ring->__annonCompField94.tx_buffer_info = (struct ixgbe_tx_buffer *)tmp___0; } if ((unsigned long )tx_ring->__annonCompField94.tx_buffer_info == (unsigned long )((struct ixgbe_tx_buffer *)0)) { { tmp___1 = vzalloc((unsigned long )size); tx_ring->__annonCompField94.tx_buffer_info = (struct ixgbe_tx_buffer *)tmp___1; } } else { } if ((unsigned long )tx_ring->__annonCompField94.tx_buffer_info == (unsigned long )((struct ixgbe_tx_buffer *)0)) { goto err; } else { } { tx_ring->size = (unsigned int )tx_ring->count * 16U; tx_ring->size = (tx_ring->size + 4095U) & 4294963200U; set_dev_node(dev, numa_node___0); tx_ring->desc = dma_alloc_attrs(dev, (size_t )tx_ring->size, & tx_ring->dma, 208U, (struct dma_attrs *)0); set_dev_node(dev, orig_node); } if ((unsigned long )tx_ring->desc == (unsigned long )((void *)0)) { { tx_ring->desc = dma_alloc_attrs(dev, (size_t )tx_ring->size, & tx_ring->dma, 208U, (struct dma_attrs *)0); } } else { } if ((unsigned long )tx_ring->desc == (unsigned long )((void *)0)) { goto err; } else { } tx_ring->next_to_use = 0U; tx_ring->next_to_clean = 0U; return (0); err: { vfree((void const *)tx_ring->__annonCompField94.tx_buffer_info); tx_ring->__annonCompField94.tx_buffer_info = (struct ixgbe_tx_buffer *)0; dev_err((struct device const *)dev, "Unable to allocate memory for the Tx descriptor ring\n"); } return (-12); } } static int ixgbe_setup_all_tx_resources(struct ixgbe_adapter *adapter ) { int i ; int err ; int tmp ; { err = 0; i = 0; goto ldv_54965; ldv_54964: { err = ixgbe_setup_tx_resources(adapter->tx_ring[i]); } if (err == 0) { goto ldv_54962; } else { } if (((int )adapter->msg_enable & 2) != 0) { { netdev_err((struct net_device const *)adapter->netdev, "Allocation for Tx Queue %u failed\n", i); } } else { } goto err_setup_tx; ldv_54962: i = i + 1; ldv_54965: ; if (i < adapter->num_tx_queues) { goto ldv_54964; } else { } return (0); err_setup_tx: ; goto ldv_54968; ldv_54967: { ixgbe_free_tx_resources(adapter->tx_ring[i]); } ldv_54968: tmp = i; i = i - 1; if (tmp != 0) { goto ldv_54967; } else { } return (err); } } int ixgbe_setup_rx_resources(struct ixgbe_ring *rx_ring ) { struct device *dev ; int orig_node ; int tmp ; int numa_node___0 ; int size ; void *tmp___0 ; void *tmp___1 ; { { dev = rx_ring->dev; tmp = dev_to_node(dev); orig_node = tmp; numa_node___0 = -1; size = (int )((unsigned int )rx_ring->count * 32U); } if ((unsigned long )rx_ring->q_vector != (unsigned long )((struct ixgbe_q_vector *)0)) { numa_node___0 = (rx_ring->q_vector)->numa_node; } else { } { tmp___0 = vzalloc_node((unsigned long )size, numa_node___0); rx_ring->__annonCompField94.rx_buffer_info = (struct ixgbe_rx_buffer *)tmp___0; } if ((unsigned long )rx_ring->__annonCompField94.rx_buffer_info == (unsigned long )((struct ixgbe_rx_buffer *)0)) { { tmp___1 = vzalloc((unsigned long )size); rx_ring->__annonCompField94.rx_buffer_info = (struct ixgbe_rx_buffer *)tmp___1; } } else { } if ((unsigned long )rx_ring->__annonCompField94.rx_buffer_info == (unsigned long )((struct ixgbe_rx_buffer *)0)) { goto err; } else { } { rx_ring->size = (unsigned int )rx_ring->count * 16U; rx_ring->size = (rx_ring->size + 4095U) & 4294963200U; set_dev_node(dev, numa_node___0); rx_ring->desc = dma_alloc_attrs(dev, (size_t )rx_ring->size, & rx_ring->dma, 208U, (struct dma_attrs *)0); set_dev_node(dev, orig_node); } if ((unsigned long )rx_ring->desc == (unsigned long )((void *)0)) { { rx_ring->desc = dma_alloc_attrs(dev, (size_t )rx_ring->size, & rx_ring->dma, 208U, (struct dma_attrs *)0); } } else { } if ((unsigned long )rx_ring->desc == (unsigned long )((void *)0)) { goto err; } else { } rx_ring->next_to_clean = 0U; rx_ring->next_to_use = 0U; return (0); err: { vfree((void const *)rx_ring->__annonCompField94.rx_buffer_info); rx_ring->__annonCompField94.rx_buffer_info = (struct ixgbe_rx_buffer *)0; dev_err((struct device const *)dev, "Unable to allocate memory for the Rx descriptor ring\n"); } return (-12); } } static int ixgbe_setup_all_rx_resources(struct ixgbe_adapter *adapter ) { int i ; int err ; int tmp ; { err = 0; i = 0; goto ldv_54986; ldv_54985: { err = ixgbe_setup_rx_resources(adapter->rx_ring[i]); } if (err == 0) { goto ldv_54983; } else { } if (((int )adapter->msg_enable & 2) != 0) { { netdev_err((struct net_device const *)adapter->netdev, "Allocation for Rx Queue %u failed\n", i); } } else { } goto err_setup_rx; ldv_54983: i = i + 1; ldv_54986: ; if (i < adapter->num_rx_queues) { goto ldv_54985; } else { } { err = ixgbe_setup_fcoe_ddp_resources(adapter); } if (err == 0) { return (0); } else { } err_setup_rx: ; goto ldv_54989; ldv_54988: { ixgbe_free_rx_resources(adapter->rx_ring[i]); } ldv_54989: tmp = i; i = i - 1; if (tmp != 0) { goto ldv_54988; } else { } return (err); } } void ixgbe_free_tx_resources(struct ixgbe_ring *tx_ring ) { { { ixgbe_clean_tx_ring(tx_ring); vfree((void const *)tx_ring->__annonCompField94.tx_buffer_info); tx_ring->__annonCompField94.tx_buffer_info = (struct ixgbe_tx_buffer *)0; } if ((unsigned long )tx_ring->desc == (unsigned long )((void *)0)) { return; } else { } { dma_free_attrs(tx_ring->dev, (size_t )tx_ring->size, tx_ring->desc, tx_ring->dma, (struct dma_attrs *)0); tx_ring->desc = (void *)0; } return; } } static void ixgbe_free_all_tx_resources(struct ixgbe_adapter *adapter ) { int i ; { i = 0; goto ldv_54999; ldv_54998: ; if ((unsigned long )(adapter->tx_ring[i])->desc != (unsigned long )((void *)0)) { { ixgbe_free_tx_resources(adapter->tx_ring[i]); } } else { } i = i + 1; ldv_54999: ; if (i < adapter->num_tx_queues) { goto ldv_54998; } else { } return; } } void ixgbe_free_rx_resources(struct ixgbe_ring *rx_ring ) { { { ixgbe_clean_rx_ring(rx_ring); vfree((void const *)rx_ring->__annonCompField94.rx_buffer_info); rx_ring->__annonCompField94.rx_buffer_info = (struct ixgbe_rx_buffer *)0; } if ((unsigned long )rx_ring->desc == (unsigned long )((void *)0)) { return; } else { } { dma_free_attrs(rx_ring->dev, (size_t )rx_ring->size, rx_ring->desc, rx_ring->dma, (struct dma_attrs *)0); rx_ring->desc = (void *)0; } return; } } static void ixgbe_free_all_rx_resources(struct ixgbe_adapter *adapter ) { int i ; { { ixgbe_free_fcoe_ddp_resources(adapter); i = 0; } goto ldv_55009; ldv_55008: ; if ((unsigned long )(adapter->rx_ring[i])->desc != (unsigned long )((void *)0)) { { ixgbe_free_rx_resources(adapter->rx_ring[i]); } } else { } i = i + 1; ldv_55009: ; if (i < adapter->num_rx_queues) { goto ldv_55008; } else { } return; } } static int ixgbe_change_mtu(struct net_device *netdev , int new_mtu ) { struct ixgbe_adapter *adapter ; void *tmp ; int max_frame ; bool tmp___0 ; { { tmp = netdev_priv((struct net_device const *)netdev); adapter = (struct ixgbe_adapter *)tmp; max_frame = new_mtu + 18; } if (new_mtu <= 67 || max_frame > 9728) { return (-22); } else { } if ((adapter->flags & 8388608U) != 0U && ((unsigned int )adapter->hw.mac.type == 2U && max_frame > 1518)) { if (((int )adapter->msg_enable & 2) != 0) { { netdev_warn((struct net_device const *)adapter->netdev, "Setting MTU > 1500 will disable legacy VFs\n"); } } else { } } else { } if (((int )adapter->msg_enable & 2) != 0) { { netdev_info((struct net_device const *)adapter->netdev, "changing MTU from %d to %d\n", netdev->mtu, new_mtu); } } else { } { netdev->mtu = (unsigned int )new_mtu; tmp___0 = netif_running((struct net_device const *)netdev); } if ((int )tmp___0) { { ixgbe_reinit_locked(adapter); } } else { } return (0); } } static int ixgbe_open(struct net_device *netdev ) { struct ixgbe_adapter *adapter ; void *tmp ; int err ; int queues ; int tmp___0 ; { { tmp = netdev_priv((struct net_device const *)netdev); adapter = (struct ixgbe_adapter *)tmp; tmp___0 = constant_test_bit(0L, (unsigned long const volatile *)(& adapter->state)); } if (tmp___0 != 0) { return (-16); } else { } { netif_carrier_off(netdev); err = ixgbe_setup_all_tx_resources(adapter); } if (err != 0) { goto err_setup_tx; } else { } { err = ixgbe_setup_all_rx_resources(adapter); } if (err != 0) { goto err_setup_rx; } else { } { ixgbe_configure(adapter); err = ixgbe_request_irq(adapter); } if (err != 0) { goto err_req_irq; } else { } if (adapter->num_rx_pools > 1) { queues = adapter->num_rx_queues_per_pool; } else { queues = adapter->num_tx_queues; } { err = netif_set_real_num_tx_queues(netdev, (unsigned int )queues); } if (err != 0) { goto err_set_queues; } else { } if (adapter->num_rx_pools > 1 && adapter->num_rx_queues > 4) { queues = 4; } else { queues = adapter->num_rx_queues; } { err = netif_set_real_num_rx_queues(netdev, (unsigned int )queues); } if (err != 0) { goto err_set_queues; } else { } { ixgbe_ptp_init(adapter); ixgbe_up_complete(adapter); } return (0); err_set_queues: { ixgbe_free_irq(adapter); } err_req_irq: { ixgbe_free_all_rx_resources(adapter); } err_setup_rx: { ixgbe_free_all_tx_resources(adapter); } err_setup_tx: { ixgbe_reset(adapter); } return (err); } } static int ixgbe_close(struct net_device *netdev ) { struct ixgbe_adapter *adapter ; void *tmp ; { { tmp = netdev_priv((struct net_device const *)netdev); adapter = (struct ixgbe_adapter *)tmp; ixgbe_ptp_stop(adapter); ixgbe_down(adapter); ixgbe_free_irq(adapter); ixgbe_fdir_filter_exit(adapter); ixgbe_free_all_tx_resources(adapter); ixgbe_free_all_rx_resources(adapter); ixgbe_release_hw_control(adapter); } return (0); } } static int ixgbe_resume(struct pci_dev *pdev ) { struct ixgbe_adapter *adapter ; void *tmp ; struct net_device *netdev ; u32 err ; int tmp___0 ; int tmp___1 ; int tmp___2 ; bool tmp___3 ; { { tmp = pci_get_drvdata(pdev); adapter = (struct ixgbe_adapter *)tmp; netdev = adapter->netdev; pci_set_power_state(pdev, 0); pci_restore_state(pdev); pci_save_state(pdev); tmp___0 = pci_enable_device_mem(pdev); err = (u32 )tmp___0; } if (err != 0U) { { dev_err((struct device const *)(& (adapter->pdev)->dev), "Cannot enable PCI device from suspend\n"); } return ((int )err); } else { } { pci_set_master(pdev); pci_wake_from_d3(pdev, 0); ixgbe_reset(adapter); ixgbe_write_reg(& adapter->hw, 22544U, 4294967295U); rtnl_lock(); tmp___1 = ixgbe_init_interrupt_scheme(adapter); err = (u32 )tmp___1; } if (err == 0U) { { tmp___3 = netif_running((struct net_device const *)netdev); } if ((int )tmp___3) { { tmp___2 = ixgbe_open(netdev); err = (u32 )tmp___2; } } else { } } else { } { rtnl_unlock(); } if (err != 0U) { return ((int )err); } else { } { netif_device_attach(netdev); } return (0); } } static int __ixgbe_shutdown(struct pci_dev *pdev , bool *enable_wake ) { struct ixgbe_adapter *adapter ; void *tmp ; struct net_device *netdev ; struct ixgbe_hw *hw ; u32 ctrl ; u32 fctrl ; u32 wufc ; int retval ; bool tmp___0 ; { { tmp = pci_get_drvdata(pdev); adapter = (struct ixgbe_adapter *)tmp; netdev = adapter->netdev; hw = & adapter->hw; wufc = adapter->wol; retval = 0; netif_device_detach(netdev); rtnl_lock(); tmp___0 = netif_running((struct net_device const *)netdev); } if ((int )tmp___0) { { ixgbe_down(adapter); ixgbe_free_irq(adapter); ixgbe_free_all_tx_resources(adapter); ixgbe_free_all_rx_resources(adapter); } } else { } { rtnl_unlock(); ixgbe_clear_interrupt_scheme(adapter); retval = pci_save_state(pdev); } if (retval != 0) { return (retval); } else { } if ((unsigned long )hw->mac.ops.stop_link_on_d3 != (unsigned long )((void (*)(struct ixgbe_hw * ))0)) { { (*(hw->mac.ops.stop_link_on_d3))(hw); } } else { } if (wufc != 0U) { { ixgbe_set_rx_mode(netdev); } if ((unsigned long )hw->mac.ops.enable_tx_laser != (unsigned long )((void (*)(struct ixgbe_hw * ))0)) { { (*(hw->mac.ops.enable_tx_laser))(hw); } } else { } if ((wufc & 8U) != 0U) { { fctrl = ixgbe_read_reg(hw, 20608U); fctrl = fctrl | 256U; ixgbe_write_reg(hw, 20608U, fctrl); } } else { } { ctrl = ixgbe_read_reg(hw, 0U); ctrl = ctrl | 4U; ixgbe_write_reg(hw, 0U, ctrl); ixgbe_write_reg(hw, 22536U, wufc); } } else { { ixgbe_write_reg(hw, 22528U, 0U); ixgbe_write_reg(hw, 22536U, 0U); } } { if ((unsigned int )hw->mac.type == 1U) { goto case_1; } else { } if ((unsigned int )hw->mac.type == 2U) { goto case_2; } else { } if ((unsigned int )hw->mac.type == 3U) { goto case_3; } else { } goto switch_default; case_1: /* CIL Label */ { pci_wake_from_d3(pdev, 0); } goto ldv_55049; case_2: /* CIL Label */ ; case_3: /* CIL Label */ { pci_wake_from_d3(pdev, wufc != 0U); } goto ldv_55049; switch_default: /* CIL Label */ ; goto ldv_55049; switch_break: /* CIL Label */ ; } ldv_55049: { *enable_wake = wufc != 0U; ixgbe_release_hw_control(adapter); pci_disable_device(pdev); } return (0); } } static int ixgbe_suspend(struct pci_dev *pdev , pm_message_t state ) { int retval ; bool wake ; { { retval = __ixgbe_shutdown(pdev, & wake); } if (retval != 0) { return (retval); } else { } if ((int )wake) { { pci_prepare_to_sleep(pdev); } } else { { pci_wake_from_d3(pdev, 0); pci_set_power_state(pdev, 3); } } return (0); } } static void ixgbe_shutdown(struct pci_dev *pdev ) { bool wake ; { { __ixgbe_shutdown(pdev, & wake); } if ((unsigned int )system_state == 3U) { { pci_wake_from_d3(pdev, (int )wake); pci_set_power_state(pdev, 3); } } else { } return; } } void ixgbe_update_stats(struct ixgbe_adapter *adapter ) { struct net_device *netdev ; struct ixgbe_hw *hw ; struct ixgbe_hw_stats *hwstats ; u64 total_mpc ; u32 i ; u32 missed_rx ; u32 mpc ; u32 bprc ; u32 lxon ; u32 lxoff ; u32 xon_off_tot ; u64 non_eop_descs ; u64 restart_queue ; u64 tx_busy ; u64 alloc_rx_page_failed ; u64 alloc_rx_buff_failed ; u64 bytes ; u64 packets ; u64 hw_csum_rx_error ; int tmp ; int tmp___0 ; u64 rsc_count ; u64 rsc_flush ; struct ixgbe_ring *rx_ring ; struct ixgbe_ring *tx_ring ; u32 tmp___1 ; u32 tmp___2 ; u32 tmp___3 ; u32 tmp___4 ; u32 tmp___5 ; u32 tmp___6 ; u32 tmp___7 ; u32 tmp___8 ; u32 tmp___9 ; u32 tmp___10 ; u32 tmp___11 ; u32 tmp___12 ; u32 tmp___13 ; u32 tmp___14 ; u32 tmp___15 ; u32 tmp___16 ; u32 tmp___17 ; u32 tmp___18 ; u32 tmp___19 ; u32 tmp___20 ; u32 tmp___21 ; u32 tmp___22 ; u32 tmp___23 ; u32 tmp___24 ; u32 tmp___25 ; u32 tmp___26 ; u32 tmp___27 ; u32 tmp___28 ; u32 tmp___29 ; u32 tmp___30 ; u32 tmp___31 ; u32 tmp___32 ; u32 tmp___33 ; u32 tmp___34 ; struct ixgbe_fcoe *fcoe ; struct ixgbe_fcoe_ddp_pool *ddp_pool ; unsigned int cpu ; u64 noddp ; u64 noddp_ext_buff ; void const *__vpp_verify ; unsigned long __ptr ; u32 tmp___35 ; u32 tmp___36 ; u32 tmp___37 ; u32 tmp___38 ; u32 tmp___39 ; u32 tmp___40 ; u32 tmp___41 ; u32 tmp___42 ; u32 tmp___43 ; u32 tmp___44 ; u32 tmp___45 ; u32 tmp___46 ; u32 tmp___47 ; u32 tmp___48 ; u32 tmp___49 ; u32 tmp___50 ; u32 tmp___51 ; u32 tmp___52 ; u32 tmp___53 ; u32 tmp___54 ; u32 tmp___55 ; u32 tmp___56 ; { { netdev = adapter->netdev; hw = & adapter->hw; hwstats = & adapter->stats; total_mpc = 0ULL; missed_rx = 0U; non_eop_descs = 0ULL; restart_queue = 0ULL; tx_busy = 0ULL; alloc_rx_page_failed = 0ULL; alloc_rx_buff_failed = 0ULL; bytes = 0ULL; packets = 0ULL; hw_csum_rx_error = 0ULL; tmp = constant_test_bit(2L, (unsigned long const volatile *)(& adapter->state)); } if (tmp != 0) { return; } else { { tmp___0 = constant_test_bit(1L, (unsigned long const volatile *)(& adapter->state)); } if (tmp___0 != 0) { return; } else { } } if ((adapter->flags2 & 2U) != 0U) { rsc_count = 0ULL; rsc_flush = 0ULL; i = 0U; goto ldv_55088; ldv_55087: rsc_count = rsc_count + (adapter->rx_ring[i])->__annonCompField97.rx_stats.rsc_count; rsc_flush = rsc_flush + (adapter->rx_ring[i])->__annonCompField97.rx_stats.rsc_flush; i = i + 1U; ldv_55088: ; if (i < (u32 )adapter->num_rx_queues) { goto ldv_55087; } else { } adapter->rsc_total_count = rsc_count; adapter->rsc_total_flush = rsc_flush; } else { } i = 0U; goto ldv_55092; ldv_55091: rx_ring = adapter->rx_ring[i]; non_eop_descs = non_eop_descs + rx_ring->__annonCompField97.rx_stats.non_eop_descs; alloc_rx_page_failed = alloc_rx_page_failed + rx_ring->__annonCompField97.rx_stats.alloc_rx_page_failed; alloc_rx_buff_failed = alloc_rx_buff_failed + rx_ring->__annonCompField97.rx_stats.alloc_rx_buff_failed; hw_csum_rx_error = hw_csum_rx_error + rx_ring->__annonCompField97.rx_stats.csum_err; bytes = bytes + rx_ring->stats.bytes; packets = packets + rx_ring->stats.packets; i = i + 1U; ldv_55092: ; if (i < (u32 )adapter->num_rx_queues) { goto ldv_55091; } else { } adapter->non_eop_descs = non_eop_descs; adapter->alloc_rx_page_failed = (u32 )alloc_rx_page_failed; adapter->alloc_rx_buff_failed = (u32 )alloc_rx_buff_failed; adapter->hw_csum_rx_error = hw_csum_rx_error; netdev->stats.rx_bytes = (unsigned long )bytes; netdev->stats.rx_packets = (unsigned long )packets; bytes = 0ULL; packets = 0ULL; i = 0U; goto ldv_55096; ldv_55095: tx_ring = adapter->tx_ring[i]; restart_queue = restart_queue + tx_ring->__annonCompField97.tx_stats.restart_queue; tx_busy = tx_busy + tx_ring->__annonCompField97.tx_stats.tx_busy; bytes = bytes + tx_ring->stats.bytes; packets = packets + tx_ring->stats.packets; i = i + 1U; ldv_55096: ; if (i < (u32 )adapter->num_tx_queues) { goto ldv_55095; } else { } { adapter->restart_queue = restart_queue; adapter->tx_busy = tx_busy; netdev->stats.tx_bytes = (unsigned long )bytes; netdev->stats.tx_packets = (unsigned long )packets; tmp___1 = ixgbe_read_reg(hw, 16384U); hwstats->crcerrs = hwstats->crcerrs + (u64 )tmp___1; i = 0U; } goto ldv_55104; ldv_55103: { mpc = ixgbe_read_reg(hw, (i + 4072U) * 4U); missed_rx = missed_rx + mpc; hwstats->mpc[i] = hwstats->mpc[i] + (u64 )mpc; total_mpc = total_mpc + hwstats->mpc[i]; tmp___2 = ixgbe_read_reg(hw, (i + 4032U) * 4U); hwstats->pxontxc[i] = hwstats->pxontxc[i] + (u64 )tmp___2; tmp___3 = ixgbe_read_reg(hw, (i + 4040U) * 4U); hwstats->pxofftxc[i] = hwstats->pxofftxc[i] + (u64 )tmp___3; } { if ((unsigned int )hw->mac.type == 1U) { goto case_1; } else { } if ((unsigned int )hw->mac.type == 2U) { goto case_2; } else { } if ((unsigned int )hw->mac.type == 3U) { goto case_3; } else { } goto switch_default; case_1: /* CIL Label */ { tmp___4 = ixgbe_read_reg(hw, (i + 4080U) * 4U); hwstats->rnbc[i] = hwstats->rnbc[i] + (u64 )tmp___4; tmp___5 = ixgbe_read_reg(hw, i * 64U + 24628U); hwstats->qbtc[i] = hwstats->qbtc[i] + (u64 )tmp___5; tmp___6 = ixgbe_read_reg(hw, i * 64U + 4148U); hwstats->qbrc[i] = hwstats->qbrc[i] + (u64 )tmp___6; tmp___7 = ixgbe_read_reg(hw, (i + 13248U) * 4U); hwstats->pxonrxc[i] = hwstats->pxonrxc[i] + (u64 )tmp___7; } goto ldv_55099; case_2: /* CIL Label */ ; case_3: /* CIL Label */ { tmp___8 = ixgbe_read_reg(hw, (i + 4176U) * 4U); hwstats->pxonrxc[i] = hwstats->pxonrxc[i] + (u64 )tmp___8; } goto ldv_55099; switch_default: /* CIL Label */ ; goto ldv_55099; switch_break: /* CIL Label */ ; } ldv_55099: i = i + 1U; ldv_55104: ; if (i <= 7U) { goto ldv_55103; } else { } i = 0U; goto ldv_55107; ldv_55106: { tmp___9 = ixgbe_read_reg(hw, i * 64U + 24624U); hwstats->qptc[i] = hwstats->qptc[i] + (u64 )tmp___9; tmp___10 = ixgbe_read_reg(hw, i * 64U + 4144U); hwstats->qprc[i] = hwstats->qprc[i] + (u64 )tmp___10; } if ((unsigned int )hw->mac.type - 2U <= 1U) { { tmp___11 = ixgbe_read_reg(hw, (i + 4320U) * 8U); hwstats->qbtc[i] = hwstats->qbtc[i] + (u64 )tmp___11; ixgbe_read_reg(hw, i * 8U + 34564U); tmp___12 = ixgbe_read_reg(hw, i * 64U + 4148U); hwstats->qbrc[i] = hwstats->qbrc[i] + (u64 )tmp___12; ixgbe_read_reg(hw, i * 64U + 4152U); } } else { } i = i + 1U; ldv_55107: ; if (i <= 15U) { goto ldv_55106; } else { } { tmp___13 = ixgbe_read_reg(hw, 16500U); hwstats->gprc = hwstats->gprc + (u64 )tmp___13; hwstats->gprc = hwstats->gprc - (u64 )missed_rx; ixgbe_update_xoff_received(adapter); } { if ((unsigned int )hw->mac.type == 1U) { goto case_1___0; } else { } if ((unsigned int )hw->mac.type == 3U) { goto case_3___0; } else { } if ((unsigned int )hw->mac.type == 2U) { goto case_2___0; } else { } goto switch_default___0; case_1___0: /* CIL Label */ { tmp___14 = ixgbe_read_reg(hw, 53088U); hwstats->lxonrxc = hwstats->lxonrxc + (u64 )tmp___14; tmp___15 = ixgbe_read_reg(hw, 16524U); hwstats->gorc = hwstats->gorc + (u64 )tmp___15; tmp___16 = ixgbe_read_reg(hw, 16532U); hwstats->gotc = hwstats->gotc + (u64 )tmp___16; tmp___17 = ixgbe_read_reg(hw, 16580U); hwstats->tor = hwstats->tor + (u64 )tmp___17; } goto ldv_55110; case_3___0: /* CIL Label */ { tmp___18 = ixgbe_read_reg(hw, 16836U); hwstats->o2bgptc = hwstats->o2bgptc + (u64 )tmp___18; tmp___19 = ixgbe_read_reg(hw, 34736U); hwstats->o2bspc = hwstats->o2bspc + (u64 )tmp___19; tmp___20 = ixgbe_read_reg(hw, 16832U); hwstats->b2ospc = hwstats->b2ospc + (u64 )tmp___20; tmp___21 = ixgbe_read_reg(hw, 12176U); hwstats->b2ogprc = hwstats->b2ogprc + (u64 )tmp___21; } case_2___0: /* CIL Label */ i = 0U; goto ldv_55114; ldv_55113: { tmp___22 = ixgbe_read_reg(hw, i * 64U + 5168U); adapter->hw_rx_no_dma_resources = adapter->hw_rx_no_dma_resources + (u64 )tmp___22; i = i + 1U; } ldv_55114: ; if (i <= 15U) { goto ldv_55113; } else { } { tmp___23 = ixgbe_read_reg(hw, 16520U); hwstats->gorc = hwstats->gorc + (u64 )tmp___23; ixgbe_read_reg(hw, 16524U); tmp___24 = ixgbe_read_reg(hw, 16528U); hwstats->gotc = hwstats->gotc + (u64 )tmp___24; ixgbe_read_reg(hw, 16532U); tmp___25 = ixgbe_read_reg(hw, 16576U); hwstats->tor = hwstats->tor + (u64 )tmp___25; ixgbe_read_reg(hw, 16580U); tmp___26 = ixgbe_read_reg(hw, 16804U); hwstats->lxonrxc = hwstats->lxonrxc + (u64 )tmp___26; tmp___27 = ixgbe_read_reg(hw, 61016U); hwstats->fdirmatch = hwstats->fdirmatch + (u64 )tmp___27; tmp___28 = ixgbe_read_reg(hw, 61020U); hwstats->fdirmiss = hwstats->fdirmiss + (u64 )tmp___28; tmp___29 = ixgbe_read_reg(hw, 20760U); hwstats->fccrc = hwstats->fccrc + (u64 )tmp___29; tmp___30 = ixgbe_read_reg(hw, 9244U); hwstats->fcoerpdc = hwstats->fcoerpdc + (u64 )tmp___30; tmp___31 = ixgbe_read_reg(hw, 9256U); hwstats->fcoeprc = hwstats->fcoeprc + (u64 )tmp___31; tmp___32 = ixgbe_read_reg(hw, 34692U); hwstats->fcoeptc = hwstats->fcoeptc + (u64 )tmp___32; tmp___33 = ixgbe_read_reg(hw, 9260U); hwstats->fcoedwrc = hwstats->fcoedwrc + (u64 )tmp___33; tmp___34 = ixgbe_read_reg(hw, 34696U); hwstats->fcoedwtc = hwstats->fcoedwtc + (u64 )tmp___34; } if ((unsigned long )adapter->fcoe.ddp_pool != (unsigned long )((struct ixgbe_fcoe_ddp_pool *)0)) { fcoe = & adapter->fcoe; noddp = 0ULL; noddp_ext_buff = 0ULL; cpu = 4294967295U; goto ldv_55126; ldv_55125: __vpp_verify = (void const *)0; __asm__ ("": "=r" (__ptr): "0" (fcoe->ddp_pool)); ddp_pool = (struct ixgbe_fcoe_ddp_pool *)(__ptr + __per_cpu_offset[cpu]); noddp = noddp + ddp_pool->noddp; noddp_ext_buff = noddp_ext_buff + ddp_pool->noddp_ext_buff; ldv_55126: { cpu = cpumask_next((int )cpu, cpu_possible_mask); } if (cpu < (unsigned int )nr_cpu_ids) { goto ldv_55125; } else { } hwstats->fcoe_noddp = noddp; hwstats->fcoe_noddp_ext_buff = noddp_ext_buff; } else { } goto ldv_55110; switch_default___0: /* CIL Label */ ; goto ldv_55110; switch_break___0: /* CIL Label */ ; } ldv_55110: { bprc = ixgbe_read_reg(hw, 16504U); hwstats->bprc = hwstats->bprc + (u64 )bprc; tmp___35 = ixgbe_read_reg(hw, 16508U); hwstats->mprc = hwstats->mprc + (u64 )tmp___35; } if ((unsigned int )hw->mac.type == 1U) { hwstats->mprc = hwstats->mprc - (u64 )bprc; } else { } { tmp___36 = ixgbe_read_reg(hw, 16556U); hwstats->roc = hwstats->roc + (u64 )tmp___36; tmp___37 = ixgbe_read_reg(hw, 16476U); hwstats->prc64 = hwstats->prc64 + (u64 )tmp___37; tmp___38 = ixgbe_read_reg(hw, 16480U); hwstats->prc127 = hwstats->prc127 + (u64 )tmp___38; tmp___39 = ixgbe_read_reg(hw, 16484U); hwstats->prc255 = hwstats->prc255 + (u64 )tmp___39; tmp___40 = ixgbe_read_reg(hw, 16488U); hwstats->prc511 = hwstats->prc511 + (u64 )tmp___40; tmp___41 = ixgbe_read_reg(hw, 16492U); hwstats->prc1023 = hwstats->prc1023 + (u64 )tmp___41; tmp___42 = ixgbe_read_reg(hw, 16496U); hwstats->prc1522 = hwstats->prc1522 + (u64 )tmp___42; tmp___43 = ixgbe_read_reg(hw, 16448U); hwstats->rlec = hwstats->rlec + (u64 )tmp___43; lxon = ixgbe_read_reg(hw, 16224U); hwstats->lxontxc = hwstats->lxontxc + (u64 )lxon; lxoff = ixgbe_read_reg(hw, 16232U); hwstats->lxofftxc = hwstats->lxofftxc + (u64 )lxoff; tmp___44 = ixgbe_read_reg(hw, 16512U); hwstats->gptc = hwstats->gptc + (u64 )tmp___44; tmp___45 = ixgbe_read_reg(hw, 16624U); hwstats->mptc = hwstats->mptc + (u64 )tmp___45; xon_off_tot = lxon + lxoff; hwstats->gptc = hwstats->gptc - (u64 )xon_off_tot; hwstats->mptc = hwstats->mptc - (u64 )xon_off_tot; hwstats->gotc = hwstats->gotc - (u64 )(xon_off_tot * 64U); tmp___46 = ixgbe_read_reg(hw, 16548U); hwstats->ruc = hwstats->ruc + (u64 )tmp___46; tmp___47 = ixgbe_read_reg(hw, 16552U); hwstats->rfc = hwstats->rfc + (u64 )tmp___47; tmp___48 = ixgbe_read_reg(hw, 16560U); hwstats->rjc = hwstats->rjc + (u64 )tmp___48; tmp___49 = ixgbe_read_reg(hw, 16592U); hwstats->tpr = hwstats->tpr + (u64 )tmp___49; tmp___50 = ixgbe_read_reg(hw, 16600U); hwstats->ptc64 = hwstats->ptc64 + (u64 )tmp___50; hwstats->ptc64 = hwstats->ptc64 - (u64 )xon_off_tot; tmp___51 = ixgbe_read_reg(hw, 16604U); hwstats->ptc127 = hwstats->ptc127 + (u64 )tmp___51; tmp___52 = ixgbe_read_reg(hw, 16608U); hwstats->ptc255 = hwstats->ptc255 + (u64 )tmp___52; tmp___53 = ixgbe_read_reg(hw, 16612U); hwstats->ptc511 = hwstats->ptc511 + (u64 )tmp___53; tmp___54 = ixgbe_read_reg(hw, 16616U); hwstats->ptc1023 = hwstats->ptc1023 + (u64 )tmp___54; tmp___55 = ixgbe_read_reg(hw, 16620U); hwstats->ptc1522 = hwstats->ptc1522 + (u64 )tmp___55; tmp___56 = ixgbe_read_reg(hw, 16628U); hwstats->bptc = hwstats->bptc + (u64 )tmp___56; netdev->stats.multicast = (unsigned long )hwstats->mprc; netdev->stats.rx_errors = (unsigned long )(hwstats->crcerrs + hwstats->rlec); netdev->stats.rx_dropped = 0UL; netdev->stats.rx_length_errors = (unsigned long )hwstats->rlec; netdev->stats.rx_crc_errors = (unsigned long )hwstats->crcerrs; netdev->stats.rx_missed_errors = (unsigned long )total_mpc; } return; } } static void ixgbe_fdir_reinit_subtask(struct ixgbe_adapter *adapter ) { struct ixgbe_hw *hw ; int i ; int tmp ; s32 tmp___0 ; { hw = & adapter->hw; if ((adapter->flags2 & 128U) == 0U) { return; } else { } { adapter->flags2 = adapter->flags2 & 4294967167U; tmp = constant_test_bit(2L, (unsigned long const volatile *)(& adapter->state)); } if (tmp != 0) { return; } else { } if ((adapter->flags & 262144U) == 0U) { return; } else { } { adapter->fdir_overflow = adapter->fdir_overflow + 1UL; tmp___0 = ixgbe_reinit_fdir_tables_82599(hw); } if (tmp___0 == 0) { i = 0; goto ldv_55135; ldv_55134: { set_bit(0L, (unsigned long volatile *)(& (adapter->tx_ring[i])->state)); i = i + 1; } ldv_55135: ; if (i < adapter->num_tx_queues) { goto ldv_55134; } else { } { ixgbe_write_reg(hw, 2176U, 65536U); } } else if (((int )adapter->msg_enable & 2) != 0) { { netdev_err((struct net_device const *)adapter->netdev, "failed to finish FDIR re-initialization, ignored adding FDIR ATR filters\n"); } } else { } return; } } static void ixgbe_check_hang_subtask(struct ixgbe_adapter *adapter ) { struct ixgbe_hw *hw ; u64 eics ; int i ; int tmp ; int tmp___0 ; int tmp___1 ; bool tmp___2 ; struct ixgbe_q_vector *qv ; { { hw = & adapter->hw; eics = 0ULL; tmp = constant_test_bit(2L, (unsigned long const volatile *)(& adapter->state)); } if (tmp != 0) { return; } else { { tmp___0 = constant_test_bit(3L, (unsigned long const volatile *)(& adapter->state)); } if (tmp___0 != 0) { return; } else { { tmp___1 = constant_test_bit(1L, (unsigned long const volatile *)(& adapter->state)); } if (tmp___1 != 0) { return; } else { } } } { tmp___2 = netif_carrier_ok((struct net_device const *)adapter->netdev); } if ((int )tmp___2) { i = 0; goto ldv_55144; ldv_55143: { set_bit(2L, (unsigned long volatile *)(& (adapter->tx_ring[i])->state)); i = i + 1; } ldv_55144: ; if (i < adapter->num_tx_queues) { goto ldv_55143; } else { } } else { } if ((adapter->flags & 8U) == 0U) { { ixgbe_write_reg(hw, 2056U, 3221225472U); } } else { i = 0; goto ldv_55148; ldv_55147: qv = adapter->q_vector[i]; if ((unsigned long )qv->rx.ring != (unsigned long )((struct ixgbe_ring *)0) || (unsigned long )qv->tx.ring != (unsigned long )((struct ixgbe_ring *)0)) { eics = eics | (1ULL << i); } else { } i = i + 1; ldv_55148: ; if (i < adapter->num_q_vectors) { goto ldv_55147; } else { } } { ixgbe_irq_rearm_queues(adapter, eics); } return; } } static void ixgbe_watchdog_update_link(struct ixgbe_adapter *adapter ) { struct ixgbe_hw *hw ; u32 link_speed ; bool link_up ; bool pfc_en ; { hw = & adapter->hw; link_speed = adapter->link_speed; link_up = adapter->link_up; pfc_en = adapter->dcb_cfg.pfc_mode_enable; if ((adapter->flags & 65536U) == 0U) { return; } else { } if ((unsigned long )hw->mac.ops.check_link != (unsigned long )((s32 (*)(struct ixgbe_hw * , ixgbe_link_speed * , bool * , bool ))0)) { { (*(hw->mac.ops.check_link))(hw, & link_speed, & link_up, 0); } } else { link_speed = 128U; link_up = 1; } if ((unsigned long )adapter->ixgbe_ieee_pfc != (unsigned long )((struct ieee_pfc *)0)) { pfc_en = ((int )pfc_en | ((unsigned int )(adapter->ixgbe_ieee_pfc)->pfc_en != 0U)) != 0; } else { } if ((int )link_up && ((adapter->flags & 4096U) == 0U || ! pfc_en)) { { (*(hw->mac.ops.fc_enable))(hw); ixgbe_set_rx_drop_en(adapter); } } else { } if ((int )link_up || (long )((adapter->link_check_timeout - (unsigned long )jiffies) + 1000UL) < 0L) { { adapter->flags = adapter->flags & 4294901759U; ixgbe_write_reg(hw, 2176U, 1048576U); ixgbe_read_reg(hw, 8U); } } else { } adapter->link_up = link_up; adapter->link_speed = link_speed; return; } } static void ixgbe_update_default_up(struct ixgbe_adapter *adapter ) { struct net_device *netdev ; struct dcb_app app ; u8 up___0 ; int tmp ; { netdev = adapter->netdev; app.selector = 1U; app.priority = (unsigned char)0; app.protocol = 0U; up___0 = 0U; if (((int )adapter->dcbx_cap & 8) != 0) { { up___0 = dcb_ieee_getapp_mask(netdev, & app); } } else { } if ((unsigned int )up___0 > 1U) { { tmp = ffs((int )up___0); adapter->default_up = (unsigned int )((u8 )tmp) + 255U; } } else { adapter->default_up = 0U; } return; } } static void ixgbe_watchdog_link_is_up(struct ixgbe_adapter *adapter ) { struct net_device *netdev ; struct ixgbe_hw *hw ; u32 link_speed ; bool flow_rx ; bool flow_tx ; bool tmp ; u32 frctl ; u32 tmp___0 ; u32 rmcs ; u32 tmp___1 ; u32 mflcn ; u32 tmp___2 ; u32 fccfg ; u32 tmp___3 ; int tmp___4 ; { { netdev = adapter->netdev; hw = & adapter->hw; link_speed = adapter->link_speed; tmp = netif_carrier_ok((struct net_device const *)netdev); } if ((int )tmp) { return; } else { } adapter->flags2 = adapter->flags2 & 4294967279U; { if ((unsigned int )hw->mac.type == 1U) { goto case_1; } else { } if ((unsigned int )hw->mac.type == 3U) { goto case_3; } else { } if ((unsigned int )hw->mac.type == 2U) { goto case_2; } else { } goto switch_default; case_1: /* CIL Label */ { tmp___0 = ixgbe_read_reg(hw, 20608U); frctl = tmp___0; tmp___1 = ixgbe_read_reg(hw, 15616U); rmcs = tmp___1; flow_rx = (frctl & 32768U) != 0U; flow_tx = (rmcs & 8U) != 0U; } goto ldv_55180; case_3: /* CIL Label */ ; case_2: /* CIL Label */ { tmp___2 = ixgbe_read_reg(hw, 17044U); mflcn = tmp___2; tmp___3 = ixgbe_read_reg(hw, 15616U); fccfg = tmp___3; flow_rx = (mflcn & 8U) != 0U; flow_tx = (fccfg & 8U) != 0U; } goto ldv_55180; switch_default: /* CIL Label */ flow_tx = 0; flow_rx = 0; goto ldv_55180; switch_break: /* CIL Label */ ; } ldv_55180: { adapter->last_rx_ptp_check = jiffies; tmp___4 = constant_test_bit(6L, (unsigned long const volatile *)(& adapter->state)); } if (tmp___4 != 0) { { ixgbe_ptp_start_cyclecounter(adapter); } } else { } if ((int )adapter->msg_enable & 1) { { netdev_info((struct net_device const *)adapter->netdev, "NIC Link is Up %s, Flow Control: %s\n", link_speed != 128U ? (link_speed != 32U ? (link_speed == 8U ? (char *)"100 Mbps" : (char *)"unknown speed") : (char *)"1 Gbps") : (char *)"10 Gbps", ! flow_rx || ! flow_tx ? ((int )flow_rx ? (char *)"RX" : ((int )flow_tx ? (char *)"TX" : (char *)"None")) : (char *)"RX/TX"); } } else { } { netif_carrier_on(netdev); ixgbe_check_vf_rate_limit(adapter); ixgbe_update_default_up(adapter); ixgbe_ping_all_vfs(adapter); } return; } } static void ixgbe_watchdog_link_is_down(struct ixgbe_adapter *adapter ) { struct net_device *netdev ; struct ixgbe_hw *hw ; bool tmp ; int tmp___0 ; bool tmp___1 ; int tmp___2 ; { { netdev = adapter->netdev; hw = & adapter->hw; adapter->link_up = 0; adapter->link_speed = 0U; tmp = netif_carrier_ok((struct net_device const *)netdev); } if (tmp) { tmp___0 = 0; } else { tmp___0 = 1; } if (tmp___0) { return; } else { } { tmp___1 = ixgbe_is_sfp(hw); } if ((int )tmp___1 && (unsigned int )hw->mac.type == 1U) { adapter->flags2 = adapter->flags2 | 16U; } else { } { tmp___2 = constant_test_bit(6L, (unsigned long const volatile *)(& adapter->state)); } if (tmp___2 != 0) { { ixgbe_ptp_start_cyclecounter(adapter); } } else { } if ((int )adapter->msg_enable & 1) { { netdev_info((struct net_device const *)adapter->netdev, "NIC Link is Down\n"); } } else { } { netif_carrier_off(netdev); ixgbe_ping_all_vfs(adapter); } return; } } static void ixgbe_watchdog_flush_tx(struct ixgbe_adapter *adapter ) { int i ; int some_tx_pending ; struct ixgbe_ring *tx_ring ; bool tmp ; int tmp___0 ; { { some_tx_pending = 0; tmp = netif_carrier_ok((struct net_device const *)adapter->netdev); } if (tmp) { tmp___0 = 0; } else { tmp___0 = 1; } if (tmp___0) { i = 0; goto ldv_55199; ldv_55198: tx_ring = adapter->tx_ring[i]; if ((int )tx_ring->next_to_use != (int )tx_ring->next_to_clean) { some_tx_pending = 1; goto ldv_55197; } else { } i = i + 1; ldv_55199: ; if (i < adapter->num_tx_queues) { goto ldv_55198; } else { } ldv_55197: ; if (some_tx_pending != 0) { if ((int )adapter->msg_enable & 1) { { netdev_warn((struct net_device const *)adapter->netdev, "initiating reset to clear Tx work after link loss\n"); } } else { } adapter->flags2 = adapter->flags2 | 64U; } else { } } else { } return; } } static void ixgbe_spoof_check(struct ixgbe_adapter *adapter ) { u32 ssvpc ; { if ((unsigned int )adapter->hw.mac.type == 1U || adapter->num_vfs == 0U) { return; } else { } { ssvpc = ixgbe_read_reg(& adapter->hw, 34688U); } if (ssvpc == 0U) { return; } else { } if ((int )adapter->msg_enable & 1) { { netdev_warn((struct net_device const *)adapter->netdev, "%u Spoofed packets detected\n", ssvpc); } } else { } return; } } static void ixgbe_watchdog_subtask(struct ixgbe_adapter *adapter ) { int tmp ; int tmp___0 ; int tmp___1 ; { { tmp = constant_test_bit(2L, (unsigned long const volatile *)(& adapter->state)); } if (tmp != 0) { return; } else { { tmp___0 = constant_test_bit(3L, (unsigned long const volatile *)(& adapter->state)); } if (tmp___0 != 0) { return; } else { { tmp___1 = constant_test_bit(1L, (unsigned long const volatile *)(& adapter->state)); } if (tmp___1 != 0) { return; } else { } } } { ixgbe_watchdog_update_link(adapter); } if ((int )adapter->link_up) { { ixgbe_watchdog_link_is_up(adapter); } } else { { ixgbe_watchdog_link_is_down(adapter); } } { ixgbe_spoof_check(adapter); ixgbe_update_stats(adapter); ixgbe_watchdog_flush_tx(adapter); } return; } } static void ixgbe_sfp_detection_subtask(struct ixgbe_adapter *adapter ) { struct ixgbe_hw *hw ; s32 err ; int tmp ; { hw = & adapter->hw; if (*((unsigned int *)adapter + 135UL) == 0U) { return; } else { } { tmp = test_and_set_bit(5L, (unsigned long volatile *)(& adapter->state)); } if (tmp != 0) { return; } else { } { err = (*(hw->phy.ops.identify_sfp))(hw); } if (err == -19) { goto sfp_out; } else { } if (err == -20) { adapter->flags2 = adapter->flags2 | 32U; } else { } if (err != 0) { goto sfp_out; } else { } if ((adapter->flags2 & 32U) == 0U) { goto sfp_out; } else { } adapter->flags2 = adapter->flags2 & 4294967263U; if ((unsigned int )hw->mac.type == 1U) { { err = (*(hw->phy.ops.reset))(hw); } } else { { err = (*(hw->mac.ops.setup_sfp))(hw); } } if (err == -19) { goto sfp_out; } else { } adapter->flags = adapter->flags | 131072U; if (((int )adapter->msg_enable & 2) != 0) { { netdev_info((struct net_device const *)adapter->netdev, "detected SFP+: %d\n", (unsigned int )hw->phy.sfp_type); } } else { } sfp_out: { clear_bit(5L, (unsigned long volatile *)(& adapter->state)); } if (err == -19 && (unsigned int )(adapter->netdev)->reg_state == 1U) { { dev_err((struct device const *)(& (adapter->pdev)->dev), "failed to initialize because an unsupported SFP+ module type was detected.\n"); dev_err((struct device const *)(& (adapter->pdev)->dev), "Reload the driver after installing a supported module.\n"); ldv_unregister_netdev_29(adapter->netdev); } } else { } return; } } static void ixgbe_sfp_link_config_subtask(struct ixgbe_adapter *adapter ) { struct ixgbe_hw *hw ; u32 speed ; bool autoneg ; int tmp ; { hw = & adapter->hw; autoneg = 0; if ((adapter->flags & 131072U) == 0U) { return; } else { } { tmp = test_and_set_bit(5L, (unsigned long volatile *)(& adapter->state)); } if (tmp != 0) { return; } else { } adapter->flags = adapter->flags & 4294836223U; speed = hw->phy.autoneg_advertised; if (speed == 0U && (unsigned long )hw->mac.ops.get_link_capabilities != (unsigned long )((s32 (*)(struct ixgbe_hw * , ixgbe_link_speed * , bool * ))0)) { { (*(hw->mac.ops.get_link_capabilities))(hw, & speed, & autoneg); } if (! autoneg) { if ((speed & 128U) != 0U) { speed = 128U; } else { } } else { } } else { } if ((unsigned long )hw->mac.ops.setup_link != (unsigned long )((s32 (*)(struct ixgbe_hw * , ixgbe_link_speed , bool ))0)) { { (*(hw->mac.ops.setup_link))(hw, speed, 1); } } else { } { adapter->flags = adapter->flags | 65536U; adapter->link_check_timeout = jiffies; clear_bit(5L, (unsigned long volatile *)(& adapter->state)); } return; } } static void ixgbe_check_for_bad_vf(struct ixgbe_adapter *adapter ) { int vf ; struct ixgbe_hw *hw ; struct net_device *netdev ; u32 gpc ; u32 ciaa ; u32 ciad ; { { hw = & adapter->hw; netdev = adapter->netdev; gpc = ixgbe_read_reg(hw, 34720U); } if (gpc != 0U) { return; } else { } vf = 0; goto ldv_55229; ldv_55228: { ciaa = (unsigned int )(vf << 16) | 2147483648U; ciaa = ciaa | 4U; ixgbe_write_reg(hw, 69768U, ciaa); ciad = ixgbe_read_reg(hw, 69772U); ciaa = ciaa & 2147483647U; ixgbe_write_reg(hw, 69768U, ciaa); ciad = ciad >> 16; } if ((ciad & 8192U) != 0U) { { netdev_err((struct net_device const *)netdev, "VF %d Hung DMA\n", vf); ciaa = (unsigned int )(vf << 16) | 2147483648U; ciaa = ciaa | 168U; ixgbe_write_reg(hw, 69768U, ciaa); ciad = 32768U; ixgbe_write_reg(hw, 69772U, ciad); ciaa = ciaa & 2147483647U; ixgbe_write_reg(hw, 69768U, ciaa); } } else { } vf = vf + 1; ldv_55229: ; if ((unsigned int )vf < adapter->num_vfs) { goto ldv_55228; } else { } return; } } static void ixgbe_service_timer(unsigned long data ) { struct ixgbe_adapter *adapter ; unsigned long next_event_offset ; bool ready ; { adapter = (struct ixgbe_adapter *)data; ready = 1; if ((adapter->flags & 65536U) != 0U) { next_event_offset = 25UL; } else { next_event_offset = 500UL; } if (adapter->num_vfs == 0U || (adapter->flags & 65536U) != 0U) { goto normal_timer_service; } else { } { ixgbe_check_for_bad_vf(adapter); next_event_offset = 5UL; adapter->timer_event_accumulator = adapter->timer_event_accumulator + 1U; } if (adapter->timer_event_accumulator > 99U) { adapter->timer_event_accumulator = 0U; } else { ready = 0; } normal_timer_service: { ldv_mod_timer_30(& adapter->service_timer, next_event_offset + (unsigned long )jiffies); } if ((int )ready) { { ixgbe_service_event_schedule(adapter); } } else { } return; } } static void ixgbe_reset_subtask(struct ixgbe_adapter *adapter ) { int tmp ; int tmp___0 ; int tmp___1 ; { if ((adapter->flags2 & 64U) == 0U) { return; } else { } { adapter->flags2 = adapter->flags2 & 4294967231U; tmp = constant_test_bit(2L, (unsigned long const volatile *)(& adapter->state)); } if (tmp != 0) { return; } else { { tmp___0 = constant_test_bit(3L, (unsigned long const volatile *)(& adapter->state)); } if (tmp___0 != 0) { return; } else { { tmp___1 = constant_test_bit(1L, (unsigned long const volatile *)(& adapter->state)); } if (tmp___1 != 0) { return; } else { } } } { ixgbe_dump(adapter); netdev_err((struct net_device const *)adapter->netdev, "Reset adapter\n"); adapter->tx_timeout_count = adapter->tx_timeout_count + 1U; rtnl_lock(); ixgbe_reinit_locked(adapter); rtnl_unlock(); } return; } } static void ixgbe_service_task(struct work_struct *work ) { struct ixgbe_adapter *adapter ; struct work_struct const *__mptr ; int tmp ; bool tmp___0 ; int tmp___1 ; { { __mptr = (struct work_struct const *)work; adapter = (struct ixgbe_adapter *)__mptr + 0xffffffffffff6268UL; tmp___0 = ixgbe_removed((void *)adapter->hw.hw_addr); } if ((int )tmp___0) { { tmp = constant_test_bit(2L, (unsigned long const volatile *)(& adapter->state)); } if (tmp == 0) { { rtnl_lock(); ixgbe_down(adapter); rtnl_unlock(); } } else { } { ixgbe_service_event_complete(adapter); } return; } else { } { ixgbe_reset_subtask(adapter); ixgbe_sfp_detection_subtask(adapter); ixgbe_sfp_link_config_subtask(adapter); ixgbe_check_overtemp_subtask(adapter); ixgbe_watchdog_subtask(adapter); ixgbe_fdir_reinit_subtask(adapter); ixgbe_check_hang_subtask(adapter); tmp___1 = constant_test_bit(6L, (unsigned long const volatile *)(& adapter->state)); } if (tmp___1 != 0) { { ixgbe_ptp_overflow_check(adapter); ixgbe_ptp_rx_hang(adapter); } } else { } { ixgbe_service_event_complete(adapter); } return; } } static int ixgbe_tso(struct ixgbe_ring *tx_ring , struct ixgbe_tx_buffer *first , u8 *hdr_len ) { struct sk_buff *skb ; u32 vlan_macip_lens ; u32 type_tucmd ; u32 mss_l4len_idx ; u32 l4len ; bool tmp ; int tmp___0 ; int err ; int tmp___1 ; int tmp___2 ; struct iphdr *iph ; struct iphdr *tmp___3 ; struct tcphdr *tmp___4 ; __sum16 tmp___5 ; struct ipv6hdr *tmp___6 ; struct tcphdr *tmp___7 ; struct ipv6hdr *tmp___8 ; struct ipv6hdr *tmp___9 ; __sum16 tmp___10 ; bool tmp___11 ; int tmp___12 ; unsigned char *tmp___13 ; unsigned char *tmp___14 ; int tmp___15 ; { skb = first->skb; if ((unsigned int )*((unsigned char *)skb + 124UL) != 12U) { return (0); } else { } { tmp = skb_is_gso((struct sk_buff const *)skb); } if (tmp) { tmp___0 = 0; } else { tmp___0 = 1; } if (tmp___0) { return (0); } else { } { tmp___2 = skb_header_cloned((struct sk_buff const *)skb); } if (tmp___2 != 0) { { tmp___1 = pskb_expand_head(skb, 0, 0, 32U); err = tmp___1; } if (err != 0) { return (err); } else { } } else { } type_tucmd = 2048U; if ((unsigned int )first->protocol == 8U) { { tmp___3 = ip_hdr((struct sk_buff const *)skb); iph = tmp___3; iph->tot_len = 0U; iph->check = 0U; tmp___4 = tcp_hdr((struct sk_buff const *)skb); tmp___5 = csum_tcpudp_magic(iph->saddr, iph->daddr, 0, 6, 0U); tmp___4->check = ~ ((int )tmp___5); type_tucmd = type_tucmd | 1024U; first->tx_flags = first->tx_flags | 50U; } } else { { tmp___11 = skb_is_gso_v6((struct sk_buff const *)skb); } if ((int )tmp___11) { { tmp___6 = ipv6_hdr((struct sk_buff const *)skb); tmp___6->payload_len = 0U; tmp___7 = tcp_hdr((struct sk_buff const *)skb); tmp___8 = ipv6_hdr((struct sk_buff const *)skb); tmp___9 = ipv6_hdr((struct sk_buff const *)skb); tmp___10 = csum_ipv6_magic((struct in6_addr const *)(& tmp___9->saddr), (struct in6_addr const *)(& tmp___8->daddr), 0U, 6, 0U); tmp___7->check = ~ ((int )tmp___10); first->tx_flags = first->tx_flags | 34U; } } else { } } { l4len = tcp_hdrlen((struct sk_buff const *)skb); tmp___12 = skb_transport_offset((struct sk_buff const *)skb); *hdr_len = (int )((u8 )tmp___12) + (int )((u8 )l4len); tmp___13 = skb_end_pointer((struct sk_buff const *)skb); first->gso_segs = ((struct skb_shared_info *)tmp___13)->gso_segs; first->bytecount = first->bytecount + (unsigned int )(((int )first->gso_segs + -1) * (int )*hdr_len); mss_l4len_idx = l4len << 8; tmp___14 = skb_end_pointer((struct sk_buff const *)skb); mss_l4len_idx = mss_l4len_idx | (u32 )((int )((struct skb_shared_info *)tmp___14)->gso_size << 16); vlan_macip_lens = skb_network_header_len((struct sk_buff const *)skb); tmp___15 = skb_network_offset((struct sk_buff const *)skb); vlan_macip_lens = vlan_macip_lens | (u32 )(tmp___15 << 9); vlan_macip_lens = vlan_macip_lens | (first->tx_flags & 4294901760U); ixgbe_tx_ctxtdesc(tx_ring, vlan_macip_lens, 0U, type_tucmd, mss_l4len_idx); } return (1); } } static void ixgbe_tx_csum(struct ixgbe_ring *tx_ring , struct ixgbe_tx_buffer *first ) { struct sk_buff *skb ; u32 vlan_macip_lens ; u32 mss_l4len_idx ; u32 type_tucmd ; u8 l4_hdr ; u32 tmp ; struct iphdr *tmp___0 ; u32 tmp___1 ; struct ipv6hdr *tmp___2 ; int tmp___3 ; long tmp___4 ; unsigned int tmp___5 ; int tmp___6 ; long tmp___7 ; int tmp___8 ; { skb = first->skb; vlan_macip_lens = 0U; mss_l4len_idx = 0U; type_tucmd = 0U; if ((unsigned int )*((unsigned char *)skb + 124UL) != 12U) { if (*((unsigned int *)first + 11UL) == 0U) { return; } else { } } else { l4_hdr = 0U; { if ((int )first->protocol == 8) { goto case_8; } else { } if ((int )first->protocol == 56710) { goto case_56710; } else { } goto switch_default; case_8: /* CIL Label */ { tmp = skb_network_header_len((struct sk_buff const *)skb); vlan_macip_lens = vlan_macip_lens | tmp; type_tucmd = type_tucmd | 1024U; tmp___0 = ip_hdr((struct sk_buff const *)skb); l4_hdr = tmp___0->protocol; } goto ldv_55269; case_56710: /* CIL Label */ { tmp___1 = skb_network_header_len((struct sk_buff const *)skb); vlan_macip_lens = vlan_macip_lens | tmp___1; tmp___2 = ipv6_hdr((struct sk_buff const *)skb); l4_hdr = tmp___2->nexthdr; } goto ldv_55269; switch_default: /* CIL Label */ { tmp___3 = net_ratelimit(); tmp___4 = ldv__builtin_expect(tmp___3 != 0, 0L); } if (tmp___4 != 0L) { { dev_warn((struct device const *)tx_ring->dev, "partial checksum but proto=%x!\n", (int )first->protocol); } } else { } goto ldv_55269; switch_break: /* CIL Label */ ; } ldv_55269: ; { if ((int )l4_hdr == 6) { goto case_6; } else { } if ((int )l4_hdr == 132) { goto case_132; } else { } if ((int )l4_hdr == 17) { goto case_17; } else { } goto switch_default___0; case_6: /* CIL Label */ { type_tucmd = type_tucmd | 2048U; tmp___5 = tcp_hdrlen((struct sk_buff const *)skb); mss_l4len_idx = tmp___5 << 8; } goto ldv_55273; case_132: /* CIL Label */ type_tucmd = type_tucmd | 4096U; mss_l4len_idx = 3072U; goto ldv_55273; case_17: /* CIL Label */ mss_l4len_idx = 2048U; goto ldv_55273; switch_default___0: /* CIL Label */ { tmp___6 = net_ratelimit(); tmp___7 = ldv__builtin_expect(tmp___6 != 0, 0L); } if (tmp___7 != 0L) { { dev_warn((struct device const *)tx_ring->dev, "partial checksum but l4 proto=%x!\n", (int )l4_hdr); } } else { } goto ldv_55273; switch_break___0: /* CIL Label */ ; } ldv_55273: first->tx_flags = first->tx_flags | 32U; } { tmp___8 = skb_network_offset((struct sk_buff const *)skb); vlan_macip_lens = vlan_macip_lens | (u32 )(tmp___8 << 9); vlan_macip_lens = vlan_macip_lens | (first->tx_flags & 4294901760U); ixgbe_tx_ctxtdesc(tx_ring, vlan_macip_lens, 0U, type_tucmd, mss_l4len_idx); } return; } } static u32 ixgbe_tx_cmd_type(struct sk_buff *skb , u32 tx_flags ) { u32 cmd_type ; { cmd_type = 573571072U; cmd_type = cmd_type | (tx_flags & 1U) * 1073741824U; cmd_type = cmd_type | (tx_flags & 2U) * 1073741824U; cmd_type = cmd_type | (tx_flags & 4U) * 131072U; cmd_type = cmd_type ^ (unsigned int )skb->no_fcs * 33554432U; return (cmd_type); } } static void ixgbe_tx_olinfo_status(union ixgbe_adv_tx_desc *tx_desc , u32 tx_flags , unsigned int paylen ) { u32 olinfo_status ; { olinfo_status = paylen << 14; olinfo_status = olinfo_status | (tx_flags & 32U) * 16U; olinfo_status = olinfo_status | (tx_flags & 16U) * 16U; olinfo_status = olinfo_status | (tx_flags & 8U) * 16U; tx_desc->read.olinfo_status = olinfo_status; return; } } static void ixgbe_tx_map(struct ixgbe_ring *tx_ring , struct ixgbe_tx_buffer *first , u8 const hdr_len ) { struct sk_buff *skb ; struct ixgbe_tx_buffer *tx_buffer ; union ixgbe_adv_tx_desc *tx_desc ; struct skb_frag_struct *frag ; dma_addr_t dma ; unsigned int data_len ; unsigned int size ; u32 tx_flags ; u32 cmd_type ; u32 tmp ; u16 i ; unsigned char *tmp___0 ; int tmp___1 ; long tmp___2 ; long tmp___3 ; unsigned int __min1 ; unsigned int __min2 ; unsigned int tmp___4 ; struct netdev_queue *tmp___5 ; { { skb = first->skb; tx_flags = first->tx_flags; tmp = ixgbe_tx_cmd_type(skb, tx_flags); cmd_type = tmp; i = tx_ring->next_to_use; tx_desc = (union ixgbe_adv_tx_desc *)tx_ring->desc + (unsigned long )i; ixgbe_tx_olinfo_status(tx_desc, tx_flags, skb->len - (unsigned int )hdr_len); size = skb_headlen((struct sk_buff const *)skb); data_len = skb->data_len; } if ((tx_flags & 128U) != 0U) { if (data_len <= 7U) { size = (size + data_len) - 8U; data_len = 0U; } else { data_len = data_len - 8U; } } else { } { dma = dma_map_single_attrs(tx_ring->dev, (void *)skb->data, (size_t )size, 1, (struct dma_attrs *)0); tx_buffer = first; tmp___0 = skb_end_pointer((struct sk_buff const *)skb); frag = (struct skb_frag_struct *)(& ((struct skb_shared_info *)tmp___0)->frags); } ldv_55311: { tmp___1 = dma_mapping_error(tx_ring->dev, dma); } if (tmp___1 != 0) { goto dma_error; } else { } tx_buffer->len = size; tx_buffer->dma = dma; tx_desc->read.buffer_addr = dma; goto ldv_55305; ldv_55304: tx_desc->read.cmd_type_len = cmd_type ^ 16384U; i = (u16 )((int )i + 1); tx_desc = tx_desc + 1; if ((int )i == (int )tx_ring->count) { tx_desc = (union ixgbe_adv_tx_desc *)tx_ring->desc; i = 0U; } else { } tx_desc->read.olinfo_status = 0U; dma = dma + 16384ULL; size = size - 16384U; tx_desc->read.buffer_addr = dma; ldv_55305: { tmp___2 = ldv__builtin_expect(size > 16384U, 0L); } if (tmp___2 != 0L) { goto ldv_55304; } else { } { tmp___3 = ldv__builtin_expect(data_len == 0U, 1L); } if (tmp___3 != 0L) { goto ldv_55307; } else { } tx_desc->read.cmd_type_len = cmd_type ^ size; i = (u16 )((int )i + 1); tx_desc = tx_desc + 1; if ((int )i == (int )tx_ring->count) { tx_desc = (union ixgbe_adv_tx_desc *)tx_ring->desc; i = 0U; } else { } { tx_desc->read.olinfo_status = 0U; __min1 = data_len; tmp___4 = skb_frag_size((skb_frag_t const *)frag); __min2 = tmp___4; size = __min1 < __min2 ? __min1 : __min2; data_len = data_len - size; dma = skb_frag_dma_map(tx_ring->dev, (skb_frag_t const *)frag, 0UL, (size_t )size, 1); tx_buffer = tx_ring->__annonCompField94.tx_buffer_info + (unsigned long )i; frag = frag + 1; } goto ldv_55311; ldv_55307: { cmd_type = (cmd_type | size) | 150994944U; tx_desc->read.cmd_type_len = cmd_type; tmp___5 = txring_txq((struct ixgbe_ring const *)tx_ring); netdev_tx_sent_queue(tmp___5, first->bytecount); first->time_stamp = jiffies; __asm__ volatile ("sfence": : : "memory"); first->next_to_watch = tx_desc; i = (u16 )((int )i + 1); } if ((int )i == (int )tx_ring->count) { i = 0U; } else { } { tx_ring->next_to_use = i; ixgbe_write_tail(tx_ring, (u32 )i); } return; dma_error: { dev_err((struct device const *)tx_ring->dev, "TX DMA map failed\n"); } ldv_55313: { tx_buffer = tx_ring->__annonCompField94.tx_buffer_info + (unsigned long )i; ixgbe_unmap_and_free_tx_resource(tx_ring, tx_buffer); } if ((unsigned long )tx_buffer == (unsigned long )first) { goto ldv_55312; } else { } if ((unsigned int )i == 0U) { i = tx_ring->count; } else { } i = (u16 )((int )i - 1); goto ldv_55313; ldv_55312: tx_ring->next_to_use = i; return; } } static void ixgbe_atr(struct ixgbe_ring *ring , struct ixgbe_tx_buffer *first ) { struct ixgbe_q_vector *q_vector ; union ixgbe_atr_hash_dword input ; union ixgbe_atr_hash_dword common ; union __anonunion_hdr_312 hdr ; struct tcphdr *th ; __be16 vlan_id ; __u16 tmp ; { q_vector = ring->q_vector; input.dword = 0U; common.dword = 0U; if ((unsigned long )q_vector == (unsigned long )((struct ixgbe_q_vector *)0)) { return; } else { } if ((unsigned int )ring->__annonCompField96.__annonCompField95.atr_sample_rate == 0U) { return; } else { } { ring->__annonCompField96.__annonCompField95.atr_count = (u8 )((int )ring->__annonCompField96.__annonCompField95.atr_count + 1); hdr.network = skb_network_header((struct sk_buff const *)first->skb); } if (((unsigned int )first->protocol != 56710U || (unsigned int )(hdr.ipv6)->nexthdr != 6U) && ((unsigned int )first->protocol != 8U || (unsigned int )(hdr.ipv4)->protocol != 6U)) { return; } else { } { th = tcp_hdr((struct sk_buff const *)first->skb); } if ((unsigned long )th == (unsigned long )((struct tcphdr *)0) || (unsigned int )*((unsigned char *)th + 13UL) != 0U) { return; } else { } if ((unsigned int )*((unsigned char *)th + 13UL) == 0U && (int )ring->__annonCompField96.__annonCompField95.atr_count < (int )ring->__annonCompField96.__annonCompField95.atr_sample_rate) { return; } else { } { ring->__annonCompField96.__annonCompField95.atr_count = 0U; tmp = __fswab16((int )((__u16 )(first->tx_flags >> 16))); vlan_id = tmp; input.formatted.vlan_id = vlan_id; } if ((first->tx_flags & 65U) != 0U) { common.port.src = (__be16 )((unsigned int )((int )common.port.src ^ (int )th->dest) ^ 129U); } else { common.port.src = (__be16 )((int )common.port.src ^ ((int )th->dest ^ (int )first->protocol)); } common.port.dst = (__be16 )((int )common.port.dst ^ (int )th->source); if ((unsigned int )first->protocol == 8U) { input.formatted.flow_type = 2U; common.ip = common.ip ^ ((hdr.ipv4)->saddr ^ (hdr.ipv4)->daddr); } else { input.formatted.flow_type = 6U; common.ip = common.ip ^ ((((((((hdr.ipv6)->saddr.in6_u.u6_addr32[0] ^ (hdr.ipv6)->saddr.in6_u.u6_addr32[1]) ^ (hdr.ipv6)->saddr.in6_u.u6_addr32[2]) ^ (hdr.ipv6)->saddr.in6_u.u6_addr32[3]) ^ (hdr.ipv6)->daddr.in6_u.u6_addr32[0]) ^ (hdr.ipv6)->daddr.in6_u.u6_addr32[1]) ^ (hdr.ipv6)->daddr.in6_u.u6_addr32[2]) ^ (hdr.ipv6)->daddr.in6_u.u6_addr32[3]); } { ixgbe_fdir_add_signature_filter_82599(& (q_vector->adapter)->hw, input, common, (int )ring->queue_index); } return; } } static int __ixgbe_maybe_stop_tx(struct ixgbe_ring *tx_ring , u16 size ) { u16 tmp ; long tmp___0 ; { { netif_stop_subqueue(tx_ring->netdev, (int )tx_ring->queue_index); __asm__ volatile ("mfence": : : "memory"); tmp = ixgbe_desc_unused(tx_ring); tmp___0 = ldv__builtin_expect((int )tmp < (int )size, 1L); } if (tmp___0 != 0L) { return (-16); } else { } { netif_start_subqueue(tx_ring->netdev, (int )tx_ring->queue_index); tx_ring->__annonCompField97.tx_stats.restart_queue = tx_ring->__annonCompField97.tx_stats.restart_queue + 1ULL; } return (0); } } __inline static int ixgbe_maybe_stop_tx(struct ixgbe_ring *tx_ring , u16 size ) { u16 tmp ; long tmp___0 ; int tmp___1 ; { { tmp = ixgbe_desc_unused(tx_ring); tmp___0 = ldv__builtin_expect((int )tmp >= (int )size, 1L); } if (tmp___0 != 0L) { return (0); } else { } { tmp___1 = __ixgbe_maybe_stop_tx(tx_ring, (int )size); } return (tmp___1); } } static u16 ixgbe_select_queue(struct net_device *dev , struct sk_buff *skb , void *accel_priv , u16 (*fallback)(struct net_device * , struct sk_buff * ) ) { struct ixgbe_fwd_adapter *fwd_adapter ; struct ixgbe_adapter *adapter ; struct ixgbe_ring_feature *f ; int txq ; __be16 tmp ; void *tmp___0 ; u16 tmp___1 ; u16 tmp___3 ; int pscr_ret__ ; void const *__vpp_verify ; int pfo_ret__ ; int pfo_ret_____0 ; int pfo_ret_____1 ; int pfo_ret_____2 ; bool tmp___4 ; { fwd_adapter = (struct ixgbe_fwd_adapter *)accel_priv; if ((unsigned long )fwd_adapter != (unsigned long )((struct ixgbe_fwd_adapter *)0)) { return ((int )skb->queue_mapping + (int )((u16 )fwd_adapter->tx_base_queue)); } else { } { tmp = vlan_get_protocol((struct sk_buff const *)skb); } { if ((int )tmp == 1673) { goto case_1673; } else { } if ((int )tmp == 5257) { goto case_5257; } else { } goto switch_default; case_1673: /* CIL Label */ ; case_5257: /* CIL Label */ { tmp___0 = netdev_priv((struct net_device const *)dev); adapter = (struct ixgbe_adapter *)tmp___0; } if ((adapter->flags & 2097152U) != 0U) { goto ldv_55348; } else { } switch_default: /* CIL Label */ { tmp___1 = (*fallback)(dev, skb); } return (tmp___1); switch_break: /* CIL Label */ ; } ldv_55348: { f = (struct ixgbe_ring_feature *)(& adapter->ring_feature) + 4UL; tmp___4 = skb_rx_queue_recorded((struct sk_buff const *)skb); } if ((int )tmp___4) { { tmp___3 = skb_get_rx_queue((struct sk_buff const *)skb); txq = (int )tmp___3; } } else { __vpp_verify = (void const *)0; { if (4UL == 1UL) { goto case_1; } else { } if (4UL == 2UL) { goto case_2___0; } else { } if (4UL == 4UL) { goto case_4___1; } else { } if (4UL == 8UL) { goto case_8___2; } else { } goto switch_default___4; case_1: /* CIL Label */ ; { if (4UL == 1UL) { goto case_1___0; } else { } if (4UL == 2UL) { goto case_2; } else { } if (4UL == 4UL) { goto case_4; } else { } if (4UL == 8UL) { goto case_8; } else { } goto switch_default___0; case_1___0: /* CIL Label */ __asm__ ("movb %%gs:%P1,%0": "=q" (pfo_ret__): "m" (cpu_number)); goto ldv_55355; case_2: /* CIL Label */ __asm__ ("movw %%gs:%P1,%0": "=r" (pfo_ret__): "m" (cpu_number)); goto ldv_55355; case_4: /* CIL Label */ __asm__ ("movl %%gs:%P1,%0": "=r" (pfo_ret__): "m" (cpu_number)); goto ldv_55355; case_8: /* CIL Label */ __asm__ ("movq %%gs:%P1,%0": "=r" (pfo_ret__): "m" (cpu_number)); goto ldv_55355; switch_default___0: /* CIL Label */ { __bad_percpu_size(); } switch_break___1: /* CIL Label */ ; } ldv_55355: pscr_ret__ = pfo_ret__; goto ldv_55361; case_2___0: /* CIL Label */ ; { if (4UL == 1UL) { goto case_1___1; } else { } if (4UL == 2UL) { goto case_2___1; } else { } if (4UL == 4UL) { goto case_4___0; } else { } if (4UL == 8UL) { goto case_8___0; } else { } goto switch_default___1; case_1___1: /* CIL Label */ __asm__ ("movb %%gs:%P1,%0": "=q" (pfo_ret_____0): "m" (cpu_number)); goto ldv_55365; case_2___1: /* CIL Label */ __asm__ ("movw %%gs:%P1,%0": "=r" (pfo_ret_____0): "m" (cpu_number)); goto ldv_55365; case_4___0: /* CIL Label */ __asm__ ("movl %%gs:%P1,%0": "=r" (pfo_ret_____0): "m" (cpu_number)); goto ldv_55365; case_8___0: /* CIL Label */ __asm__ ("movq %%gs:%P1,%0": "=r" (pfo_ret_____0): "m" (cpu_number)); goto ldv_55365; switch_default___1: /* CIL Label */ { __bad_percpu_size(); } switch_break___2: /* CIL Label */ ; } ldv_55365: pscr_ret__ = pfo_ret_____0; goto ldv_55361; case_4___1: /* CIL Label */ ; { if (4UL == 1UL) { goto case_1___2; } else { } if (4UL == 2UL) { goto case_2___2; } else { } if (4UL == 4UL) { goto case_4___2; } else { } if (4UL == 8UL) { goto case_8___1; } else { } goto switch_default___2; case_1___2: /* CIL Label */ __asm__ ("movb %%gs:%P1,%0": "=q" (pfo_ret_____1): "m" (cpu_number)); goto ldv_55374; case_2___2: /* CIL Label */ __asm__ ("movw %%gs:%P1,%0": "=r" (pfo_ret_____1): "m" (cpu_number)); goto ldv_55374; case_4___2: /* CIL Label */ __asm__ ("movl %%gs:%P1,%0": "=r" (pfo_ret_____1): "m" (cpu_number)); goto ldv_55374; case_8___1: /* CIL Label */ __asm__ ("movq %%gs:%P1,%0": "=r" (pfo_ret_____1): "m" (cpu_number)); goto ldv_55374; switch_default___2: /* CIL Label */ { __bad_percpu_size(); } switch_break___3: /* CIL Label */ ; } ldv_55374: pscr_ret__ = pfo_ret_____1; goto ldv_55361; case_8___2: /* CIL Label */ ; { if (4UL == 1UL) { goto case_1___3; } else { } if (4UL == 2UL) { goto case_2___3; } else { } if (4UL == 4UL) { goto case_4___3; } else { } if (4UL == 8UL) { goto case_8___3; } else { } goto switch_default___3; case_1___3: /* CIL Label */ __asm__ ("movb %%gs:%P1,%0": "=q" (pfo_ret_____2): "m" (cpu_number)); goto ldv_55383; case_2___3: /* CIL Label */ __asm__ ("movw %%gs:%P1,%0": "=r" (pfo_ret_____2): "m" (cpu_number)); goto ldv_55383; case_4___3: /* CIL Label */ __asm__ ("movl %%gs:%P1,%0": "=r" (pfo_ret_____2): "m" (cpu_number)); goto ldv_55383; case_8___3: /* CIL Label */ __asm__ ("movq %%gs:%P1,%0": "=r" (pfo_ret_____2): "m" (cpu_number)); goto ldv_55383; switch_default___3: /* CIL Label */ { __bad_percpu_size(); } switch_break___4: /* CIL Label */ ; } ldv_55383: pscr_ret__ = pfo_ret_____2; goto ldv_55361; switch_default___4: /* CIL Label */ { __bad_size_call_parameter(); } goto ldv_55361; switch_break___0: /* CIL Label */ ; } ldv_55361: txq = pscr_ret__; } goto ldv_55392; ldv_55391: txq = txq - (int )f->indices; ldv_55392: ; if (txq >= (int )f->indices) { goto ldv_55391; } else { } return ((int )((u16 )txq) + (int )f->offset); } } netdev_tx_t ixgbe_xmit_frame_ring(struct sk_buff *skb , struct ixgbe_adapter *adapter , struct ixgbe_ring *tx_ring ) { struct ixgbe_tx_buffer *first ; int tso ; u32 tx_flags ; unsigned short f ; u16 count ; unsigned int tmp ; __be16 protocol ; u8 hdr_len ; unsigned char *tmp___0 ; unsigned char *tmp___1 ; int tmp___2 ; struct vlan_hdr *vhdr ; struct vlan_hdr _vhdr ; void *tmp___3 ; __u16 tmp___4 ; unsigned char *tmp___5 ; unsigned char *tmp___6 ; unsigned char *tmp___7 ; long tmp___8 ; struct vlan_ethhdr *vhdr___0 ; int tmp___9 ; int tmp___10 ; __u16 tmp___11 ; int tmp___12 ; { { tx_flags = 0U; tmp = skb_headlen((struct sk_buff const *)skb); count = (u16 )((tmp + 16383U) / 16384U); protocol = skb->protocol; hdr_len = 0U; f = 0U; } goto ldv_55407; ldv_55406: { tmp___0 = skb_end_pointer((struct sk_buff const *)skb); count = (int )count + (int )((u16 )((((struct skb_shared_info *)tmp___0)->frags[(int )f].size + 16383U) / 16384U)); f = (unsigned short )((int )f + 1); } ldv_55407: { tmp___1 = skb_end_pointer((struct sk_buff const *)skb); } if ((int )f < (int )((unsigned short )((struct skb_shared_info *)tmp___1)->nr_frags)) { goto ldv_55406; } else { } { tmp___2 = ixgbe_maybe_stop_tx(tx_ring, (int )((unsigned int )count + 3U)); } if (tmp___2 != 0) { tx_ring->__annonCompField97.tx_stats.tx_busy = tx_ring->__annonCompField97.tx_stats.tx_busy + 1ULL; return (16); } else { } first = tx_ring->__annonCompField94.tx_buffer_info + (unsigned long )tx_ring->next_to_use; first->skb = skb; first->bytecount = skb->len; first->gso_segs = 1U; if (((int )skb->vlan_tci & 4096) != 0) { tx_flags = tx_flags | (u32 )(((int )skb->vlan_tci & -4097) << 16); tx_flags = tx_flags | 1U; } else if ((unsigned int )protocol == 129U) { { tmp___3 = skb_header_pointer((struct sk_buff const *)skb, 14, 4, (void *)(& _vhdr)); vhdr = (struct vlan_hdr *)tmp___3; } if ((unsigned long )vhdr == (unsigned long )((struct vlan_hdr *)0)) { goto out_drop; } else { } { protocol = vhdr->h_vlan_encapsulated_proto; tmp___4 = __fswab16((int )vhdr->h_vlan_TCI); tx_flags = tx_flags | (u32 )((int )tmp___4 << 16); tx_flags = tx_flags | 64U; } } else { } { skb_tx_timestamp(skb); tmp___7 = skb_end_pointer((struct sk_buff const *)skb); tmp___8 = ldv__builtin_expect((long )((struct skb_shared_info *)tmp___7)->tx_flags & 1L, 0L); } if (tmp___8 != 0L) { { tmp___5 = skb_end_pointer((struct sk_buff const *)skb); tmp___6 = skb_end_pointer((struct sk_buff const *)skb); ((struct skb_shared_info *)tmp___5)->tx_flags = (__u8 )((unsigned int )((struct skb_shared_info *)tmp___6)->tx_flags | 4U); tx_flags = tx_flags | 4U; adapter->ptp_tx_skb = skb_get(skb); adapter->ptp_tx_start = jiffies; schedule_work(& adapter->ptp_tx_work); } } else { } if ((adapter->flags & 8388608U) != 0U) { tx_flags = tx_flags | 8U; } else { } if ((adapter->flags & 4096U) != 0U && ((tx_flags & 65U) != 0U || skb->priority != 7U)) { tx_flags = tx_flags & 536870911U; tx_flags = tx_flags | (skb->priority << 29); if ((tx_flags & 64U) != 0U) { { tmp___9 = skb_header_cloned((struct sk_buff const *)skb); } if (tmp___9 != 0) { { tmp___10 = pskb_expand_head(skb, 0, 0, 32U); } if (tmp___10 != 0) { goto out_drop; } else { } } else { } { vhdr___0 = (struct vlan_ethhdr *)skb->data; tmp___11 = __fswab16((int )((__u16 )(tx_flags >> 16))); vhdr___0->h_vlan_TCI = tmp___11; } } else { tx_flags = tx_flags | 1U; } } else { } first->tx_flags = tx_flags; first->protocol = protocol; if ((unsigned int )protocol == 1673U && ((tx_ring->netdev)->features & 136314880ULL) != 0ULL) { { tso = ixgbe_fso(tx_ring, first, & hdr_len); } if (tso < 0) { goto out_drop; } else { } goto xmit_fcoe; } else { } { tso = ixgbe_tso(tx_ring, first, & hdr_len); } if (tso < 0) { goto out_drop; } else if (tso == 0) { { ixgbe_tx_csum(tx_ring, first); } } else { } { tmp___12 = constant_test_bit(0L, (unsigned long const volatile *)(& tx_ring->state)); } if (tmp___12 != 0) { { ixgbe_atr(tx_ring, first); } } else { } xmit_fcoe: { ixgbe_tx_map(tx_ring, first, (int )hdr_len); ixgbe_maybe_stop_tx(tx_ring, 21); } return (0); out_drop: { dev_kfree_skb_any(first->skb); first->skb = (struct sk_buff *)0; } return (0); } } static netdev_tx_t __ixgbe_xmit_frame(struct sk_buff *skb , struct net_device *netdev , struct ixgbe_ring *ring ) { struct ixgbe_adapter *adapter ; void *tmp ; struct ixgbe_ring *tx_ring ; int tmp___0 ; long tmp___1 ; netdev_tx_t tmp___2 ; { { tmp = netdev_priv((struct net_device const *)netdev); adapter = (struct ixgbe_adapter *)tmp; tmp___1 = ldv__builtin_expect(skb->len <= 16U, 0L); } if (tmp___1 != 0L) { { tmp___0 = skb_pad(skb, (int )(17U - skb->len)); } if (tmp___0 != 0) { return (0); } else { } { skb->len = 17U; skb_set_tail_pointer(skb, 17); } } else { } { tx_ring = (unsigned long )ring != (unsigned long )((struct ixgbe_ring *)0) ? ring : adapter->tx_ring[(int )skb->queue_mapping]; tmp___2 = ixgbe_xmit_frame_ring(skb, adapter, tx_ring); } return (tmp___2); } } static netdev_tx_t ixgbe_xmit_frame(struct sk_buff *skb , struct net_device *netdev ) { netdev_tx_t tmp ; { { tmp = __ixgbe_xmit_frame(skb, netdev, (struct ixgbe_ring *)0); } return (tmp); } } static int ixgbe_set_mac(struct net_device *netdev , void *p ) { struct ixgbe_adapter *adapter ; void *tmp ; struct ixgbe_hw *hw ; struct sockaddr *addr ; bool tmp___0 ; int tmp___1 ; { { tmp = netdev_priv((struct net_device const *)netdev); adapter = (struct ixgbe_adapter *)tmp; hw = & adapter->hw; addr = (struct sockaddr *)p; tmp___0 = is_valid_ether_addr((u8 const *)(& addr->sa_data)); } if (tmp___0) { tmp___1 = 0; } else { tmp___1 = 1; } if (tmp___1) { return (-99); } else { } { memcpy((void *)netdev->dev_addr, (void const *)(& addr->sa_data), (size_t )netdev->addr_len); memcpy((void *)(& hw->mac.addr), (void const *)(& addr->sa_data), (size_t )netdev->addr_len); (*(hw->mac.ops.set_rar))(hw, 0U, (u8 *)(& hw->mac.addr), (u32 )adapter->ring_feature[1].offset, 2147483648U); } return (0); } } static int ixgbe_mdio_read(struct net_device *netdev , int prtad , int devad , u16 addr ) { struct ixgbe_adapter *adapter ; void *tmp ; struct ixgbe_hw *hw ; u16 value ; int rc ; { { tmp = netdev_priv((struct net_device const *)netdev); adapter = (struct ixgbe_adapter *)tmp; hw = & adapter->hw; } if (prtad != hw->phy.mdio.prtad) { return (-22); } else { } { rc = (*(hw->phy.ops.read_reg))(hw, (u32 )addr, (u32 )devad, & value); } if (rc == 0) { rc = (int )value; } else { } return (rc); } } static int ixgbe_mdio_write(struct net_device *netdev , int prtad , int devad , u16 addr , u16 value ) { struct ixgbe_adapter *adapter ; void *tmp ; struct ixgbe_hw *hw ; s32 tmp___0 ; { { tmp = netdev_priv((struct net_device const *)netdev); adapter = (struct ixgbe_adapter *)tmp; hw = & adapter->hw; } if (prtad != hw->phy.mdio.prtad) { return (-22); } else { } { tmp___0 = (*(hw->phy.ops.write_reg))(hw, (u32 )addr, (u32 )devad, (int )value); } return (tmp___0); } } static int ixgbe_ioctl(struct net_device *netdev , struct ifreq *req , int cmd ) { struct ixgbe_adapter *adapter ; void *tmp ; int tmp___0 ; struct mii_ioctl_data *tmp___1 ; int tmp___2 ; { { tmp = netdev_priv((struct net_device const *)netdev); adapter = (struct ixgbe_adapter *)tmp; } { if (cmd == 35248) { goto case_35248; } else { } goto switch_default; case_35248: /* CIL Label */ { tmp___0 = ixgbe_ptp_hwtstamp_ioctl(adapter, req, cmd); } return (tmp___0); switch_default: /* CIL Label */ { tmp___1 = if_mii(req); tmp___2 = mdio_mii_ioctl((struct mdio_if_info const *)(& adapter->hw.phy.mdio), tmp___1, cmd); } return (tmp___2); switch_break: /* CIL Label */ ; } } } static int ixgbe_add_sanmac_netdev(struct net_device *dev ) { int err ; struct ixgbe_adapter *adapter ; void *tmp ; struct ixgbe_hw *hw ; bool tmp___0 ; { { err = 0; tmp = netdev_priv((struct net_device const *)dev); adapter = (struct ixgbe_adapter *)tmp; hw = & adapter->hw; tmp___0 = is_valid_ether_addr((u8 const *)(& hw->mac.san_addr)); } if ((int )tmp___0) { { rtnl_lock(); err = dev_addr_add(dev, (unsigned char const *)(& hw->mac.san_addr), 2); rtnl_unlock(); (*(hw->mac.ops.set_vmdq_san_mac))(hw, (u32 )adapter->ring_feature[1].offset); } } else { } return (err); } } static int ixgbe_del_sanmac_netdev(struct net_device *dev ) { int err ; struct ixgbe_adapter *adapter ; void *tmp ; struct ixgbe_mac_info *mac ; bool tmp___0 ; { { err = 0; tmp = netdev_priv((struct net_device const *)dev); adapter = (struct ixgbe_adapter *)tmp; mac = & adapter->hw.mac; tmp___0 = is_valid_ether_addr((u8 const *)(& mac->san_addr)); } if ((int )tmp___0) { { rtnl_lock(); err = dev_addr_del(dev, (unsigned char const *)(& mac->san_addr), 2); rtnl_unlock(); } } else { } return (err); } } static void ixgbe_netpoll(struct net_device *netdev ) { struct ixgbe_adapter *adapter ; void *tmp ; int i ; int tmp___0 ; { { tmp = netdev_priv((struct net_device const *)netdev); adapter = (struct ixgbe_adapter *)tmp; tmp___0 = constant_test_bit(2L, (unsigned long const volatile *)(& adapter->state)); } if (tmp___0 != 0) { return; } else { } adapter->flags = adapter->flags | 128U; if ((adapter->flags & 8U) != 0U) { i = 0; goto ldv_55477; ldv_55476: { ixgbe_msix_clean_rings(0, (void *)adapter->q_vector[i]); i = i + 1; } ldv_55477: ; if (i < adapter->num_q_vectors) { goto ldv_55476; } else { } } else { { ixgbe_intr((int )(adapter->pdev)->irq, (void *)netdev); } } adapter->flags = adapter->flags & 4294967167U; return; } } static struct rtnl_link_stats64 *ixgbe_get_stats64(struct net_device *netdev , struct rtnl_link_stats64 *stats ) { struct ixgbe_adapter *adapter ; void *tmp ; int i ; struct ixgbe_ring *ring ; u64 bytes ; u64 packets ; unsigned int start ; bool tmp___0 ; struct ixgbe_ring *ring___0 ; u64 bytes___0 ; u64 packets___0 ; unsigned int start___0 ; bool tmp___1 ; { { tmp = netdev_priv((struct net_device const *)netdev); adapter = (struct ixgbe_adapter *)tmp; rcu_read_lock(); i = 0; } goto ldv_55492; ldv_55491: ring = *((struct ixgbe_ring * volatile *)(& adapter->rx_ring) + (unsigned long )i); if ((unsigned long )ring != (unsigned long )((struct ixgbe_ring *)0)) { ldv_55489: { start = u64_stats_fetch_begin_bh((struct u64_stats_sync const *)(& ring->syncp)); packets = ring->stats.packets; bytes = ring->stats.bytes; tmp___0 = u64_stats_fetch_retry_bh((struct u64_stats_sync const *)(& ring->syncp), start); } if ((int )tmp___0) { goto ldv_55489; } else { } stats->rx_packets = stats->rx_packets + packets; stats->rx_bytes = stats->rx_bytes + bytes; } else { } i = i + 1; ldv_55492: ; if (i < adapter->num_rx_queues) { goto ldv_55491; } else { } i = 0; goto ldv_55501; ldv_55500: ring___0 = *((struct ixgbe_ring * volatile *)(& adapter->tx_ring) + (unsigned long )i); if ((unsigned long )ring___0 != (unsigned long )((struct ixgbe_ring *)0)) { ldv_55498: { start___0 = u64_stats_fetch_begin_bh((struct u64_stats_sync const *)(& ring___0->syncp)); packets___0 = ring___0->stats.packets; bytes___0 = ring___0->stats.bytes; tmp___1 = u64_stats_fetch_retry_bh((struct u64_stats_sync const *)(& ring___0->syncp), start___0); } if ((int )tmp___1) { goto ldv_55498; } else { } stats->tx_packets = stats->tx_packets + packets___0; stats->tx_bytes = stats->tx_bytes + bytes___0; } else { } i = i + 1; ldv_55501: ; if (i < adapter->num_tx_queues) { goto ldv_55500; } else { } { rcu_read_unlock(); stats->multicast = (__u64 )netdev->stats.multicast; stats->rx_errors = (__u64 )netdev->stats.rx_errors; stats->rx_length_errors = (__u64 )netdev->stats.rx_length_errors; stats->rx_crc_errors = (__u64 )netdev->stats.rx_crc_errors; stats->rx_missed_errors = (__u64 )netdev->stats.rx_missed_errors; } return (stats); } } static void ixgbe_validate_rtr(struct ixgbe_adapter *adapter , u8 tc ) { struct ixgbe_hw *hw ; u32 reg ; u32 rsave ; int i ; u8 up2tc ; { hw = & adapter->hw; if ((unsigned int )hw->mac.type == 1U) { return; } else { } { reg = ixgbe_read_reg(hw, 12320U); rsave = reg; i = 0; } goto ldv_55513; ldv_55512: up2tc = (u8 )(reg >> i * 3); if ((int )up2tc > (int )tc) { reg = reg & 4294967239U; } else { } i = i + 1; ldv_55513: ; if (i <= 7) { goto ldv_55512; } else { } if (reg != rsave) { { ixgbe_write_reg(hw, 12320U, reg); } } else { } return; } } static void ixgbe_set_prio_tc_map(struct ixgbe_adapter *adapter ) { struct net_device *dev ; struct ixgbe_dcb_config *dcb_cfg ; struct ieee_ets *ets ; u8 prio ; u8 tc ; { dev = adapter->netdev; dcb_cfg = & adapter->dcb_cfg; ets = adapter->ixgbe_ieee_ets; prio = 0U; goto ldv_55524; ldv_55523: tc = 0U; if (((int )adapter->dcbx_cap & 4) != 0) { { tc = ixgbe_dcb_get_tc_from_up(dcb_cfg, 0, (int )prio); } } else if ((unsigned long )ets != (unsigned long )((struct ieee_ets *)0)) { tc = ets->prio_tc[(int )prio]; } else { } { netdev_set_prio_tc_map(dev, (int )prio, (int )tc); prio = (u8 )((int )prio + 1); } ldv_55524: ; if ((unsigned int )prio <= 7U) { goto ldv_55523; } else { } return; } } int ixgbe_setup_tc(struct net_device *dev , u8 tc ) { struct ixgbe_adapter *adapter ; void *tmp ; struct ixgbe_hw *hw ; bool pools ; unsigned long tmp___0 ; bool tmp___1 ; int tmp___2 ; bool tmp___3 ; { { tmp = netdev_priv((struct net_device const *)dev); adapter = (struct ixgbe_adapter *)tmp; hw = & adapter->hw; } if ((int )tc > (int )adapter->dcb_cfg.num_tcs.pg_tcs || ((unsigned int )hw->mac.type == 1U && (unsigned int )tc <= 7U)) { return (-22); } else { } { tmp___0 = find_first_zero_bit((unsigned long const *)(& adapter->fwd_bitmask), 32UL); pools = tmp___0 > 1UL; } if (((unsigned int )tc != 0U && (int )pools) && adapter->num_rx_pools > 8) { return (-16); } else { } { tmp___1 = netif_running((struct net_device const *)dev); } if ((int )tmp___1) { { ixgbe_close(dev); } } else { } { ixgbe_clear_interrupt_scheme(adapter); } if ((unsigned int )tc != 0U) { { netdev_set_num_tc(dev, (int )tc); ixgbe_set_prio_tc_map(adapter); adapter->flags = adapter->flags | 4096U; } if ((unsigned int )adapter->hw.mac.type == 1U) { adapter->last_lfc_mode = adapter->hw.fc.requested_mode; adapter->hw.fc.requested_mode = 0; } else { } } else { { netdev_reset_tc(dev); } if ((unsigned int )adapter->hw.mac.type == 1U) { adapter->hw.fc.requested_mode = adapter->last_lfc_mode; } else { } adapter->flags = adapter->flags & 4294963199U; adapter->temp_dcb_cfg.pfc_mode_enable = 0; adapter->dcb_cfg.pfc_mode_enable = 0; } { ixgbe_validate_rtr(adapter, (int )tc); ixgbe_init_interrupt_scheme(adapter); tmp___3 = netif_running((struct net_device const *)dev); } if ((int )tmp___3) { { tmp___2 = ixgbe_open(dev); } return (tmp___2); } else { } return (0); } } void ixgbe_sriov_reinit(struct ixgbe_adapter *adapter ) { struct net_device *netdev ; int tmp ; { { netdev = adapter->netdev; rtnl_lock(); tmp = netdev_get_num_tc(netdev); ixgbe_setup_tc(netdev, (int )((u8 )tmp)); rtnl_unlock(); } return; } } void ixgbe_do_reset(struct net_device *netdev ) { struct ixgbe_adapter *adapter ; void *tmp ; bool tmp___0 ; { { tmp = netdev_priv((struct net_device const *)netdev); adapter = (struct ixgbe_adapter *)tmp; tmp___0 = netif_running((struct net_device const *)netdev); } if ((int )tmp___0) { { ixgbe_reinit_locked(adapter); } } else { { ixgbe_reset(adapter); } } return; } } static netdev_features_t ixgbe_fix_features(struct net_device *netdev , netdev_features_t features ) { struct ixgbe_adapter *adapter ; void *tmp ; { { tmp = netdev_priv((struct net_device const *)netdev); adapter = (struct ixgbe_adapter *)tmp; } if ((features & 4294967296ULL) == 0ULL) { features = features & 0xffffffffffff7fffULL; } else { } if ((adapter->flags2 & 1U) == 0U) { features = features & 0xffffffffffff7fffULL; } else { } return (features); } } static int ixgbe_set_features(struct net_device *netdev , netdev_features_t features ) { struct ixgbe_adapter *adapter ; void *tmp ; netdev_features_t changed ; bool need_reset ; int tmp___0 ; { { tmp = netdev_priv((struct net_device const *)netdev); adapter = (struct ixgbe_adapter *)tmp; changed = netdev->features ^ features; need_reset = 0; } if ((features & 32768ULL) == 0ULL) { if ((adapter->flags2 & 2U) != 0U) { need_reset = 1; } else { } adapter->flags2 = adapter->flags2 & 4294967293U; } else if (*((unsigned int *)adapter + 135UL) == 1U) { if ((unsigned int )adapter->rx_itr_setting == 1U || (unsigned int )adapter->rx_itr_setting > 24U) { adapter->flags2 = adapter->flags2 | 2U; need_reset = 1; } else if (((changed ^ features) & 32768ULL) != 0ULL) { if (((int )adapter->msg_enable & 2) != 0) { { netdev_info((struct net_device const *)adapter->netdev, "rx-usecs set too low, disabling RSC\n"); } } else { } } else { } } else { } { if ((features & 1073741824ULL) == 1073741824ULL) { goto case_1073741824; } else { } goto switch_default; case_1073741824: /* CIL Label */ ; if ((adapter->flags & 524288U) == 0U) { need_reset = 1; } else { } adapter->flags = adapter->flags & 4294705151U; adapter->flags = adapter->flags | 524288U; goto ldv_55554; switch_default: /* CIL Label */ ; if ((adapter->flags & 524288U) != 0U) { need_reset = 1; } else { } adapter->flags = adapter->flags & 4294443007U; if ((adapter->flags & 8388608U) != 0U) { goto ldv_55554; } else { } { tmp___0 = netdev_get_num_tc(netdev); } if (tmp___0 > 1) { goto ldv_55554; } else { } if ((unsigned int )adapter->ring_feature[2].limit <= 1U) { goto ldv_55554; } else { } if (adapter->atr_sample_rate == 0U) { goto ldv_55554; } else { } adapter->flags = adapter->flags | 262144U; goto ldv_55554; switch_break: /* CIL Label */ ; } ldv_55554: ; if ((features & 256ULL) != 0ULL) { { ixgbe_vlan_strip_enable(adapter); } } else { { ixgbe_vlan_strip_disable(adapter); } } if ((changed & 68719476736ULL) != 0ULL) { need_reset = 1; } else { } netdev->features = features; if ((int )need_reset) { { ixgbe_do_reset(netdev); } } else { } return (0); } } static int ixgbe_ndo_fdb_add(struct ndmsg *ndm , struct nlattr **tb , struct net_device *dev , unsigned char const *addr , u16 flags ) { struct ixgbe_adapter *adapter ; void *tmp ; int err ; int tmp___0 ; u32 rar_uc_entries ; bool tmp___1 ; bool tmp___2 ; bool tmp___3 ; { { tmp = netdev_priv((struct net_device const *)dev); adapter = (struct ixgbe_adapter *)tmp; } if ((adapter->flags & 8388608U) == 0U) { { tmp___0 = ndo_dflt_fdb_add(ndm, tb, dev, addr, (int )flags); } return (tmp___0); } else { } if ((unsigned int )ndm->ndm_state != 0U && ((int )ndm->ndm_state & 128) == 0) { { printk("\016ixgbe: %s: FDB only supports static addresses\n", (char *)(& ixgbe_driver_name)); } return (-22); } else { } { tmp___2 = is_unicast_ether_addr(addr); } if ((int )tmp___2) { goto _L; } else { { tmp___3 = is_link_local_ether_addr(addr); } if ((int )tmp___3) { _L: /* CIL Label */ rar_uc_entries = 15U; if ((u32 )dev->uc.count < rar_uc_entries) { { err = dev_uc_add_excl(dev, addr); } } else { err = -12; } } else { { tmp___1 = is_multicast_ether_addr(addr); } if ((int )tmp___1) { { err = dev_mc_add_excl(dev, addr); } } else { err = -22; } } } if (err == -17 && ((int )flags & 512) == 0) { err = 0; } else { } return (err); } } static int ixgbe_ndo_bridge_setlink(struct net_device *dev , struct nlmsghdr *nlh ) { struct ixgbe_adapter *adapter ; void *tmp ; struct nlattr *attr ; struct nlattr *br_spec ; int rem ; void *tmp___0 ; __u16 mode ; u32 reg ; int tmp___1 ; int tmp___2 ; { { tmp = netdev_priv((struct net_device const *)dev); adapter = (struct ixgbe_adapter *)tmp; } if ((adapter->flags & 8388608U) == 0U) { return (-95); } else { } { br_spec = nlmsg_find_attr((struct nlmsghdr const *)nlh, 16, 26); tmp___0 = nla_data((struct nlattr const *)br_spec); attr = (struct nlattr *)tmp___0; rem = nla_len((struct nlattr const *)br_spec); } goto ldv_55578; ldv_55577: { reg = 0U; tmp___1 = nla_type((struct nlattr const *)attr); } if (tmp___1 != 1) { goto ldv_55576; } else { } { mode = nla_get_u16((struct nlattr const *)attr); } if ((unsigned int )mode == 1U) { reg = 0U; adapter->flags2 = adapter->flags2 & 4294965247U; } else if ((unsigned int )mode == 0U) { reg = 1U; adapter->flags2 = adapter->flags2 | 2048U; } else { return (-22); } { ixgbe_write_reg(& adapter->hw, 33312U, reg); } if ((int )adapter->msg_enable & 1) { { netdev_info((struct net_device const *)adapter->netdev, "enabling bridge mode: %s\n", (unsigned int )mode == 1U ? (char *)"VEPA" : (char *)"VEB"); } } else { } ldv_55576: { attr = nla_next((struct nlattr const *)attr, & rem); } ldv_55578: { tmp___2 = nla_ok((struct nlattr const *)attr, rem); } if (tmp___2 != 0) { goto ldv_55577; } else { } return (0); } } static int ixgbe_ndo_bridge_getlink(struct sk_buff *skb , u32 pid , u32 seq , struct net_device *dev , u32 filter_mask ) { struct ixgbe_adapter *adapter ; void *tmp ; u16 mode ; int tmp___0 ; { { tmp = netdev_priv((struct net_device const *)dev); adapter = (struct ixgbe_adapter *)tmp; } if ((adapter->flags & 8388608U) == 0U) { return (0); } else { } if ((adapter->flags2 & 2048U) != 0U) { mode = 0U; } else { mode = 1U; } { tmp___0 = ndo_dflt_bridge_getlink(skb, pid, seq, dev, (int )mode); } return (tmp___0); } } static void *ixgbe_fwd_add(struct net_device *pdev , struct net_device *vdev ) { struct ixgbe_fwd_adapter *fwd_adapter ; struct ixgbe_adapter *adapter ; void *tmp ; unsigned int limit ; int pool ; int err ; void *tmp___0 ; void *tmp___1 ; void *tmp___2 ; void *tmp___3 ; void *tmp___4 ; unsigned long tmp___5 ; unsigned long tmp___6 ; int tmp___7 ; void *tmp___8 ; { { fwd_adapter = (struct ixgbe_fwd_adapter *)0; tmp = netdev_priv((struct net_device const *)pdev); adapter = (struct ixgbe_adapter *)tmp; } if (vdev->num_rx_queues != vdev->num_tx_queues) { { netdev_info((struct net_device const *)pdev, "%s: Only supports a single queue count for TX and RX\n", (char *)(& vdev->name)); tmp___0 = ERR_PTR(-22L); } return (tmp___0); } else { } if (vdev->num_tx_queues > 4U || vdev->num_tx_queues == 3U) { { netdev_info((struct net_device const *)pdev, "%s: Supports RX/TX Queue counts 1,2, and 4\n", (char *)(& pdev->name)); tmp___1 = ERR_PTR(-22L); } return (tmp___1); } else { } if (((adapter->flags & 4096U) != 0U && adapter->num_rx_pools > 7) || adapter->num_rx_pools > 31) { { tmp___2 = ERR_PTR(-16L); } return (tmp___2); } else { } { tmp___3 = kcalloc(1UL, 544UL, 208U); fwd_adapter = (struct ixgbe_fwd_adapter *)tmp___3; } if ((unsigned long )fwd_adapter == (unsigned long )((struct ixgbe_fwd_adapter *)0)) { { tmp___4 = ERR_PTR(-12L); } return (tmp___4); } else { } { tmp___5 = find_first_zero_bit((unsigned long const *)(& adapter->fwd_bitmask), 32UL); pool = (int )tmp___5; adapter->num_rx_pools = adapter->num_rx_pools + 1; set_bit((long )pool, (unsigned long volatile *)(& adapter->fwd_bitmask)); tmp___6 = find_last_bit((unsigned long const *)(& adapter->fwd_bitmask), 32UL); limit = (unsigned int )tmp___6; adapter->flags = adapter->flags | 8404992U; adapter->ring_feature[1].limit = (unsigned int )((u16 )limit) + 1U; adapter->ring_feature[2].limit = (u16 )vdev->num_tx_queues; tmp___7 = netdev_get_num_tc(pdev); err = ixgbe_setup_tc(pdev, (int )((u8 )tmp___7)); } if (err != 0) { goto fwd_add_err; } else { } { fwd_adapter->pool = pool; fwd_adapter->real_adapter = adapter; err = ixgbe_fwd_ring_up(vdev, fwd_adapter); } if (err != 0) { goto fwd_add_err; } else { } { netif_tx_start_all_queues(vdev); } return ((void *)fwd_adapter); fwd_add_err: { netdev_info((struct net_device const *)pdev, "%s: dfwd hardware acceleration failed\n", (char *)(& vdev->name)); clear_bit((long )pool, (unsigned long volatile *)(& adapter->fwd_bitmask)); adapter->num_rx_pools = adapter->num_rx_pools - 1; kfree((void const *)fwd_adapter); tmp___8 = ERR_PTR((long )err); } return (tmp___8); } } static void ixgbe_fwd_del(struct net_device *pdev , void *priv ) { struct ixgbe_fwd_adapter *fwd_adapter ; struct ixgbe_adapter *adapter ; unsigned int limit ; unsigned long tmp ; int tmp___0 ; struct _ddebug descriptor ; long tmp___1 ; { { fwd_adapter = (struct ixgbe_fwd_adapter *)priv; adapter = fwd_adapter->real_adapter; clear_bit((long )fwd_adapter->pool, (unsigned long volatile *)(& adapter->fwd_bitmask)); adapter->num_rx_pools = adapter->num_rx_pools - 1; tmp = find_last_bit((unsigned long const *)(& adapter->fwd_bitmask), 32UL); limit = (unsigned int )tmp; adapter->ring_feature[1].limit = (unsigned int )((u16 )limit) + 1U; ixgbe_fwd_ring_down(fwd_adapter->netdev, fwd_adapter); tmp___0 = netdev_get_num_tc(pdev); ixgbe_setup_tc(pdev, (int )((u8 )tmp___0)); descriptor.modname = "ixgbe"; descriptor.function = "ixgbe_fwd_del"; descriptor.filename = "drivers/net/ethernet/intel/ixgbe/ixgbe_main.c"; descriptor.format = "pool %i:%i queues %i:%i VSI bitmask %lx\n"; descriptor.lineno = 7691U; descriptor.flags = 0U; tmp___1 = ldv__builtin_expect((long )descriptor.flags & 1L, 0L); } if (tmp___1 != 0L) { { __dynamic_netdev_dbg(& descriptor, (struct net_device const *)pdev, "pool %i:%i queues %i:%i VSI bitmask %lx\n", fwd_adapter->pool, adapter->num_rx_pools, fwd_adapter->rx_base_queue, fwd_adapter->rx_base_queue + (unsigned int )adapter->num_rx_queues_per_pool, adapter->fwd_bitmask); } } else { } { kfree((void const *)fwd_adapter); } return; } } static struct net_device_ops const ixgbe_netdev_ops = {0, 0, & ixgbe_open, & ixgbe_close, & ixgbe_xmit_frame, & ixgbe_select_queue, 0, & ixgbe_set_rx_mode, & ixgbe_set_mac, & eth_validate_addr, & ixgbe_ioctl, 0, & ixgbe_change_mtu, 0, & ixgbe_tx_timeout, & ixgbe_get_stats64, 0, & ixgbe_vlan_rx_add_vid, & ixgbe_vlan_rx_kill_vid, & ixgbe_netpoll, 0, 0, & ixgbe_low_latency_recv, & ixgbe_ndo_set_vf_mac, & ixgbe_ndo_set_vf_vlan, & ixgbe_ndo_set_vf_bw, & ixgbe_ndo_set_vf_spoofchk, & ixgbe_ndo_get_vf_config, 0, 0, 0, & ixgbe_setup_tc, & ixgbe_fcoe_enable, & ixgbe_fcoe_disable, & ixgbe_fcoe_ddp_get, & ixgbe_fcoe_ddp_put, & ixgbe_fcoe_ddp_target, & ixgbe_fcoe_get_hbainfo, & ixgbe_fcoe_get_wwn, 0, 0, 0, & ixgbe_fix_features, & ixgbe_set_features, 0, 0, & ixgbe_ndo_fdb_add, 0, 0, & ixgbe_ndo_bridge_setlink, & ixgbe_ndo_bridge_getlink, 0, 0, 0, 0, 0, & ixgbe_fwd_add, & ixgbe_fwd_del, 0}; __inline static int ixgbe_enumerate_functions(struct ixgbe_adapter *adapter ) { struct list_head *entry ; int physfns ; struct pci_dev *pdev ; struct list_head const *__mptr ; bool tmp ; { { physfns = 0; tmp = ixgbe_pcie_from_parent(& adapter->hw); } if ((int )tmp) { physfns = 4; } else { entry = (adapter->pdev)->bus_list.next; goto ldv_55618; ldv_55617: __mptr = (struct list_head const *)entry; pdev = (struct pci_dev *)__mptr; if ((unsigned int )*((unsigned char *)pdev + 2499UL) == 0U) { physfns = physfns + 1; } else { } entry = entry->next; ldv_55618: ; if ((unsigned long )entry != (unsigned long )(& (adapter->pdev)->bus_list)) { goto ldv_55617; } else { } } return (physfns); } } int ixgbe_wol_supported(struct ixgbe_adapter *adapter , u16 device_id , u16 subdevice_id ) { struct ixgbe_hw *hw ; u16 wol_cap ; int is_wol_supported ; { hw = & adapter->hw; wol_cap = (unsigned int )adapter->eeprom_cap & 12U; is_wol_supported = 0; { if ((int )device_id == 4347) { goto case_4347; } else { } if ((int )device_id == 5463) { goto case_5463; } else { } if ((int )device_id == 4344) { goto case_4344; } else { } if ((int )device_id == 4343) { goto case_4343; } else { } if ((int )device_id == 5416) { goto case_5416; } else { } if ((int )device_id == 5472) { goto case_5472; } else { } goto switch_break; case_4347: /* CIL Label */ ; { if ((int )subdevice_id == 6096) { goto case_6096; } else { } if ((int )subdevice_id == 8475) { goto case_8475; } else { } if ((int )subdevice_id == 4521) { goto case_4521; } else { } if ((int )subdevice_id == 8050) { goto case_8050; } else { } if ((int )subdevice_id == 1136) { goto case_1136; } else { } if ((int )subdevice_id == 35190) { goto case_35190; } else { } goto switch_break___0; case_6096: /* CIL Label */ ; if ((unsigned int )hw->bus.func != 0U) { goto ldv_55630; } else { } case_8475: /* CIL Label */ ; case_4521: /* CIL Label */ ; case_8050: /* CIL Label */ ; case_1136: /* CIL Label */ ; case_35190: /* CIL Label */ is_wol_supported = 1; goto ldv_55630; switch_break___0: /* CIL Label */ ; } ldv_55630: ; goto ldv_55636; case_5463: /* CIL Label */ ; { if ((int )subdevice_id == 1) { goto case_1; } else { } goto switch_break___1; case_1: /* CIL Label */ is_wol_supported = 1; goto ldv_55639; switch_break___1: /* CIL Label */ ; } ldv_55639: ; goto ldv_55636; case_4344: /* CIL Label */ ; if ((unsigned int )subdevice_id != 12U) { is_wol_supported = 1; } else { } goto ldv_55636; case_4343: /* CIL Label */ is_wol_supported = 1; goto ldv_55636; case_5416: /* CIL Label */ ; case_5472: /* CIL Label */ ; if ((unsigned int )wol_cap == 4U || ((unsigned int )wol_cap == 8U && (unsigned int )hw->bus.func == 0U)) { is_wol_supported = 1; } else { } goto ldv_55636; switch_break: /* CIL Label */ ; } ldv_55636: ; return (is_wol_supported); } } static int ixgbe_probe(struct pci_dev *pdev , struct pci_device_id const *ent ) { struct net_device *netdev ; struct ixgbe_adapter *adapter ; struct ixgbe_hw *hw ; struct ixgbe_info const *ii ; int cards_found ; int i ; int err ; int pci_using_dac ; int expected_gts ; unsigned int indices ; u8 part_str[11U] ; u16 device_caps ; u32 eec ; int __ret_warn_on ; char const *tmp ; long tmp___0 ; int tmp___1 ; int tmp___2 ; void *tmp___3 ; u32 tmp___4 ; void *tmp___5 ; char const *tmp___6 ; u32 esdp ; u32 tmp___7 ; unsigned int fcoe_l ; int __min1 ; int __min2 ; unsigned int tmp___8 ; s32 tmp___9 ; bool tmp___10 ; int tmp___11 ; struct lock_class_key __key ; struct lock_class_key __key___0 ; atomic_long_t __constr_expr_0 ; int tmp___12 ; bool tmp___13 ; int _min1 ; int tmp___14 ; int _min2 ; int tmp___15 ; bool tmp___16 ; int tmp___17 ; int tmp___18 ; int tmp___19 ; { adapter = (struct ixgbe_adapter *)0; ii = ixgbe_info_tbl[ent->driver_data]; indices = 64U; if ((unsigned int )*((unsigned char *)pdev + 2499UL) != 0U) { { __ret_warn_on = 1; tmp___0 = ldv__builtin_expect(__ret_warn_on != 0, 0L); } if (tmp___0 != 0L) { { tmp = pci_name((struct pci_dev const *)pdev); warn_slowpath_fmt("drivers/net/ethernet/intel/ixgbe/ixgbe_main.c", 7869, "\v%s (%hx:%hx) should not be a VF!\n", tmp, (int )pdev->vendor, (int )pdev->device); } } else { } { ldv__builtin_expect(__ret_warn_on != 0, 0L); } return (-22); } else { } { err = pci_enable_device_mem(pdev); } if (err != 0) { return (err); } else { } { tmp___1 = dma_set_mask_and_coherent(& pdev->dev, 0xffffffffffffffffULL); } if (tmp___1 == 0) { pci_using_dac = 1; } else { { err = dma_set_mask_and_coherent(& pdev->dev, 4294967295ULL); } if (err != 0) { { dev_err((struct device const *)(& pdev->dev), "No usable DMA configuration, aborting\n"); } goto err_dma; } else { } pci_using_dac = 0; } { tmp___2 = pci_select_bars(pdev, 512UL); err = pci_request_selected_regions(pdev, tmp___2, (char const *)(& ixgbe_driver_name)); } if (err != 0) { { dev_err((struct device const *)(& pdev->dev), "pci_request_selected_regions failed 0x%x\n", err); } goto err_pci_reg; } else { } { pci_enable_pcie_error_reporting(pdev); pci_set_master(pdev); pci_save_state(pdev); } if ((unsigned int )ii->mac == 1U) { indices = 32U; } else { } { netdev = ldv_alloc_etherdev_mqs_31(69632, indices, indices); } if ((unsigned long )netdev == (unsigned long )((struct net_device *)0)) { err = -12; goto err_alloc_etherdev; } else { } { netdev->dev.parent = & pdev->dev; tmp___3 = netdev_priv((struct net_device const *)netdev); adapter = (struct ixgbe_adapter *)tmp___3; pci_set_drvdata(pdev, (void *)adapter); adapter->netdev = netdev; adapter->pdev = pdev; hw = & adapter->hw; hw->back = (void *)adapter; tmp___4 = netif_msg_init(debug, 7); adapter->msg_enable = (u16 )tmp___4; tmp___5 = ioremap(pdev->resource[0].start, pdev->resource[0].start != 0ULL || pdev->resource[0].end != pdev->resource[0].start ? (unsigned long )((pdev->resource[0].end - pdev->resource[0].start) + 1ULL) : 0UL); hw->hw_addr = (u8 *)tmp___5; adapter->io_addr = hw->hw_addr; } if ((unsigned long )hw->hw_addr == (unsigned long )((u8 *)0U)) { err = -5; goto err_ioremap; } else { } { netdev->netdev_ops = & ixgbe_netdev_ops; ixgbe_set_ethtool_ops(netdev); netdev->watchdog_timeo = 1250; tmp___6 = pci_name((struct pci_dev const *)pdev); strncpy((char *)(& netdev->name), tmp___6, 15UL); adapter->bd_number = (u16 )cards_found; memcpy((void *)(& hw->mac.ops), (void const *)ii->mac_ops, 416UL); hw->mac.type = ii->mac; memcpy((void *)(& hw->eeprom.ops), (void const *)ii->eeprom_ops, 64UL); eec = ixgbe_read_reg(hw, 65552U); } if ((eec & 256U) == 0U) { hw->eeprom.ops.read = & ixgbe_read_eeprom_bit_bang_generic; } else { } { memcpy((void *)(& hw->phy.ops), (void const *)ii->phy_ops, 144UL); hw->phy.sfp_type = 65535; hw->phy.mdio.prtad = -1; hw->phy.mdio.mmds = 0U; hw->phy.mdio.mode_support = 6U; hw->phy.mdio.dev = netdev; hw->phy.mdio.mdio_read = & ixgbe_mdio_read; hw->phy.mdio.mdio_write = & ixgbe_mdio_write; (*(ii->get_invariants))(hw); err = ixgbe_sw_init(adapter); } if (err != 0) { goto err_sw_init; } else { } if ((unsigned long )hw->mac.ops.mng_fw_enabled != (unsigned long )((bool (*)(struct ixgbe_hw * ))0)) { { hw->mng_fw_enabled = (*(hw->mac.ops.mng_fw_enabled))(hw); } } else { } { if ((unsigned int )adapter->hw.mac.type == 2U) { goto case_2; } else { } if ((unsigned int )adapter->hw.mac.type == 3U) { goto case_3; } else { } goto switch_default; case_2: /* CIL Label */ ; case_3: /* CIL Label */ { ixgbe_write_reg(& adapter->hw, 22544U, 4294967295U); } goto ldv_55670; switch_default: /* CIL Label */ ; goto ldv_55670; switch_break: /* CIL Label */ ; } ldv_55670: ; if ((adapter->flags & 32768U) != 0U) { { tmp___7 = ixgbe_read_reg(hw, 32U); esdp = tmp___7; } if ((esdp & 2U) != 0U) { if (((int )adapter->msg_enable & 2) != 0) { { netdev_crit((struct net_device const *)adapter->netdev, "Fan has stopped, replace the adapter\n"); } } else { } } else { } } else { } if (allow_unsupported_sfp != 0U) { hw->allow_unsupported_sfp = allow_unsupported_sfp != 0U; } else { } { hw->phy.reset_if_overtemp = 1; err = (*(hw->mac.ops.reset_hw))(hw); hw->phy.reset_if_overtemp = 0; } if (err == -20 && (unsigned int )hw->mac.type == 1U) { err = 0; } else if (err == -19) { { dev_err((struct device const *)(& (adapter->pdev)->dev), "failed to load because an unsupported SFP+ or QSFP module type was detected.\n"); dev_err((struct device const *)(& (adapter->pdev)->dev), "Reload the driver after installing a supported module.\n"); } goto err_sw_init; } else if (err != 0) { { dev_err((struct device const *)(& (adapter->pdev)->dev), "HW Init failed: %d\n", err); } goto err_sw_init; } else { } if ((unsigned int )adapter->hw.mac.type == 1U) { goto skip_sriov; } else { } { ixgbe_init_mbx_params_pf(hw); memcpy((void *)(& hw->mbx.ops), (void const *)ii->mbx_ops, 64UL); pci_sriov_set_totalvfs(pdev, 63); ixgbe_enable_sriov(adapter); } skip_sriov: netdev->features = 6443565971ULL; netdev->hw_features = netdev->features | 1099511627776ULL; { if ((unsigned int )adapter->hw.mac.type == 2U) { goto case_2___0; } else { } if ((unsigned int )adapter->hw.mac.type == 3U) { goto case_3___0; } else { } goto switch_default___0; case_2___0: /* CIL Label */ ; case_3___0: /* CIL Label */ netdev->features = netdev->features | 268435456ULL; netdev->hw_features = netdev->hw_features | 1342177280ULL; goto ldv_55676; switch_default___0: /* CIL Label */ ; goto ldv_55676; switch_break___0: /* CIL Label */ ; } ldv_55676: netdev->hw_features = netdev->hw_features | 68719476736ULL; netdev->vlan_features = netdev->vlan_features | 65536ULL; netdev->vlan_features = netdev->vlan_features | 1048576ULL; netdev->vlan_features = netdev->vlan_features | 2ULL; netdev->vlan_features = netdev->vlan_features | 16ULL; netdev->vlan_features = netdev->vlan_features | 1ULL; netdev->priv_flags = netdev->priv_flags | 131072U; netdev->priv_flags = netdev->priv_flags | 524288U; netdev->dcbnl_ops = & dcbnl_ops; if ((adapter->flags & 1048576U) != 0U) { if ((unsigned long )hw->mac.ops.get_device_caps != (unsigned long )((s32 (*)(struct ixgbe_hw * , u16 * ))0)) { { (*(hw->mac.ops.get_device_caps))(hw, & device_caps); } if (((int )device_caps & 2) != 0) { adapter->flags = adapter->flags & 4293918719U; } else { } } else { } { __min1 = 8; tmp___8 = cpumask_weight(cpu_online_mask); __min2 = (int )tmp___8; fcoe_l = (unsigned int )(__min1 < __min2 ? __min1 : __min2); adapter->ring_feature[4].limit = (u16 )fcoe_l; netdev->features = netdev->features | 136314880ULL; netdev->vlan_features = netdev->vlan_features | 673185792ULL; } } else { } if (pci_using_dac != 0) { netdev->features = netdev->features | 32ULL; netdev->vlan_features = netdev->vlan_features | 32ULL; } else { } if ((int )adapter->flags2 & 1) { netdev->hw_features = netdev->hw_features | 32768ULL; } else { } if ((adapter->flags2 & 2U) != 0U) { netdev->features = netdev->features | 32768ULL; } else { } { tmp___9 = (*(hw->eeprom.ops.validate_checksum))(hw, (u16 *)0U); } if (tmp___9 < 0) { { dev_err((struct device const *)(& (adapter->pdev)->dev), "The EEPROM Checksum Is Not Valid\n"); err = -5; } goto err_sw_init; } else { } { memcpy((void *)netdev->dev_addr, (void const *)(& hw->mac.perm_addr), (size_t )netdev->addr_len); tmp___10 = is_valid_ether_addr((u8 const *)netdev->dev_addr); } if (tmp___10) { tmp___11 = 0; } else { tmp___11 = 1; } if (tmp___11) { { dev_err((struct device const *)(& (adapter->pdev)->dev), "invalid MAC address\n"); err = -5; } goto err_sw_init; } else { } { init_timer_key(& adapter->service_timer, 0U, "((&adapter->service_timer))", & __key); adapter->service_timer.function = & ixgbe_service_timer; adapter->service_timer.data = (unsigned long )adapter; __init_work(& adapter->service_task, 0); __constr_expr_0.counter = 137438953408L; adapter->service_task.data = __constr_expr_0; lockdep_init_map(& adapter->service_task.lockdep_map, "(&adapter->service_task)", & __key___0, 0); INIT_LIST_HEAD(& adapter->service_task.entry); adapter->service_task.func = & ixgbe_service_task; clear_bit(4L, (unsigned long volatile *)(& adapter->state)); err = ixgbe_init_interrupt_scheme(adapter); } if (err != 0) { goto err_sw_init; } else { } { adapter->wol = 0U; (*(hw->eeprom.ops.read))(hw, 44, & adapter->eeprom_cap); tmp___12 = ixgbe_wol_supported(adapter, (int )pdev->device, (int )pdev->subsystem_device); hw->wol_enabled = tmp___12 != 0; } if ((int )hw->wol_enabled) { adapter->wol = 2U; } else { } { device_set_wakeup_enable(& (adapter->pdev)->dev, adapter->wol != 0U); (*(hw->eeprom.ops.read))(hw, 46, & adapter->eeprom_verh); (*(hw->eeprom.ops.read))(hw, 45, & adapter->eeprom_verl); (*(hw->mac.ops.get_bus_info))(hw); tmp___13 = ixgbe_pcie_from_parent(hw); } if ((int )tmp___13) { { ixgbe_get_parent_bus_info(adapter); } } else { } { if ((unsigned int )hw->mac.type == 1U) { goto case_1; } else { } goto switch_default___1; case_1: /* CIL Label */ { tmp___14 = ixgbe_enumerate_functions(adapter); _min1 = tmp___14 * 10; _min2 = 16; expected_gts = _min1 < _min2 ? _min1 : _min2; } goto ldv_55689; switch_default___1: /* CIL Label */ { tmp___15 = ixgbe_enumerate_functions(adapter); expected_gts = tmp___15 * 10; } goto ldv_55689; switch_break___1: /* CIL Label */ ; } ldv_55689: { ixgbe_check_minimum_link(adapter, expected_gts); err = ixgbe_read_pba_string_generic(hw, (u8 *)(& part_str), 11U); } if (err != 0) { { strncpy((char *)(& part_str), "Unknown", 11UL); } } else { } { tmp___16 = ixgbe_is_sfp(hw); } if ((int )tmp___16 && (unsigned int )hw->phy.sfp_type != 65534U) { { _dev_info((struct device const *)(& (adapter->pdev)->dev), "MAC: %d, PHY: %d, SFP+: %d, PBA No: %s\n", (unsigned int )hw->mac.type, (unsigned int )hw->phy.type, (unsigned int )hw->phy.sfp_type, (u8 *)(& part_str)); } } else { { _dev_info((struct device const *)(& (adapter->pdev)->dev), "MAC: %d, PHY: %d, PBA No: %s\n", (unsigned int )hw->mac.type, (unsigned int )hw->phy.type, (u8 *)(& part_str)); } } { _dev_info((struct device const *)(& (adapter->pdev)->dev), "%pM\n", netdev->dev_addr); err = (*(hw->mac.ops.start_hw))(hw); } if (err == -24) { { dev_warn((struct device const *)(& (adapter->pdev)->dev), "This device is a pre-production adapter/LOM. Please be aware there may be issues associated with your hardware. If you are experiencing problems please contact your Intel or hardware representative who provided you with this hardware.\n"); } } else { } { strcpy((char *)(& netdev->name), "eth%d"); err = ldv_register_netdev_32(netdev); } if (err != 0) { goto err_register; } else { } if ((unsigned long )hw->mac.ops.disable_tx_laser != (unsigned long )((void (*)(struct ixgbe_hw * ))0)) { { (*(hw->mac.ops.disable_tx_laser))(hw); } } else { } { netif_carrier_off(netdev); tmp___17 = dca_add_requester(& pdev->dev); } if (tmp___17 == 0) { { adapter->flags = adapter->flags | 256U; ixgbe_setup_dca(adapter); } } else { } if ((adapter->flags & 8388608U) != 0U) { if (((int )adapter->msg_enable & 2) != 0) { { netdev_info((struct net_device const *)adapter->netdev, "IOV is enabled with %d VFs\n", adapter->num_vfs); } } else { } i = 0; goto ldv_55693; ldv_55692: { ixgbe_vf_configuration(pdev, (unsigned int )(i | 268435456)); i = i + 1; } ldv_55693: ; if ((unsigned int )i < adapter->num_vfs) { goto ldv_55692; } else { } } else { } if ((unsigned long )hw->mac.ops.set_fw_drv_ver != (unsigned long )((s32 (*)(struct ixgbe_hw * , u8 , u8 , u8 , u8 ))0)) { { (*(hw->mac.ops.set_fw_drv_ver))(hw, 255, 255, 255, 255); } } else { } { ixgbe_add_sanmac_netdev(netdev); _dev_info((struct device const *)(& (adapter->pdev)->dev), "%s\n", (char *)(& ixgbe_default_device_descr)); cards_found = cards_found + 1; tmp___18 = ixgbe_sysfs_init(adapter); } if (tmp___18 != 0) { if (((int )adapter->msg_enable & 2) != 0) { { netdev_err((struct net_device const *)adapter->netdev, "failed to allocate sysfs resources\n"); } } else { } } else { } { ixgbe_dbg_adapter_init(adapter); } if ((int )hw->mng_fw_enabled && (unsigned long )hw->mac.ops.setup_link != (unsigned long )((s32 (*)(struct ixgbe_hw * , ixgbe_link_speed , bool ))0)) { { (*(hw->mac.ops.setup_link))(hw, 160U, 1); } } else { } return (0); err_register: { ixgbe_release_hw_control(adapter); ixgbe_clear_interrupt_scheme(adapter); } err_sw_init: { ixgbe_disable_sriov(adapter); adapter->flags2 = adapter->flags2 & 4294967279U; iounmap((void volatile *)adapter->io_addr); } err_ioremap: { ldv_free_netdev_33(netdev); } err_alloc_etherdev: { tmp___19 = pci_select_bars(pdev, 512UL); pci_release_selected_regions(pdev, tmp___19); } err_pci_reg: ; err_dma: { pci_disable_device(pdev); } return (err); } } static void ixgbe_remove(struct pci_dev *pdev ) { struct ixgbe_adapter *adapter ; void *tmp ; struct net_device *netdev ; int tmp___0 ; { { tmp = pci_get_drvdata(pdev); adapter = (struct ixgbe_adapter *)tmp; netdev = adapter->netdev; ixgbe_dbg_adapter_exit(adapter); set_bit(3L, (unsigned long volatile *)(& adapter->state)); cancel_work_sync(& adapter->service_task); } if ((adapter->flags & 256U) != 0U) { { adapter->flags = adapter->flags & 4294967039U; dca_remove_requester(& pdev->dev); ixgbe_write_reg(& adapter->hw, 69748U, 1U); } } else { } { ixgbe_sysfs_exit(adapter); ixgbe_del_sanmac_netdev(netdev); } if ((unsigned int )netdev->reg_state == 1U) { { ldv_unregister_netdev_34(netdev); } } else { } if (max_vfs != 0U) { { ixgbe_disable_sriov(adapter); } } else { } { ixgbe_clear_interrupt_scheme(adapter); ixgbe_release_hw_control(adapter); kfree((void const *)adapter->ixgbe_ieee_pfc); kfree((void const *)adapter->ixgbe_ieee_ets); iounmap((void volatile *)adapter->io_addr); tmp___0 = pci_select_bars(pdev, 512UL); pci_release_selected_regions(pdev, tmp___0); _dev_info((struct device const *)(& (adapter->pdev)->dev), "complete\n"); ldv_free_netdev_35(netdev); pci_disable_pcie_error_reporting(pdev); pci_disable_device(pdev); } return; } } static pci_ers_result_t ixgbe_io_error_detected(struct pci_dev *pdev , pci_channel_state_t state ) { struct ixgbe_adapter *adapter ; void *tmp ; struct net_device *netdev ; struct pci_dev *bdev ; struct pci_dev *vfdev ; u32 dw0 ; u32 dw1 ; u32 dw2 ; u32 dw3 ; int vf ; int pos ; u16 req_id ; u16 pf_func ; int tmp___0 ; unsigned int device_id ; bool tmp___1 ; { { tmp = pci_get_drvdata(pdev); adapter = (struct ixgbe_adapter *)tmp; netdev = adapter->netdev; } if ((unsigned int )adapter->hw.mac.type == 1U || adapter->num_vfs == 0U) { goto skip_bad_vf_detection; } else { } bdev = (pdev->bus)->self; goto ldv_55718; ldv_55717: bdev = (bdev->bus)->self; ldv_55718: ; if ((unsigned long )bdev != (unsigned long )((struct pci_dev *)0)) { { tmp___0 = pci_pcie_type((struct pci_dev const *)bdev); } if (tmp___0 != 4) { goto ldv_55717; } else { goto ldv_55719; } } else { } ldv_55719: ; if ((unsigned long )bdev == (unsigned long )((struct pci_dev *)0)) { goto skip_bad_vf_detection; } else { } { pos = pci_find_ext_capability(bdev, 1); } if (pos == 0) { goto skip_bad_vf_detection; } else { } { pci_read_config_dword((struct pci_dev const *)bdev, pos + 28, & dw0); pci_read_config_dword((struct pci_dev const *)bdev, pos + 32, & dw1); pci_read_config_dword((struct pci_dev const *)bdev, pos + 36, & dw2); pci_read_config_dword((struct pci_dev const *)bdev, pos + 40, & dw3); req_id = (u16 )(dw1 >> 16); } if (((int )req_id & 128) == 0) { goto skip_bad_vf_detection; } else { } pf_func = (unsigned int )req_id & 1U; if ((((unsigned int )pf_func ^ pdev->devfn) & 1U) == 0U) { { vf = ((int )req_id & 127) >> 1; dev_err((struct device const *)(& (adapter->pdev)->dev), "VF %d has caused a PCIe error\n", vf); dev_err((struct device const *)(& (adapter->pdev)->dev), "TLP: dw0: %8.8x\tdw1: %8.8x\tdw2: %8.8x\tdw3: %8.8x\n", dw0, dw1, dw2, dw3); } { if ((unsigned int )adapter->hw.mac.type == 2U) { goto case_2; } else { } if ((unsigned int )adapter->hw.mac.type == 3U) { goto case_3; } else { } goto switch_default; case_2: /* CIL Label */ device_id = 4333U; goto ldv_55722; case_3: /* CIL Label */ device_id = 5397U; goto ldv_55722; switch_default: /* CIL Label */ device_id = 0U; goto ldv_55722; switch_break: /* CIL Label */ ; } ldv_55722: { vfdev = pci_get_device(32902U, device_id, (struct pci_dev *)0); } goto ldv_55727; ldv_55726: ; if (vfdev->devfn == ((unsigned int )req_id & 255U)) { goto ldv_55725; } else { } { vfdev = pci_get_device(32902U, device_id, vfdev); } ldv_55727: ; if ((unsigned long )vfdev != (unsigned long )((struct pci_dev *)0)) { goto ldv_55726; } else { } ldv_55725: ; if ((unsigned long )vfdev != (unsigned long )((struct pci_dev *)0)) { { dev_err((struct device const *)(& (adapter->pdev)->dev), "Issuing VFLR to VF %d\n", vf); pci_write_config_dword((struct pci_dev const *)vfdev, 168, 32768U); pci_dev_put(vfdev); } } else { } { pci_cleanup_aer_uncorrect_error_status(pdev); } } else { } adapter->vferr_refcount = adapter->vferr_refcount + 1U; return (5U); skip_bad_vf_detection: { netif_device_detach(netdev); } if (state == 3U) { return (4U); } else { } { tmp___1 = netif_running((struct net_device const *)netdev); } if ((int )tmp___1) { { ixgbe_down(adapter); } } else { } { pci_disable_device(pdev); } return (3U); } } static pci_ers_result_t ixgbe_io_slot_reset(struct pci_dev *pdev ) { struct ixgbe_adapter *adapter ; void *tmp ; pci_ers_result_t result ; int err ; int tmp___0 ; { { tmp = pci_get_drvdata(pdev); adapter = (struct ixgbe_adapter *)tmp; tmp___0 = pci_enable_device_mem(pdev); } if (tmp___0 != 0) { if (((int )adapter->msg_enable & 2) != 0) { { netdev_err((struct net_device const *)adapter->netdev, "Cannot re-enable PCI device after reset.\n"); } } else { } result = 4U; } else { { pci_set_master(pdev); pci_restore_state(pdev); pci_save_state(pdev); pci_wake_from_d3(pdev, 0); ixgbe_reset(adapter); ixgbe_write_reg(& adapter->hw, 22544U, 4294967295U); result = 5U; } } { err = pci_cleanup_aer_uncorrect_error_status(pdev); } if (err != 0) { { dev_err((struct device const *)(& (adapter->pdev)->dev), "pci_cleanup_aer_uncorrect_error_status failed 0x%0x\n", err); } } else { } return (result); } } static void ixgbe_io_resume(struct pci_dev *pdev ) { struct ixgbe_adapter *adapter ; void *tmp ; struct net_device *netdev ; bool tmp___0 ; { { tmp = pci_get_drvdata(pdev); adapter = (struct ixgbe_adapter *)tmp; netdev = adapter->netdev; } if (adapter->vferr_refcount != 0U) { if ((int )adapter->msg_enable & 1) { { netdev_info((struct net_device const *)adapter->netdev, "Resuming after VF err\n"); } } else { } adapter->vferr_refcount = adapter->vferr_refcount - 1U; return; } else { } { tmp___0 = netif_running((struct net_device const *)netdev); } if ((int )tmp___0) { { ixgbe_up(adapter); } } else { } { netif_device_attach(netdev); } return; } } static struct pci_error_handlers const ixgbe_err_handler = {(pci_ers_result_t (*)(struct pci_dev * , enum pci_channel_state ))(& ixgbe_io_error_detected), 0, 0, & ixgbe_io_slot_reset, & ixgbe_io_resume}; static struct pci_driver ixgbe_driver = {{0, 0}, (char const *)(& ixgbe_driver_name), (struct pci_device_id const *)(& ixgbe_pci_tbl), & ixgbe_probe, & ixgbe_remove, & ixgbe_suspend, 0, 0, & ixgbe_resume, & ixgbe_shutdown, & ixgbe_pci_sriov_configure, & ixgbe_err_handler, {0, 0, 0, 0, (_Bool)0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {{{{{{0U}}, 0U, 0U, 0, {0, {0, 0}, 0, 0, 0UL}}}}, {0, 0}}}; static int ixgbe_init_module(void) { int ret ; { { printk("\016ixgbe: %s - version %s\n", (char const *)(& ixgbe_driver_string), (char const *)(& ixgbe_driver_version)); printk("\016ixgbe: %s\n", (char const *)(& ixgbe_copyright)); ixgbe_dbg_init(); ret = ldv___pci_register_driver_36(& ixgbe_driver, & __this_module, "ixgbe"); } if (ret != 0) { { ixgbe_dbg_exit(); } return (ret); } else { } { ldv_dca_register_notify_37(& dca_notifier); } return (0); } } static void ixgbe_exit_module(void) { { { ldv_dca_unregister_notify_38(& dca_notifier); ldv_pci_unregister_driver_39(& ixgbe_driver); ixgbe_dbg_exit(); rcu_barrier(); } return; } } static int ixgbe_notify_dca(struct notifier_block *nb , unsigned long event , void *p ) { int ret_val ; { { ret_val = driver_for_each_device(& ixgbe_driver.driver, (struct device *)0, (void *)(& event), & __ixgbe_notify_dca); } return (ret_val != 0 ? 32770 : 0); } } void ldv_EMGentry_exit_ixgbe_exit_module_31_2(void (*arg0)(void) ) ; int ldv_EMGentry_init_ixgbe_init_module_31_11(int (*arg0)(void) ) ; int ldv___pci_register_driver(int arg0 , struct pci_driver *arg1 , struct module *arg2 , char *arg3 ) ; struct net_device *ldv_alloc_etherdev_mqs(struct net_device *arg0 , int arg1 , unsigned int arg2 , unsigned int arg3 ) ; void ldv_allocate_external_0(void) ; void ldv_dca_register_notify(void *arg0 , struct notifier_block *arg1 ) ; void ldv_dca_unregister_notify(void *arg0 , struct notifier_block *arg1 ) ; extern int ldv_del_timer_sync(int , struct timer_list * ) ; void ldv_dispatch_deregister_26_1(struct net_device *arg0 ) ; void ldv_dispatch_deregister_27_1(struct pci_driver *arg0 ) ; void ldv_dispatch_deregister_29_1(struct notifier_block *arg0 ) ; void ldv_dispatch_deregister_dummy_resourceless_instance_15_31_4(void) ; void ldv_dispatch_deregister_file_operations_instance_9_31_5(void) ; void ldv_dispatch_instance_register_20_2(struct timer_list *arg0 ) ; void ldv_dispatch_irq_register_22_2(int arg0 , enum irqreturn (*arg1)(int , void * ) , enum irqreturn (*arg2)(int , void * ) , void *arg3 ) ; void ldv_dispatch_irq_register_23_2(int arg0 , enum irqreturn (*arg1)(int , void * ) , enum irqreturn (*arg2)(int , void * ) , void *arg3 ) ; void ldv_dispatch_irq_register_24_2(int arg0 , enum irqreturn (*arg1)(int , void * ) , enum irqreturn (*arg2)(int , void * ) , void *arg3 ) ; void ldv_dispatch_register_21_4(struct net_device *arg0 ) ; void ldv_dispatch_register_28_2(struct pci_driver *arg0 ) ; void ldv_dispatch_register_30_1(struct notifier_block *arg0 ) ; void ldv_dispatch_register_dummy_resourceless_instance_15_31_6(void) ; void ldv_dispatch_register_file_operations_instance_9_31_7(void) ; void ldv_dummy_resourceless_instance_callback_10_101(int (*arg0)(struct ixgbe_hw * , unsigned int * , unsigned short , unsigned short ) , struct ixgbe_hw *arg1 , unsigned int *arg2 , unsigned short arg3 , unsigned short arg4 ) ; void ldv_dummy_resourceless_instance_callback_10_104(int (*arg0)(struct ixgbe_hw * , unsigned int , unsigned int , unsigned short * ) , struct ixgbe_hw *arg1 , unsigned int arg2 , unsigned int arg3 , unsigned short *arg4 ) ; void ldv_dummy_resourceless_instance_callback_10_107(int (*arg0)(struct ixgbe_hw * , unsigned int , unsigned int , unsigned short * ) , struct ixgbe_hw *arg1 , unsigned int arg2 , unsigned int arg3 , unsigned short *arg4 ) ; void ldv_dummy_resourceless_instance_callback_10_110(void (*arg0)(struct ixgbe_hw * , unsigned short ) , struct ixgbe_hw *arg1 , unsigned short arg2 ) ; void ldv_dummy_resourceless_instance_callback_10_113(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_10_114(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_10_115(int (*arg0)(struct ixgbe_hw * , unsigned char , unsigned char , unsigned char , unsigned char ) , struct ixgbe_hw *arg1 , unsigned char arg2 , unsigned char arg3 , unsigned char arg4 , unsigned char arg5 ) ; void ldv_dummy_resourceless_instance_callback_10_118(void (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_10_119(void (*arg0)(struct ixgbe_hw * , _Bool , int ) , struct ixgbe_hw *arg1 , _Bool arg2 , int arg3 ) ; void ldv_dummy_resourceless_instance_callback_10_12(int (*arg0)(struct ixgbe_hw * , unsigned int ) , struct ixgbe_hw *arg1 , unsigned int arg2 ) ; void ldv_dummy_resourceless_instance_callback_10_122(int (*arg0)(struct ixgbe_hw * , unsigned int , unsigned char * , unsigned int , unsigned int ) , struct ixgbe_hw *arg1 , unsigned int arg2 , unsigned char *arg3 , unsigned int arg4 , unsigned int arg5 ) ; void ldv_dummy_resourceless_instance_callback_10_125(void (*arg0)(struct ixgbe_hw * , int , unsigned int , int ) , struct ixgbe_hw *arg1 , int arg2 , unsigned int arg3 , int arg4 ) ; void ldv_dummy_resourceless_instance_callback_10_128(int (*arg0)(struct ixgbe_hw * , unsigned int , unsigned int , _Bool ) , struct ixgbe_hw *arg1 , unsigned int arg2 , unsigned int arg3 , _Bool arg4 ) ; void ldv_dummy_resourceless_instance_callback_10_131(void (*arg0)(struct ixgbe_hw * , _Bool , int ) , struct ixgbe_hw *arg1 , _Bool arg2 , int arg3 ) ; void ldv_dummy_resourceless_instance_callback_10_134(int (*arg0)(struct ixgbe_hw * , unsigned int , unsigned int ) , struct ixgbe_hw *arg1 , unsigned int arg2 , unsigned int arg3 ) ; void ldv_dummy_resourceless_instance_callback_10_137(int (*arg0)(struct ixgbe_hw * , unsigned int ) , struct ixgbe_hw *arg1 , unsigned int arg2 ) ; void ldv_dummy_resourceless_instance_callback_10_140(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_10_141(int (*arg0)(struct ixgbe_hw * , unsigned int , _Bool ) , struct ixgbe_hw *arg1 , unsigned int arg2 , _Bool arg3 ) ; void ldv_dummy_resourceless_instance_callback_10_144(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_10_145(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_10_146(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_10_147(void (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_10_148(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_10_149(int (*arg0)(struct ixgbe_hw * , struct net_device * ) , struct ixgbe_hw *arg1 , struct net_device *arg2 ) ; void ldv_dummy_resourceless_instance_callback_10_15(unsigned short (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_10_150(int (*arg0)(struct ixgbe_hw * , unsigned short * ) , struct ixgbe_hw *arg1 , unsigned short *arg2 ) ; void ldv_dummy_resourceless_instance_callback_10_153(int (*arg0)(struct ixgbe_hw * , unsigned int * , unsigned short , unsigned short ) , struct ixgbe_hw *arg1 , unsigned int *arg2 , unsigned short arg3 , unsigned short arg4 ) ; void ldv_dummy_resourceless_instance_callback_10_156(int (*arg0)(struct ixgbe_hw * , unsigned int , unsigned char ) , struct ixgbe_hw *arg1 , unsigned int arg2 , unsigned char arg3 ) ; void ldv_dummy_resourceless_instance_callback_10_159(int (*arg0)(struct ixgbe_hw * , unsigned short , unsigned short , unsigned short * ) , struct ixgbe_hw *arg1 , unsigned short arg2 , unsigned short arg3 , unsigned short *arg4 ) ; void ldv_dummy_resourceless_instance_callback_10_16(int (*arg0)(struct ixgbe_hw * , unsigned short ) , struct ixgbe_hw *arg1 , unsigned short arg2 ) ; void ldv_dummy_resourceless_instance_callback_10_162(int (*arg0)(struct ixgbe_hw * , unsigned char , unsigned char , unsigned char ) , struct ixgbe_hw *arg1 , unsigned char arg2 , unsigned char arg3 , unsigned char arg4 ) ; void ldv_dummy_resourceless_instance_callback_10_165(int (*arg0)(struct ixgbe_hw * , unsigned char , unsigned char ) , struct ixgbe_hw *arg1 , unsigned char arg2 , unsigned char arg3 ) ; void ldv_dummy_resourceless_instance_callback_10_168(int (*arg0)(struct ixgbe_hw * , unsigned int * , unsigned short , unsigned short ) , struct ixgbe_hw *arg1 , unsigned int *arg2 , unsigned short arg3 , unsigned short arg4 ) ; void ldv_dummy_resourceless_instance_callback_10_171(int (*arg0)(struct ixgbe_hw * , unsigned int , unsigned int , unsigned short ) , struct ixgbe_hw *arg1 , unsigned int arg2 , unsigned int arg3 , unsigned short arg4 ) ; void ldv_dummy_resourceless_instance_callback_10_174(int (*arg0)(struct ixgbe_hw * , unsigned int , unsigned int , unsigned short ) , struct ixgbe_hw *arg1 , unsigned int arg2 , unsigned int arg3 , unsigned short arg4 ) ; void ldv_dummy_resourceless_instance_callback_10_19(int (*arg0)(struct ixgbe_hw * , unsigned short ) , struct ixgbe_hw *arg1 , unsigned short arg2 ) ; void ldv_dummy_resourceless_instance_callback_10_22(int (*arg0)(struct ixgbe_hw * , unsigned short ) , struct ixgbe_hw *arg1 , unsigned short arg2 ) ; void ldv_dummy_resourceless_instance_callback_10_25(int (*arg0)(struct ixgbe_hw * , unsigned int * , _Bool * , _Bool ) , struct ixgbe_hw *arg1 , unsigned int *arg2 , _Bool *arg3 , _Bool arg4 ) ; void ldv_dummy_resourceless_instance_callback_10_28(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_10_29(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_10_3(int (*arg0)(struct ixgbe_hw * , unsigned short ) , struct ixgbe_hw *arg1 , unsigned short arg2 ) ; void ldv_dummy_resourceless_instance_callback_10_30(int (*arg0)(struct ixgbe_hw * , unsigned int ) , struct ixgbe_hw *arg1 , unsigned int arg2 ) ; void ldv_dummy_resourceless_instance_callback_10_33(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_10_34(int (*arg0)(struct ixgbe_hw * , unsigned int , unsigned int ) , struct ixgbe_hw *arg1 , unsigned int arg2 , unsigned int arg3 ) ; void ldv_dummy_resourceless_instance_callback_10_37(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_10_38(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_10_39(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_10_40(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_10_41(int (*arg0)(struct ixgbe_hw * , unsigned int ) , struct ixgbe_hw *arg1 , unsigned int arg2 ) ; void ldv_dummy_resourceless_instance_callback_10_44(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_10_45(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_10_46(int (*arg0)(struct ixgbe_hw * , unsigned short * ) , struct ixgbe_hw *arg1 , unsigned short *arg2 ) ; void ldv_dummy_resourceless_instance_callback_10_49(int (*arg0)(struct ixgbe_hw * , unsigned short * ) , struct ixgbe_hw *arg1 , unsigned short *arg2 ) ; void ldv_dummy_resourceless_instance_callback_10_52(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_10_53(int (*arg0)(struct ixgbe_hw * , unsigned int * , _Bool * ) , struct ixgbe_hw *arg1 , unsigned int *arg2 , _Bool *arg3 ) ; void ldv_dummy_resourceless_instance_callback_10_56(int (*arg0)(struct ixgbe_hw * , unsigned char * ) , struct ixgbe_hw *arg1 , unsigned char *arg2 ) ; void ldv_dummy_resourceless_instance_callback_10_59(enum ixgbe_media_type (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_10_60(int (*arg0)(struct ixgbe_hw * , unsigned char * ) , struct ixgbe_hw *arg1 , unsigned char *arg2 ) ; void ldv_dummy_resourceless_instance_callback_10_63(unsigned int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_10_64(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_10_65(int (*arg0)(struct ixgbe_hw * , unsigned short * , unsigned short * ) , struct ixgbe_hw *arg1 , unsigned short *arg2 , unsigned short *arg3 ) ; void ldv_dummy_resourceless_instance_callback_10_68(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_10_69(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_10_70(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_10_71(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_10_72(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_10_73(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_10_74(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_10_75(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_10_76(int (*arg0)(struct ixgbe_hw * , unsigned int ) , struct ixgbe_hw *arg1 , unsigned int arg2 ) ; void ldv_dummy_resourceless_instance_callback_10_79(int (*arg0)(struct ixgbe_hw * , unsigned int ) , struct ixgbe_hw *arg1 , unsigned int arg2 ) ; void ldv_dummy_resourceless_instance_callback_10_82(_Bool (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_10_83(int (*arg0)(struct ixgbe_hw * , unsigned int * , unsigned short , unsigned short ) , struct ixgbe_hw *arg1 , unsigned int *arg2 , unsigned short arg3 , unsigned short arg4 ) ; void ldv_dummy_resourceless_instance_callback_10_86(int (*arg0)(struct ixgbe_hw * , unsigned int , unsigned char * ) , struct ixgbe_hw *arg1 , unsigned int arg2 , unsigned char *arg3 ) ; void ldv_dummy_resourceless_instance_callback_10_89(int (*arg0)(struct ixgbe_hw * , unsigned short , unsigned short , unsigned short * ) , struct ixgbe_hw *arg1 , unsigned short arg2 , unsigned short arg3 , unsigned short *arg4 ) ; void ldv_dummy_resourceless_instance_callback_10_9(int (*arg0)(struct ixgbe_hw * , unsigned int ) , struct ixgbe_hw *arg1 , unsigned int arg2 ) ; void ldv_dummy_resourceless_instance_callback_10_92(int (*arg0)(struct ixgbe_hw * , unsigned char , unsigned char , unsigned char * ) , struct ixgbe_hw *arg1 , unsigned char arg2 , unsigned char arg3 , unsigned char *arg4 ) ; void ldv_dummy_resourceless_instance_callback_10_95(int (*arg0)(struct ixgbe_hw * , unsigned char , unsigned char * ) , struct ixgbe_hw *arg1 , unsigned char arg2 , unsigned char *arg3 ) ; void ldv_dummy_resourceless_instance_callback_10_98(int (*arg0)(struct ixgbe_hw * , unsigned char , unsigned char * ) , struct ixgbe_hw *arg1 , unsigned char arg2 , unsigned char *arg3 ) ; void ldv_dummy_resourceless_instance_callback_11_101(int (*arg0)(struct ixgbe_hw * , unsigned int * , unsigned short , unsigned short ) , struct ixgbe_hw *arg1 , unsigned int *arg2 , unsigned short arg3 , unsigned short arg4 ) ; void ldv_dummy_resourceless_instance_callback_11_104(int (*arg0)(struct ixgbe_hw * , unsigned int , unsigned int , unsigned short * ) , struct ixgbe_hw *arg1 , unsigned int arg2 , unsigned int arg3 , unsigned short *arg4 ) ; void ldv_dummy_resourceless_instance_callback_11_107(int (*arg0)(struct ixgbe_hw * , unsigned int , unsigned int , unsigned short * ) , struct ixgbe_hw *arg1 , unsigned int arg2 , unsigned int arg3 , unsigned short *arg4 ) ; void ldv_dummy_resourceless_instance_callback_11_110(void (*arg0)(struct ixgbe_hw * , unsigned short ) , struct ixgbe_hw *arg1 , unsigned short arg2 ) ; void ldv_dummy_resourceless_instance_callback_11_113(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_11_114(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_11_115(int (*arg0)(struct ixgbe_hw * , unsigned char , unsigned char , unsigned char , unsigned char ) , struct ixgbe_hw *arg1 , unsigned char arg2 , unsigned char arg3 , unsigned char arg4 , unsigned char arg5 ) ; void ldv_dummy_resourceless_instance_callback_11_118(void (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_11_119(void (*arg0)(struct ixgbe_hw * , _Bool , int ) , struct ixgbe_hw *arg1 , _Bool arg2 , int arg3 ) ; void ldv_dummy_resourceless_instance_callback_11_12(int (*arg0)(struct ixgbe_hw * , unsigned int ) , struct ixgbe_hw *arg1 , unsigned int arg2 ) ; void ldv_dummy_resourceless_instance_callback_11_122(int (*arg0)(struct ixgbe_hw * , unsigned int , unsigned char * , unsigned int , unsigned int ) , struct ixgbe_hw *arg1 , unsigned int arg2 , unsigned char *arg3 , unsigned int arg4 , unsigned int arg5 ) ; void ldv_dummy_resourceless_instance_callback_11_125(void (*arg0)(struct ixgbe_hw * , int , unsigned int , int ) , struct ixgbe_hw *arg1 , int arg2 , unsigned int arg3 , int arg4 ) ; void ldv_dummy_resourceless_instance_callback_11_128(int (*arg0)(struct ixgbe_hw * , unsigned int , unsigned int , _Bool ) , struct ixgbe_hw *arg1 , unsigned int arg2 , unsigned int arg3 , _Bool arg4 ) ; void ldv_dummy_resourceless_instance_callback_11_131(void (*arg0)(struct ixgbe_hw * , _Bool , int ) , struct ixgbe_hw *arg1 , _Bool arg2 , int arg3 ) ; void ldv_dummy_resourceless_instance_callback_11_134(int (*arg0)(struct ixgbe_hw * , unsigned int , unsigned int ) , struct ixgbe_hw *arg1 , unsigned int arg2 , unsigned int arg3 ) ; void ldv_dummy_resourceless_instance_callback_11_137(int (*arg0)(struct ixgbe_hw * , unsigned int ) , struct ixgbe_hw *arg1 , unsigned int arg2 ) ; void ldv_dummy_resourceless_instance_callback_11_140(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_11_141(int (*arg0)(struct ixgbe_hw * , unsigned int , _Bool ) , struct ixgbe_hw *arg1 , unsigned int arg2 , _Bool arg3 ) ; void ldv_dummy_resourceless_instance_callback_11_144(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_11_145(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_11_146(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_11_147(void (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_11_148(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_11_149(int (*arg0)(struct ixgbe_hw * , struct net_device * ) , struct ixgbe_hw *arg1 , struct net_device *arg2 ) ; void ldv_dummy_resourceless_instance_callback_11_15(unsigned short (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_11_150(int (*arg0)(struct ixgbe_hw * , unsigned short * ) , struct ixgbe_hw *arg1 , unsigned short *arg2 ) ; void ldv_dummy_resourceless_instance_callback_11_153(int (*arg0)(struct ixgbe_hw * , unsigned int * , unsigned short , unsigned short ) , struct ixgbe_hw *arg1 , unsigned int *arg2 , unsigned short arg3 , unsigned short arg4 ) ; void ldv_dummy_resourceless_instance_callback_11_156(int (*arg0)(struct ixgbe_hw * , unsigned int , unsigned char ) , struct ixgbe_hw *arg1 , unsigned int arg2 , unsigned char arg3 ) ; void ldv_dummy_resourceless_instance_callback_11_159(int (*arg0)(struct ixgbe_hw * , unsigned short , unsigned short , unsigned short * ) , struct ixgbe_hw *arg1 , unsigned short arg2 , unsigned short arg3 , unsigned short *arg4 ) ; void ldv_dummy_resourceless_instance_callback_11_16(int (*arg0)(struct ixgbe_hw * , unsigned short ) , struct ixgbe_hw *arg1 , unsigned short arg2 ) ; void ldv_dummy_resourceless_instance_callback_11_162(int (*arg0)(struct ixgbe_hw * , unsigned char , unsigned char , unsigned char ) , struct ixgbe_hw *arg1 , unsigned char arg2 , unsigned char arg3 , unsigned char arg4 ) ; void ldv_dummy_resourceless_instance_callback_11_165(int (*arg0)(struct ixgbe_hw * , unsigned char , unsigned char ) , struct ixgbe_hw *arg1 , unsigned char arg2 , unsigned char arg3 ) ; void ldv_dummy_resourceless_instance_callback_11_168(int (*arg0)(struct ixgbe_hw * , unsigned int * , unsigned short , unsigned short ) , struct ixgbe_hw *arg1 , unsigned int *arg2 , unsigned short arg3 , unsigned short arg4 ) ; void ldv_dummy_resourceless_instance_callback_11_171(int (*arg0)(struct ixgbe_hw * , unsigned int , unsigned int , unsigned short ) , struct ixgbe_hw *arg1 , unsigned int arg2 , unsigned int arg3 , unsigned short arg4 ) ; void ldv_dummy_resourceless_instance_callback_11_174(int (*arg0)(struct ixgbe_hw * , unsigned int , unsigned int , unsigned short ) , struct ixgbe_hw *arg1 , unsigned int arg2 , unsigned int arg3 , unsigned short arg4 ) ; void ldv_dummy_resourceless_instance_callback_11_19(int (*arg0)(struct ixgbe_hw * , unsigned short ) , struct ixgbe_hw *arg1 , unsigned short arg2 ) ; void ldv_dummy_resourceless_instance_callback_11_22(int (*arg0)(struct ixgbe_hw * , unsigned short ) , struct ixgbe_hw *arg1 , unsigned short arg2 ) ; void ldv_dummy_resourceless_instance_callback_11_25(int (*arg0)(struct ixgbe_hw * , unsigned int * , _Bool * , _Bool ) , struct ixgbe_hw *arg1 , unsigned int *arg2 , _Bool *arg3 , _Bool arg4 ) ; void ldv_dummy_resourceless_instance_callback_11_28(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_11_29(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_11_3(int (*arg0)(struct ixgbe_hw * , unsigned short ) , struct ixgbe_hw *arg1 , unsigned short arg2 ) ; void ldv_dummy_resourceless_instance_callback_11_30(int (*arg0)(struct ixgbe_hw * , unsigned int ) , struct ixgbe_hw *arg1 , unsigned int arg2 ) ; void ldv_dummy_resourceless_instance_callback_11_33(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_11_34(int (*arg0)(struct ixgbe_hw * , unsigned int , unsigned int ) , struct ixgbe_hw *arg1 , unsigned int arg2 , unsigned int arg3 ) ; void ldv_dummy_resourceless_instance_callback_11_37(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_11_38(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_11_39(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_11_40(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_11_41(int (*arg0)(struct ixgbe_hw * , unsigned int ) , struct ixgbe_hw *arg1 , unsigned int arg2 ) ; void ldv_dummy_resourceless_instance_callback_11_44(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_11_45(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_11_46(int (*arg0)(struct ixgbe_hw * , unsigned short * ) , struct ixgbe_hw *arg1 , unsigned short *arg2 ) ; void ldv_dummy_resourceless_instance_callback_11_49(int (*arg0)(struct ixgbe_hw * , unsigned short * ) , struct ixgbe_hw *arg1 , unsigned short *arg2 ) ; void ldv_dummy_resourceless_instance_callback_11_52(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_11_53(int (*arg0)(struct ixgbe_hw * , unsigned int * , _Bool * ) , struct ixgbe_hw *arg1 , unsigned int *arg2 , _Bool *arg3 ) ; void ldv_dummy_resourceless_instance_callback_11_56(int (*arg0)(struct ixgbe_hw * , unsigned char * ) , struct ixgbe_hw *arg1 , unsigned char *arg2 ) ; void ldv_dummy_resourceless_instance_callback_11_59(enum ixgbe_media_type (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_11_60(int (*arg0)(struct ixgbe_hw * , unsigned char * ) , struct ixgbe_hw *arg1 , unsigned char *arg2 ) ; void ldv_dummy_resourceless_instance_callback_11_63(unsigned int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_11_64(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_11_65(int (*arg0)(struct ixgbe_hw * , unsigned short * , unsigned short * ) , struct ixgbe_hw *arg1 , unsigned short *arg2 , unsigned short *arg3 ) ; void ldv_dummy_resourceless_instance_callback_11_68(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_11_69(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_11_70(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_11_71(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_11_72(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_11_73(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_11_74(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_11_75(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_11_76(int (*arg0)(struct ixgbe_hw * , unsigned int ) , struct ixgbe_hw *arg1 , unsigned int arg2 ) ; void ldv_dummy_resourceless_instance_callback_11_79(int (*arg0)(struct ixgbe_hw * , unsigned int ) , struct ixgbe_hw *arg1 , unsigned int arg2 ) ; void ldv_dummy_resourceless_instance_callback_11_82(_Bool (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_11_83(int (*arg0)(struct ixgbe_hw * , unsigned int * , unsigned short , unsigned short ) , struct ixgbe_hw *arg1 , unsigned int *arg2 , unsigned short arg3 , unsigned short arg4 ) ; void ldv_dummy_resourceless_instance_callback_11_86(int (*arg0)(struct ixgbe_hw * , unsigned int , unsigned char * ) , struct ixgbe_hw *arg1 , unsigned int arg2 , unsigned char *arg3 ) ; void ldv_dummy_resourceless_instance_callback_11_89(int (*arg0)(struct ixgbe_hw * , unsigned short , unsigned short , unsigned short * ) , struct ixgbe_hw *arg1 , unsigned short arg2 , unsigned short arg3 , unsigned short *arg4 ) ; void ldv_dummy_resourceless_instance_callback_11_9(int (*arg0)(struct ixgbe_hw * , unsigned int ) , struct ixgbe_hw *arg1 , unsigned int arg2 ) ; void ldv_dummy_resourceless_instance_callback_11_92(int (*arg0)(struct ixgbe_hw * , unsigned char , unsigned char , unsigned char * ) , struct ixgbe_hw *arg1 , unsigned char arg2 , unsigned char arg3 , unsigned char *arg4 ) ; void ldv_dummy_resourceless_instance_callback_11_95(int (*arg0)(struct ixgbe_hw * , unsigned char , unsigned char * ) , struct ixgbe_hw *arg1 , unsigned char arg2 , unsigned char *arg3 ) ; void ldv_dummy_resourceless_instance_callback_11_98(int (*arg0)(struct ixgbe_hw * , unsigned char , unsigned char * ) , struct ixgbe_hw *arg1 , unsigned char arg2 , unsigned char *arg3 ) ; void ldv_dummy_resourceless_instance_callback_12_101(int (*arg0)(struct ixgbe_hw * , unsigned int * , unsigned short , unsigned short ) , struct ixgbe_hw *arg1 , unsigned int *arg2 , unsigned short arg3 , unsigned short arg4 ) ; void ldv_dummy_resourceless_instance_callback_12_104(int (*arg0)(struct ixgbe_hw * , unsigned int , unsigned int , unsigned short * ) , struct ixgbe_hw *arg1 , unsigned int arg2 , unsigned int arg3 , unsigned short *arg4 ) ; void ldv_dummy_resourceless_instance_callback_12_107(int (*arg0)(struct ixgbe_hw * , unsigned int , unsigned int , unsigned short * ) , struct ixgbe_hw *arg1 , unsigned int arg2 , unsigned int arg3 , unsigned short *arg4 ) ; void ldv_dummy_resourceless_instance_callback_12_110(void (*arg0)(struct ixgbe_hw * , unsigned short ) , struct ixgbe_hw *arg1 , unsigned short arg2 ) ; void ldv_dummy_resourceless_instance_callback_12_113(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_12_114(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_12_115(int (*arg0)(struct ixgbe_hw * , unsigned char , unsigned char , unsigned char , unsigned char ) , struct ixgbe_hw *arg1 , unsigned char arg2 , unsigned char arg3 , unsigned char arg4 , unsigned char arg5 ) ; void ldv_dummy_resourceless_instance_callback_12_118(void (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_12_119(void (*arg0)(struct ixgbe_hw * , _Bool , int ) , struct ixgbe_hw *arg1 , _Bool arg2 , int arg3 ) ; void ldv_dummy_resourceless_instance_callback_12_12(int (*arg0)(struct ixgbe_hw * , unsigned int ) , struct ixgbe_hw *arg1 , unsigned int arg2 ) ; void ldv_dummy_resourceless_instance_callback_12_122(int (*arg0)(struct ixgbe_hw * , unsigned int , unsigned char * , unsigned int , unsigned int ) , struct ixgbe_hw *arg1 , unsigned int arg2 , unsigned char *arg3 , unsigned int arg4 , unsigned int arg5 ) ; void ldv_dummy_resourceless_instance_callback_12_125(void (*arg0)(struct ixgbe_hw * , int , unsigned int , int ) , struct ixgbe_hw *arg1 , int arg2 , unsigned int arg3 , int arg4 ) ; void ldv_dummy_resourceless_instance_callback_12_128(int (*arg0)(struct ixgbe_hw * , unsigned int , unsigned int , _Bool ) , struct ixgbe_hw *arg1 , unsigned int arg2 , unsigned int arg3 , _Bool arg4 ) ; void ldv_dummy_resourceless_instance_callback_12_131(void (*arg0)(struct ixgbe_hw * , _Bool , int ) , struct ixgbe_hw *arg1 , _Bool arg2 , int arg3 ) ; void ldv_dummy_resourceless_instance_callback_12_134(int (*arg0)(struct ixgbe_hw * , unsigned int , unsigned int ) , struct ixgbe_hw *arg1 , unsigned int arg2 , unsigned int arg3 ) ; void ldv_dummy_resourceless_instance_callback_12_137(int (*arg0)(struct ixgbe_hw * , unsigned int ) , struct ixgbe_hw *arg1 , unsigned int arg2 ) ; void ldv_dummy_resourceless_instance_callback_12_140(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_12_141(int (*arg0)(struct ixgbe_hw * , unsigned int , _Bool ) , struct ixgbe_hw *arg1 , unsigned int arg2 , _Bool arg3 ) ; void ldv_dummy_resourceless_instance_callback_12_144(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_12_145(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_12_146(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_12_147(void (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_12_148(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_12_149(int (*arg0)(struct ixgbe_hw * , struct net_device * ) , struct ixgbe_hw *arg1 , struct net_device *arg2 ) ; void ldv_dummy_resourceless_instance_callback_12_15(unsigned short (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_12_150(int (*arg0)(struct ixgbe_hw * , unsigned short * ) , struct ixgbe_hw *arg1 , unsigned short *arg2 ) ; void ldv_dummy_resourceless_instance_callback_12_153(int (*arg0)(struct ixgbe_hw * , unsigned int * , unsigned short , unsigned short ) , struct ixgbe_hw *arg1 , unsigned int *arg2 , unsigned short arg3 , unsigned short arg4 ) ; void ldv_dummy_resourceless_instance_callback_12_156(int (*arg0)(struct ixgbe_hw * , unsigned int , unsigned char ) , struct ixgbe_hw *arg1 , unsigned int arg2 , unsigned char arg3 ) ; void ldv_dummy_resourceless_instance_callback_12_159(int (*arg0)(struct ixgbe_hw * , unsigned short , unsigned short , unsigned short * ) , struct ixgbe_hw *arg1 , unsigned short arg2 , unsigned short arg3 , unsigned short *arg4 ) ; void ldv_dummy_resourceless_instance_callback_12_16(int (*arg0)(struct ixgbe_hw * , unsigned short ) , struct ixgbe_hw *arg1 , unsigned short arg2 ) ; void ldv_dummy_resourceless_instance_callback_12_162(int (*arg0)(struct ixgbe_hw * , unsigned char , unsigned char , unsigned char ) , struct ixgbe_hw *arg1 , unsigned char arg2 , unsigned char arg3 , unsigned char arg4 ) ; void ldv_dummy_resourceless_instance_callback_12_165(int (*arg0)(struct ixgbe_hw * , unsigned char , unsigned char ) , struct ixgbe_hw *arg1 , unsigned char arg2 , unsigned char arg3 ) ; void ldv_dummy_resourceless_instance_callback_12_168(int (*arg0)(struct ixgbe_hw * , unsigned int * , unsigned short , unsigned short ) , struct ixgbe_hw *arg1 , unsigned int *arg2 , unsigned short arg3 , unsigned short arg4 ) ; void ldv_dummy_resourceless_instance_callback_12_171(int (*arg0)(struct ixgbe_hw * , unsigned int , unsigned int , unsigned short ) , struct ixgbe_hw *arg1 , unsigned int arg2 , unsigned int arg3 , unsigned short arg4 ) ; void ldv_dummy_resourceless_instance_callback_12_174(int (*arg0)(struct ixgbe_hw * , unsigned int , unsigned int , unsigned short ) , struct ixgbe_hw *arg1 , unsigned int arg2 , unsigned int arg3 , unsigned short arg4 ) ; void ldv_dummy_resourceless_instance_callback_12_19(int (*arg0)(struct ixgbe_hw * , unsigned short ) , struct ixgbe_hw *arg1 , unsigned short arg2 ) ; void ldv_dummy_resourceless_instance_callback_12_22(int (*arg0)(struct ixgbe_hw * , unsigned short ) , struct ixgbe_hw *arg1 , unsigned short arg2 ) ; void ldv_dummy_resourceless_instance_callback_12_25(int (*arg0)(struct ixgbe_hw * , unsigned int * , _Bool * , _Bool ) , struct ixgbe_hw *arg1 , unsigned int *arg2 , _Bool *arg3 , _Bool arg4 ) ; void ldv_dummy_resourceless_instance_callback_12_28(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_12_29(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_12_3(int (*arg0)(struct ixgbe_hw * , unsigned short ) , struct ixgbe_hw *arg1 , unsigned short arg2 ) ; void ldv_dummy_resourceless_instance_callback_12_30(int (*arg0)(struct ixgbe_hw * , unsigned int ) , struct ixgbe_hw *arg1 , unsigned int arg2 ) ; void ldv_dummy_resourceless_instance_callback_12_33(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_12_34(int (*arg0)(struct ixgbe_hw * , unsigned int , unsigned int ) , struct ixgbe_hw *arg1 , unsigned int arg2 , unsigned int arg3 ) ; void ldv_dummy_resourceless_instance_callback_12_37(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_12_38(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_12_39(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_12_40(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_12_41(int (*arg0)(struct ixgbe_hw * , unsigned int ) , struct ixgbe_hw *arg1 , unsigned int arg2 ) ; void ldv_dummy_resourceless_instance_callback_12_44(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_12_45(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_12_46(int (*arg0)(struct ixgbe_hw * , unsigned short * ) , struct ixgbe_hw *arg1 , unsigned short *arg2 ) ; void ldv_dummy_resourceless_instance_callback_12_49(int (*arg0)(struct ixgbe_hw * , unsigned short * ) , struct ixgbe_hw *arg1 , unsigned short *arg2 ) ; void ldv_dummy_resourceless_instance_callback_12_52(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_12_53(int (*arg0)(struct ixgbe_hw * , unsigned int * , _Bool * ) , struct ixgbe_hw *arg1 , unsigned int *arg2 , _Bool *arg3 ) ; void ldv_dummy_resourceless_instance_callback_12_56(int (*arg0)(struct ixgbe_hw * , unsigned char * ) , struct ixgbe_hw *arg1 , unsigned char *arg2 ) ; void ldv_dummy_resourceless_instance_callback_12_59(enum ixgbe_media_type (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_12_60(int (*arg0)(struct ixgbe_hw * , unsigned char * ) , struct ixgbe_hw *arg1 , unsigned char *arg2 ) ; void ldv_dummy_resourceless_instance_callback_12_63(unsigned int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_12_64(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_12_65(int (*arg0)(struct ixgbe_hw * , unsigned short * , unsigned short * ) , struct ixgbe_hw *arg1 , unsigned short *arg2 , unsigned short *arg3 ) ; void ldv_dummy_resourceless_instance_callback_12_68(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_12_69(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_12_70(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_12_71(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_12_72(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_12_73(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_12_74(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_12_75(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_12_76(int (*arg0)(struct ixgbe_hw * , unsigned int ) , struct ixgbe_hw *arg1 , unsigned int arg2 ) ; void ldv_dummy_resourceless_instance_callback_12_79(int (*arg0)(struct ixgbe_hw * , unsigned int ) , struct ixgbe_hw *arg1 , unsigned int arg2 ) ; void ldv_dummy_resourceless_instance_callback_12_82(_Bool (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_12_83(int (*arg0)(struct ixgbe_hw * , unsigned int * , unsigned short , unsigned short ) , struct ixgbe_hw *arg1 , unsigned int *arg2 , unsigned short arg3 , unsigned short arg4 ) ; void ldv_dummy_resourceless_instance_callback_12_86(int (*arg0)(struct ixgbe_hw * , unsigned int , unsigned char * ) , struct ixgbe_hw *arg1 , unsigned int arg2 , unsigned char *arg3 ) ; void ldv_dummy_resourceless_instance_callback_12_89(int (*arg0)(struct ixgbe_hw * , unsigned short , unsigned short , unsigned short * ) , struct ixgbe_hw *arg1 , unsigned short arg2 , unsigned short arg3 , unsigned short *arg4 ) ; void ldv_dummy_resourceless_instance_callback_12_9(int (*arg0)(struct ixgbe_hw * , unsigned int ) , struct ixgbe_hw *arg1 , unsigned int arg2 ) ; void ldv_dummy_resourceless_instance_callback_12_92(int (*arg0)(struct ixgbe_hw * , unsigned char , unsigned char , unsigned char * ) , struct ixgbe_hw *arg1 , unsigned char arg2 , unsigned char arg3 , unsigned char *arg4 ) ; void ldv_dummy_resourceless_instance_callback_12_95(int (*arg0)(struct ixgbe_hw * , unsigned char , unsigned char * ) , struct ixgbe_hw *arg1 , unsigned char arg2 , unsigned char *arg3 ) ; void ldv_dummy_resourceless_instance_callback_12_98(int (*arg0)(struct ixgbe_hw * , unsigned char , unsigned char * ) , struct ixgbe_hw *arg1 , unsigned char arg2 , unsigned char *arg3 ) ; void ldv_dummy_resourceless_instance_callback_13_101(int (*arg0)(struct ixgbe_hw * , unsigned int * , unsigned short , unsigned short ) , struct ixgbe_hw *arg1 , unsigned int *arg2 , unsigned short arg3 , unsigned short arg4 ) ; void ldv_dummy_resourceless_instance_callback_13_104(int (*arg0)(struct ixgbe_hw * , unsigned int , unsigned int , unsigned short * ) , struct ixgbe_hw *arg1 , unsigned int arg2 , unsigned int arg3 , unsigned short *arg4 ) ; void ldv_dummy_resourceless_instance_callback_13_107(int (*arg0)(struct ixgbe_hw * , unsigned int , unsigned int , unsigned short * ) , struct ixgbe_hw *arg1 , unsigned int arg2 , unsigned int arg3 , unsigned short *arg4 ) ; void ldv_dummy_resourceless_instance_callback_13_110(void (*arg0)(struct ixgbe_hw * , unsigned short ) , struct ixgbe_hw *arg1 , unsigned short arg2 ) ; void ldv_dummy_resourceless_instance_callback_13_113(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_13_114(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_13_115(int (*arg0)(struct ixgbe_hw * , unsigned char , unsigned char , unsigned char , unsigned char ) , struct ixgbe_hw *arg1 , unsigned char arg2 , unsigned char arg3 , unsigned char arg4 , unsigned char arg5 ) ; void ldv_dummy_resourceless_instance_callback_13_118(void (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_13_119(void (*arg0)(struct ixgbe_hw * , _Bool , int ) , struct ixgbe_hw *arg1 , _Bool arg2 , int arg3 ) ; void ldv_dummy_resourceless_instance_callback_13_12(int (*arg0)(struct ixgbe_hw * , unsigned int ) , struct ixgbe_hw *arg1 , unsigned int arg2 ) ; void ldv_dummy_resourceless_instance_callback_13_122(int (*arg0)(struct ixgbe_hw * , unsigned int , unsigned char * , unsigned int , unsigned int ) , struct ixgbe_hw *arg1 , unsigned int arg2 , unsigned char *arg3 , unsigned int arg4 , unsigned int arg5 ) ; void ldv_dummy_resourceless_instance_callback_13_125(void (*arg0)(struct ixgbe_hw * , int , unsigned int , int ) , struct ixgbe_hw *arg1 , int arg2 , unsigned int arg3 , int arg4 ) ; void ldv_dummy_resourceless_instance_callback_13_128(int (*arg0)(struct ixgbe_hw * , unsigned int , unsigned int , _Bool ) , struct ixgbe_hw *arg1 , unsigned int arg2 , unsigned int arg3 , _Bool arg4 ) ; void ldv_dummy_resourceless_instance_callback_13_131(void (*arg0)(struct ixgbe_hw * , _Bool , int ) , struct ixgbe_hw *arg1 , _Bool arg2 , int arg3 ) ; void ldv_dummy_resourceless_instance_callback_13_134(int (*arg0)(struct ixgbe_hw * , unsigned int , unsigned int ) , struct ixgbe_hw *arg1 , unsigned int arg2 , unsigned int arg3 ) ; void ldv_dummy_resourceless_instance_callback_13_137(int (*arg0)(struct ixgbe_hw * , unsigned int ) , struct ixgbe_hw *arg1 , unsigned int arg2 ) ; void ldv_dummy_resourceless_instance_callback_13_140(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_13_141(int (*arg0)(struct ixgbe_hw * , unsigned int , _Bool ) , struct ixgbe_hw *arg1 , unsigned int arg2 , _Bool arg3 ) ; void ldv_dummy_resourceless_instance_callback_13_144(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_13_145(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_13_146(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_13_147(void (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_13_148(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_13_149(int (*arg0)(struct ixgbe_hw * , struct net_device * ) , struct ixgbe_hw *arg1 , struct net_device *arg2 ) ; void ldv_dummy_resourceless_instance_callback_13_15(unsigned short (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_13_150(int (*arg0)(struct ixgbe_hw * , unsigned short * ) , struct ixgbe_hw *arg1 , unsigned short *arg2 ) ; void ldv_dummy_resourceless_instance_callback_13_153(int (*arg0)(struct ixgbe_hw * , unsigned int * , unsigned short , unsigned short ) , struct ixgbe_hw *arg1 , unsigned int *arg2 , unsigned short arg3 , unsigned short arg4 ) ; void ldv_dummy_resourceless_instance_callback_13_156(int (*arg0)(struct ixgbe_hw * , unsigned int , unsigned char ) , struct ixgbe_hw *arg1 , unsigned int arg2 , unsigned char arg3 ) ; void ldv_dummy_resourceless_instance_callback_13_159(int (*arg0)(struct ixgbe_hw * , unsigned short , unsigned short , unsigned short * ) , struct ixgbe_hw *arg1 , unsigned short arg2 , unsigned short arg3 , unsigned short *arg4 ) ; void ldv_dummy_resourceless_instance_callback_13_16(int (*arg0)(struct ixgbe_hw * , unsigned short ) , struct ixgbe_hw *arg1 , unsigned short arg2 ) ; void ldv_dummy_resourceless_instance_callback_13_162(int (*arg0)(struct ixgbe_hw * , unsigned char , unsigned char , unsigned char ) , struct ixgbe_hw *arg1 , unsigned char arg2 , unsigned char arg3 , unsigned char arg4 ) ; void ldv_dummy_resourceless_instance_callback_13_165(int (*arg0)(struct ixgbe_hw * , unsigned char , unsigned char ) , struct ixgbe_hw *arg1 , unsigned char arg2 , unsigned char arg3 ) ; void ldv_dummy_resourceless_instance_callback_13_168(int (*arg0)(struct ixgbe_hw * , unsigned int * , unsigned short , unsigned short ) , struct ixgbe_hw *arg1 , unsigned int *arg2 , unsigned short arg3 , unsigned short arg4 ) ; void ldv_dummy_resourceless_instance_callback_13_171(int (*arg0)(struct ixgbe_hw * , unsigned int , unsigned int , unsigned short ) , struct ixgbe_hw *arg1 , unsigned int arg2 , unsigned int arg3 , unsigned short arg4 ) ; void ldv_dummy_resourceless_instance_callback_13_174(int (*arg0)(struct ixgbe_hw * , unsigned int , unsigned int , unsigned short ) , struct ixgbe_hw *arg1 , unsigned int arg2 , unsigned int arg3 , unsigned short arg4 ) ; void ldv_dummy_resourceless_instance_callback_13_19(int (*arg0)(struct ixgbe_hw * , unsigned short ) , struct ixgbe_hw *arg1 , unsigned short arg2 ) ; void ldv_dummy_resourceless_instance_callback_13_22(int (*arg0)(struct ixgbe_hw * , unsigned short ) , struct ixgbe_hw *arg1 , unsigned short arg2 ) ; void ldv_dummy_resourceless_instance_callback_13_25(int (*arg0)(struct ixgbe_hw * , unsigned int * , _Bool * , _Bool ) , struct ixgbe_hw *arg1 , unsigned int *arg2 , _Bool *arg3 , _Bool arg4 ) ; void ldv_dummy_resourceless_instance_callback_13_28(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_13_29(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_13_3(int (*arg0)(struct ixgbe_hw * , unsigned short ) , struct ixgbe_hw *arg1 , unsigned short arg2 ) ; void ldv_dummy_resourceless_instance_callback_13_30(int (*arg0)(struct ixgbe_hw * , unsigned int ) , struct ixgbe_hw *arg1 , unsigned int arg2 ) ; void ldv_dummy_resourceless_instance_callback_13_33(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_13_34(int (*arg0)(struct ixgbe_hw * , unsigned int , unsigned int ) , struct ixgbe_hw *arg1 , unsigned int arg2 , unsigned int arg3 ) ; void ldv_dummy_resourceless_instance_callback_13_37(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_13_38(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_13_39(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_13_40(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_13_41(int (*arg0)(struct ixgbe_hw * , unsigned int ) , struct ixgbe_hw *arg1 , unsigned int arg2 ) ; void ldv_dummy_resourceless_instance_callback_13_44(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_13_45(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_13_46(int (*arg0)(struct ixgbe_hw * , unsigned short * ) , struct ixgbe_hw *arg1 , unsigned short *arg2 ) ; void ldv_dummy_resourceless_instance_callback_13_49(int (*arg0)(struct ixgbe_hw * , unsigned short * ) , struct ixgbe_hw *arg1 , unsigned short *arg2 ) ; void ldv_dummy_resourceless_instance_callback_13_52(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_13_53(int (*arg0)(struct ixgbe_hw * , unsigned int * , _Bool * ) , struct ixgbe_hw *arg1 , unsigned int *arg2 , _Bool *arg3 ) ; void ldv_dummy_resourceless_instance_callback_13_56(int (*arg0)(struct ixgbe_hw * , unsigned char * ) , struct ixgbe_hw *arg1 , unsigned char *arg2 ) ; void ldv_dummy_resourceless_instance_callback_13_59(enum ixgbe_media_type (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_13_60(int (*arg0)(struct ixgbe_hw * , unsigned char * ) , struct ixgbe_hw *arg1 , unsigned char *arg2 ) ; void ldv_dummy_resourceless_instance_callback_13_63(unsigned int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_13_64(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_13_65(int (*arg0)(struct ixgbe_hw * , unsigned short * , unsigned short * ) , struct ixgbe_hw *arg1 , unsigned short *arg2 , unsigned short *arg3 ) ; void ldv_dummy_resourceless_instance_callback_13_68(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_13_69(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_13_70(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_13_71(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_13_72(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_13_73(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_13_74(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_13_75(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_13_76(int (*arg0)(struct ixgbe_hw * , unsigned int ) , struct ixgbe_hw *arg1 , unsigned int arg2 ) ; void ldv_dummy_resourceless_instance_callback_13_79(int (*arg0)(struct ixgbe_hw * , unsigned int ) , struct ixgbe_hw *arg1 , unsigned int arg2 ) ; void ldv_dummy_resourceless_instance_callback_13_82(_Bool (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_13_83(int (*arg0)(struct ixgbe_hw * , unsigned int * , unsigned short , unsigned short ) , struct ixgbe_hw *arg1 , unsigned int *arg2 , unsigned short arg3 , unsigned short arg4 ) ; void ldv_dummy_resourceless_instance_callback_13_86(int (*arg0)(struct ixgbe_hw * , unsigned int , unsigned char * ) , struct ixgbe_hw *arg1 , unsigned int arg2 , unsigned char *arg3 ) ; void ldv_dummy_resourceless_instance_callback_13_89(int (*arg0)(struct ixgbe_hw * , unsigned short , unsigned short , unsigned short * ) , struct ixgbe_hw *arg1 , unsigned short arg2 , unsigned short arg3 , unsigned short *arg4 ) ; void ldv_dummy_resourceless_instance_callback_13_9(int (*arg0)(struct ixgbe_hw * , unsigned int ) , struct ixgbe_hw *arg1 , unsigned int arg2 ) ; void ldv_dummy_resourceless_instance_callback_13_92(int (*arg0)(struct ixgbe_hw * , unsigned char , unsigned char , unsigned char * ) , struct ixgbe_hw *arg1 , unsigned char arg2 , unsigned char arg3 , unsigned char *arg4 ) ; void ldv_dummy_resourceless_instance_callback_13_95(int (*arg0)(struct ixgbe_hw * , unsigned char , unsigned char * ) , struct ixgbe_hw *arg1 , unsigned char arg2 , unsigned char *arg3 ) ; void ldv_dummy_resourceless_instance_callback_13_98(int (*arg0)(struct ixgbe_hw * , unsigned char , unsigned char * ) , struct ixgbe_hw *arg1 , unsigned char arg2 , unsigned char *arg3 ) ; void ldv_dummy_resourceless_instance_callback_14_3(int (*arg0)(struct notifier_block * , unsigned long , void * ) , struct notifier_block *arg1 , unsigned long arg2 , void *arg3 ) ; void ldv_dummy_resourceless_instance_callback_6_100(int (*arg0)(struct net_device * , struct netdev_fcoe_hbainfo * ) , struct net_device *arg1 , struct netdev_fcoe_hbainfo *arg2 ) ; void ldv_dummy_resourceless_instance_callback_6_101(int (*arg0)(struct net_device * , unsigned long long * , int ) , struct net_device *arg1 , unsigned long long *arg2 , int arg3 ) ; void ldv_dummy_resourceless_instance_callback_6_104(int (*arg0)(struct ndmsg * , struct nlattr ** , struct net_device * , unsigned char * , unsigned short ) , struct ndmsg *arg1 , struct nlattr **arg2 , struct net_device *arg3 , unsigned char *arg4 , unsigned short arg5 ) ; void ldv_dummy_resourceless_instance_callback_6_107(unsigned long long (*arg0)(struct net_device * , unsigned long long ) , struct net_device *arg1 , unsigned long long arg2 ) ; void ldv_dummy_resourceless_instance_callback_6_110(struct rtnl_link_stats64 *(*arg0)(struct net_device * , struct rtnl_link_stats64 * ) , struct net_device *arg1 , struct rtnl_link_stats64 *arg2 ) ; void ldv_dummy_resourceless_instance_callback_6_111(int (*arg0)(struct net_device * , int , struct ifla_vf_info * ) , struct net_device *arg1 , int arg2 , struct ifla_vf_info *arg3 ) ; void ldv_dummy_resourceless_instance_callback_6_114(void (*arg0)(struct net_device * ) , struct net_device *arg1 ) ; void ldv_dummy_resourceless_instance_callback_6_115(unsigned short (*arg0)(struct net_device * , struct sk_buff * , void * , unsigned short (*)(struct net_device * , struct sk_buff * ) ) , struct net_device *arg1 , struct sk_buff *arg2 , void *arg3 , unsigned short (*arg4)(struct net_device * , struct sk_buff * ) ) ; void ldv_dummy_resourceless_instance_callback_6_118(int (*arg0)(struct net_device * , unsigned long long ) , struct net_device *arg1 , unsigned long long arg2 ) ; void ldv_dummy_resourceless_instance_callback_6_12(int (*arg0)(struct net_device * ) , struct net_device *arg1 ) ; void ldv_dummy_resourceless_instance_callback_6_121(int (*arg0)(struct net_device * , void * ) , struct net_device *arg1 , void *arg2 ) ; void ldv_dummy_resourceless_instance_callback_6_122(void (*arg0)(struct net_device * ) , struct net_device *arg1 ) ; void ldv_dummy_resourceless_instance_callback_6_123(int (*arg0)(struct net_device * , int , unsigned char * ) , struct net_device *arg1 , int arg2 , unsigned char *arg3 ) ; void ldv_dummy_resourceless_instance_callback_6_126(int (*arg0)(struct net_device * , int , _Bool ) , struct net_device *arg1 , int arg2 , _Bool arg3 ) ; void ldv_dummy_resourceless_instance_callback_6_129(int (*arg0)(struct net_device * , int , int ) , struct net_device *arg1 , int arg2 , int arg3 ) ; void ldv_dummy_resourceless_instance_callback_6_13(void (*arg0)(struct net_device * , struct ethtool_stats * , unsigned long long * ) , struct net_device *arg1 , struct ethtool_stats *arg2 , unsigned long long *arg3 ) ; void ldv_dummy_resourceless_instance_callback_6_132(int (*arg0)(struct net_device * , int , unsigned short , unsigned char ) , struct net_device *arg1 , int arg2 , unsigned short arg3 , unsigned char arg4 ) ; void ldv_dummy_resourceless_instance_callback_6_135(int (*arg0)(struct net_device * , unsigned char ) , struct net_device *arg1 , unsigned char arg2 ) ; void ldv_dummy_resourceless_instance_callback_6_138(enum netdev_tx (*arg0)(struct sk_buff * , struct net_device * ) , struct sk_buff *arg1 , struct net_device *arg2 ) ; void ldv_dummy_resourceless_instance_callback_6_139(void (*arg0)(struct net_device * ) , struct net_device *arg1 ) ; void ldv_dummy_resourceless_instance_callback_6_140(int (*arg0)(struct net_device * ) , struct net_device *arg1 ) ; void ldv_dummy_resourceless_instance_callback_6_141(int (*arg0)(struct net_device * , unsigned short , unsigned short ) , struct net_device *arg1 , unsigned short arg2 , unsigned short arg3 ) ; void ldv_dummy_resourceless_instance_callback_6_144(int (*arg0)(struct net_device * , unsigned short , unsigned short ) , struct net_device *arg1 , unsigned short arg2 , unsigned short arg3 ) ; void ldv_dummy_resourceless_instance_callback_6_147(int (*arg0)(struct net_device * ) , struct net_device *arg1 ) ; void ldv_dummy_resourceless_instance_callback_6_148(void (*arg0)(struct net_device * , struct ethtool_test * , unsigned long long * ) , struct net_device *arg1 , struct ethtool_test *arg2 , unsigned long long *arg3 ) ; void ldv_dummy_resourceless_instance_callback_6_151(int (*arg0)(struct net_device * , struct ethtool_channels * ) , struct net_device *arg1 , struct ethtool_channels *arg2 ) ; void ldv_dummy_resourceless_instance_callback_6_152(int (*arg0)(struct net_device * , struct ethtool_coalesce * ) , struct net_device *arg1 , struct ethtool_coalesce *arg2 ) ; void ldv_dummy_resourceless_instance_callback_6_153(int (*arg0)(struct net_device * , struct ethtool_eeprom * , unsigned char * ) , struct net_device *arg1 , struct ethtool_eeprom *arg2 , unsigned char *arg3 ) ; void ldv_dummy_resourceless_instance_callback_6_156(void (*arg0)(struct net_device * , unsigned int ) , struct net_device *arg1 , unsigned int arg2 ) ; void ldv_dummy_resourceless_instance_callback_6_159(int (*arg0)(struct net_device * , struct ethtool_pauseparam * ) , struct net_device *arg1 , struct ethtool_pauseparam *arg2 ) ; void ldv_dummy_resourceless_instance_callback_6_16(unsigned int (*arg0)(struct net_device * ) , struct net_device *arg1 ) ; void ldv_dummy_resourceless_instance_callback_6_160(int (*arg0)(struct net_device * , enum ethtool_phys_id_state ) , struct net_device *arg1 , enum ethtool_phys_id_state arg2 ) ; void ldv_dummy_resourceless_instance_callback_6_161(int (*arg0)(struct net_device * , struct ethtool_ringparam * ) , struct net_device *arg1 , struct ethtool_ringparam *arg2 ) ; void ldv_dummy_resourceless_instance_callback_6_162(int (*arg0)(struct net_device * , struct ethtool_rxnfc * ) , struct net_device *arg1 , struct ethtool_rxnfc *arg2 ) ; void ldv_dummy_resourceless_instance_callback_6_163(int (*arg0)(struct net_device * , struct ethtool_cmd * ) , struct net_device *arg1 , struct ethtool_cmd *arg2 ) ; void ldv_dummy_resourceless_instance_callback_6_164(int (*arg0)(struct net_device * , struct ethtool_wolinfo * ) , struct net_device *arg1 , struct ethtool_wolinfo *arg2 ) ; void ldv_dummy_resourceless_instance_callback_6_165(unsigned char (*arg0)(struct net_device * ) , struct net_device *arg1 ) ; void ldv_dummy_resourceless_instance_callback_6_166(unsigned char (*arg0)(struct net_device * , unsigned char ) , struct net_device *arg1 , unsigned char arg2 ) ; void ldv_dummy_resourceless_instance_callback_6_169(int (*arg0)(struct net_device * , int , unsigned char ) , struct net_device *arg1 , int arg2 , unsigned char arg3 ) ; void ldv_dummy_resourceless_instance_callback_6_17(int (*arg0)(struct net_device * , struct ethtool_eeprom * , unsigned char * ) , struct net_device *arg1 , struct ethtool_eeprom *arg2 , unsigned char *arg3 ) ; void ldv_dummy_resourceless_instance_callback_6_172(void (*arg0)(struct net_device * , int , unsigned char ) , struct net_device *arg1 , int arg2 , unsigned char arg3 ) ; void ldv_dummy_resourceless_instance_callback_6_175(void (*arg0)(struct net_device * , unsigned char ) , struct net_device *arg1 , unsigned char arg2 ) ; void ldv_dummy_resourceless_instance_callback_6_178(void (*arg0)(struct net_device * , int , unsigned char ) , struct net_device *arg1 , int arg2 , unsigned char arg3 ) ; void ldv_dummy_resourceless_instance_callback_6_181(void (*arg0)(struct net_device * , int , unsigned char ) , struct net_device *arg1 , int arg2 , unsigned char arg3 ) ; void ldv_dummy_resourceless_instance_callback_6_184(void (*arg0)(struct net_device * , int , unsigned char , unsigned char , unsigned char , unsigned char ) , struct net_device *arg1 , int arg2 , unsigned char arg3 , unsigned char arg4 , unsigned char arg5 , unsigned char arg6 ) ; void ldv_dummy_resourceless_instance_callback_6_187(void (*arg0)(struct net_device * , int , unsigned char , unsigned char , unsigned char , unsigned char ) , struct net_device *arg1 , int arg2 , unsigned char arg3 , unsigned char arg4 , unsigned char arg5 , unsigned char arg6 ) ; void ldv_dummy_resourceless_instance_callback_6_190(unsigned char (*arg0)(struct net_device * , unsigned char ) , struct net_device *arg1 , unsigned char arg2 ) ; void ldv_dummy_resourceless_instance_callback_6_20(int (*arg0)(struct net_device * , struct ethtool_modinfo * ) , struct net_device *arg1 , struct ethtool_modinfo *arg2 ) ; void ldv_dummy_resourceless_instance_callback_6_21(unsigned int (*arg0)(struct net_device * ) , struct net_device *arg1 ) ; void ldv_dummy_resourceless_instance_callback_6_22(void (*arg0)(struct net_device * , struct ethtool_pauseparam * ) , struct net_device *arg1 , struct ethtool_pauseparam *arg2 ) ; void ldv_dummy_resourceless_instance_callback_6_23(void (*arg0)(struct net_device * , struct ethtool_regs * , void * ) , struct net_device *arg1 , struct ethtool_regs *arg2 , void *arg3 ) ; void ldv_dummy_resourceless_instance_callback_6_24(int (*arg0)(struct net_device * ) , struct net_device *arg1 ) ; void ldv_dummy_resourceless_instance_callback_6_25(void (*arg0)(struct net_device * , struct ethtool_ringparam * ) , struct net_device *arg1 , struct ethtool_ringparam *arg2 ) ; void ldv_dummy_resourceless_instance_callback_6_26(int (*arg0)(struct net_device * , struct ethtool_rxnfc * , unsigned int * ) , struct net_device *arg1 , struct ethtool_rxnfc *arg2 , unsigned int *arg3 ) ; void ldv_dummy_resourceless_instance_callback_6_29(int (*arg0)(struct net_device * , struct ethtool_cmd * ) , struct net_device *arg1 , struct ethtool_cmd *arg2 ) ; void ldv_dummy_resourceless_instance_callback_6_3(void (*arg0)(struct net_device * , struct ethtool_channels * ) , struct net_device *arg1 , struct ethtool_channels *arg2 ) ; void ldv_dummy_resourceless_instance_callback_6_30(int (*arg0)(struct net_device * , int ) , struct net_device *arg1 , int arg2 ) ; void ldv_dummy_resourceless_instance_callback_6_33(void (*arg0)(struct net_device * , unsigned int , unsigned char * ) , struct net_device *arg1 , unsigned int arg2 , unsigned char *arg3 ) ; void ldv_dummy_resourceless_instance_callback_6_36(int (*arg0)(struct net_device * , struct ethtool_ts_info * ) , struct net_device *arg1 , struct ethtool_ts_info *arg2 ) ; void ldv_dummy_resourceless_instance_callback_6_37(void (*arg0)(struct net_device * , struct ethtool_wolinfo * ) , struct net_device *arg1 , struct ethtool_wolinfo *arg2 ) ; void ldv_dummy_resourceless_instance_callback_6_38(unsigned char (*arg0)(struct net_device * , unsigned char , unsigned short ) , struct net_device *arg1 , unsigned char arg2 , unsigned short arg3 ) ; void ldv_dummy_resourceless_instance_callback_6_41(unsigned char (*arg0)(struct net_device * , int , unsigned char * ) , struct net_device *arg1 , int arg2 , unsigned char *arg3 ) ; void ldv_dummy_resourceless_instance_callback_6_44(unsigned char (*arg0)(struct net_device * ) , struct net_device *arg1 ) ; void ldv_dummy_resourceless_instance_callback_6_45(int (*arg0)(struct net_device * , int , unsigned char * ) , struct net_device *arg1 , int arg2 , unsigned char *arg3 ) ; void ldv_dummy_resourceless_instance_callback_6_48(void (*arg0)(struct net_device * , unsigned char * ) , struct net_device *arg1 , unsigned char *arg2 ) ; void ldv_dummy_resourceless_instance_callback_6_51(void (*arg0)(struct net_device * , int , unsigned char * ) , struct net_device *arg1 , int arg2 , unsigned char *arg3 ) ; void ldv_dummy_resourceless_instance_callback_6_54(unsigned char (*arg0)(struct net_device * ) , struct net_device *arg1 ) ; void ldv_dummy_resourceless_instance_callback_6_55(void (*arg0)(struct net_device * , int , unsigned char * ) , struct net_device *arg1 , int arg2 , unsigned char *arg3 ) ; void ldv_dummy_resourceless_instance_callback_6_58(void (*arg0)(struct net_device * , int , unsigned char * ) , struct net_device *arg1 , int arg2 , unsigned char *arg3 ) ; void ldv_dummy_resourceless_instance_callback_6_61(void (*arg0)(struct net_device * , int , unsigned char * , unsigned char * , unsigned char * , unsigned char * ) , struct net_device *arg1 , int arg2 , unsigned char *arg3 , unsigned char *arg4 , unsigned char *arg5 , unsigned char *arg6 ) ; void ldv_dummy_resourceless_instance_callback_6_64(void (*arg0)(struct net_device * , int , unsigned char * , unsigned char * , unsigned char * , unsigned char * ) , struct net_device *arg1 , int arg2 , unsigned char *arg3 , unsigned char *arg4 , unsigned char *arg5 , unsigned char *arg6 ) ; void ldv_dummy_resourceless_instance_callback_6_67(unsigned char (*arg0)(struct net_device * ) , struct net_device *arg1 ) ; void ldv_dummy_resourceless_instance_callback_6_68(int (*arg0)(struct net_device * , struct dcb_app * ) , struct net_device *arg1 , struct dcb_app *arg2 ) ; void ldv_dummy_resourceless_instance_callback_6_69(int (*arg0)(struct net_device * , struct ieee_ets * ) , struct net_device *arg1 , struct ieee_ets *arg2 ) ; void ldv_dummy_resourceless_instance_callback_6_7(int (*arg0)(struct net_device * , struct ethtool_coalesce * ) , struct net_device *arg1 , struct ethtool_coalesce *arg2 ) ; void ldv_dummy_resourceless_instance_callback_6_70(int (*arg0)(struct net_device * , struct ieee_pfc * ) , struct net_device *arg1 , struct ieee_pfc *arg2 ) ; void ldv_dummy_resourceless_instance_callback_6_71(int (*arg0)(struct net_device * , struct dcb_app * ) , struct net_device *arg1 , struct dcb_app *arg2 ) ; void ldv_dummy_resourceless_instance_callback_6_72(int (*arg0)(struct net_device * , struct ieee_ets * ) , struct net_device *arg1 , struct ieee_ets *arg2 ) ; void ldv_dummy_resourceless_instance_callback_6_73(int (*arg0)(struct net_device * , struct ieee_pfc * ) , struct net_device *arg1 , struct ieee_pfc *arg2 ) ; void ldv_dummy_resourceless_instance_callback_6_74(int (*arg0)(struct sk_buff * , unsigned int , unsigned int , struct net_device * , unsigned int ) , struct sk_buff *arg1 , unsigned int arg2 , unsigned int arg3 , struct net_device *arg4 , unsigned int arg5 ) ; void ldv_dummy_resourceless_instance_callback_6_77(int (*arg0)(struct net_device * , struct nlmsghdr * ) , struct net_device *arg1 , struct nlmsghdr *arg2 ) ; void ldv_dummy_resourceless_instance_callback_6_78(int (*arg0)(struct napi_struct * ) , struct napi_struct *arg1 ) ; void ldv_dummy_resourceless_instance_callback_6_79(int (*arg0)(struct net_device * , int ) , struct net_device *arg1 , int arg2 ) ; void ldv_dummy_resourceless_instance_callback_6_8(void (*arg0)(struct net_device * , struct ethtool_drvinfo * ) , struct net_device *arg1 , struct ethtool_drvinfo *arg2 ) ; void ldv_dummy_resourceless_instance_callback_6_82(void *(*arg0)(struct net_device * , struct net_device * ) , struct net_device *arg1 , struct net_device *arg2 ) ; void ldv_dummy_resourceless_instance_callback_6_85(void (*arg0)(struct net_device * , void * ) , struct net_device *arg1 , void *arg2 ) ; void ldv_dummy_resourceless_instance_callback_6_86(int (*arg0)(struct net_device * , struct ifreq * , int ) , struct net_device *arg1 , struct ifreq *arg2 , int arg3 ) ; void ldv_dummy_resourceless_instance_callback_6_89(int (*arg0)(struct net_device * , unsigned short ) , struct net_device *arg1 , unsigned short arg2 ) ; void ldv_dummy_resourceless_instance_callback_6_9(int (*arg0)(struct net_device * , struct ethtool_eeprom * , unsigned char * ) , struct net_device *arg1 , struct ethtool_eeprom *arg2 , unsigned char *arg3 ) ; void ldv_dummy_resourceless_instance_callback_6_92(int (*arg0)(struct net_device * , unsigned short , struct scatterlist * , unsigned int ) , struct net_device *arg1 , unsigned short arg2 , struct scatterlist *arg3 , unsigned int arg4 ) ; void ldv_dummy_resourceless_instance_callback_6_95(int (*arg0)(struct net_device * , unsigned short , struct scatterlist * , unsigned int ) , struct net_device *arg1 , unsigned short arg2 , struct scatterlist *arg3 , unsigned int arg4 ) ; void ldv_dummy_resourceless_instance_callback_6_98(int (*arg0)(struct net_device * ) , struct net_device *arg1 ) ; void ldv_dummy_resourceless_instance_callback_6_99(int (*arg0)(struct net_device * ) , struct net_device *arg1 ) ; void ldv_dummy_resourceless_instance_callback_8_101(int (*arg0)(struct ixgbe_hw * , unsigned int * , unsigned short , unsigned short ) , struct ixgbe_hw *arg1 , unsigned int *arg2 , unsigned short arg3 , unsigned short arg4 ) ; void ldv_dummy_resourceless_instance_callback_8_104(int (*arg0)(struct ixgbe_hw * , unsigned int , unsigned int , unsigned short * ) , struct ixgbe_hw *arg1 , unsigned int arg2 , unsigned int arg3 , unsigned short *arg4 ) ; void ldv_dummy_resourceless_instance_callback_8_107(int (*arg0)(struct ixgbe_hw * , unsigned int , unsigned int , unsigned short * ) , struct ixgbe_hw *arg1 , unsigned int arg2 , unsigned int arg3 , unsigned short *arg4 ) ; void ldv_dummy_resourceless_instance_callback_8_110(void (*arg0)(struct ixgbe_hw * , unsigned short ) , struct ixgbe_hw *arg1 , unsigned short arg2 ) ; void ldv_dummy_resourceless_instance_callback_8_113(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_8_114(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_8_115(int (*arg0)(struct ixgbe_hw * , unsigned char , unsigned char , unsigned char , unsigned char ) , struct ixgbe_hw *arg1 , unsigned char arg2 , unsigned char arg3 , unsigned char arg4 , unsigned char arg5 ) ; void ldv_dummy_resourceless_instance_callback_8_118(void (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_8_119(void (*arg0)(struct ixgbe_hw * , _Bool , int ) , struct ixgbe_hw *arg1 , _Bool arg2 , int arg3 ) ; void ldv_dummy_resourceless_instance_callback_8_12(int (*arg0)(struct ixgbe_hw * , unsigned int ) , struct ixgbe_hw *arg1 , unsigned int arg2 ) ; void ldv_dummy_resourceless_instance_callback_8_122(int (*arg0)(struct ixgbe_hw * , unsigned int , unsigned char * , unsigned int , unsigned int ) , struct ixgbe_hw *arg1 , unsigned int arg2 , unsigned char *arg3 , unsigned int arg4 , unsigned int arg5 ) ; void ldv_dummy_resourceless_instance_callback_8_125(void (*arg0)(struct ixgbe_hw * , int , unsigned int , int ) , struct ixgbe_hw *arg1 , int arg2 , unsigned int arg3 , int arg4 ) ; void ldv_dummy_resourceless_instance_callback_8_128(int (*arg0)(struct ixgbe_hw * , unsigned int , unsigned int , _Bool ) , struct ixgbe_hw *arg1 , unsigned int arg2 , unsigned int arg3 , _Bool arg4 ) ; void ldv_dummy_resourceless_instance_callback_8_131(void (*arg0)(struct ixgbe_hw * , _Bool , int ) , struct ixgbe_hw *arg1 , _Bool arg2 , int arg3 ) ; void ldv_dummy_resourceless_instance_callback_8_134(int (*arg0)(struct ixgbe_hw * , unsigned int , unsigned int ) , struct ixgbe_hw *arg1 , unsigned int arg2 , unsigned int arg3 ) ; void ldv_dummy_resourceless_instance_callback_8_137(int (*arg0)(struct ixgbe_hw * , unsigned int ) , struct ixgbe_hw *arg1 , unsigned int arg2 ) ; void ldv_dummy_resourceless_instance_callback_8_140(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_8_141(int (*arg0)(struct ixgbe_hw * , unsigned int , _Bool ) , struct ixgbe_hw *arg1 , unsigned int arg2 , _Bool arg3 ) ; void ldv_dummy_resourceless_instance_callback_8_144(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_8_145(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_8_146(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_8_147(void (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_8_148(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_8_149(int (*arg0)(struct ixgbe_hw * , struct net_device * ) , struct ixgbe_hw *arg1 , struct net_device *arg2 ) ; void ldv_dummy_resourceless_instance_callback_8_15(unsigned short (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_8_150(int (*arg0)(struct ixgbe_hw * , unsigned short * ) , struct ixgbe_hw *arg1 , unsigned short *arg2 ) ; void ldv_dummy_resourceless_instance_callback_8_153(int (*arg0)(struct ixgbe_hw * , unsigned int * , unsigned short , unsigned short ) , struct ixgbe_hw *arg1 , unsigned int *arg2 , unsigned short arg3 , unsigned short arg4 ) ; void ldv_dummy_resourceless_instance_callback_8_156(int (*arg0)(struct ixgbe_hw * , unsigned int , unsigned char ) , struct ixgbe_hw *arg1 , unsigned int arg2 , unsigned char arg3 ) ; void ldv_dummy_resourceless_instance_callback_8_159(int (*arg0)(struct ixgbe_hw * , unsigned short , unsigned short , unsigned short * ) , struct ixgbe_hw *arg1 , unsigned short arg2 , unsigned short arg3 , unsigned short *arg4 ) ; void ldv_dummy_resourceless_instance_callback_8_16(int (*arg0)(struct ixgbe_hw * , unsigned short ) , struct ixgbe_hw *arg1 , unsigned short arg2 ) ; void ldv_dummy_resourceless_instance_callback_8_162(int (*arg0)(struct ixgbe_hw * , unsigned char , unsigned char , unsigned char ) , struct ixgbe_hw *arg1 , unsigned char arg2 , unsigned char arg3 , unsigned char arg4 ) ; void ldv_dummy_resourceless_instance_callback_8_165(int (*arg0)(struct ixgbe_hw * , unsigned char , unsigned char ) , struct ixgbe_hw *arg1 , unsigned char arg2 , unsigned char arg3 ) ; void ldv_dummy_resourceless_instance_callback_8_168(int (*arg0)(struct ixgbe_hw * , unsigned int * , unsigned short , unsigned short ) , struct ixgbe_hw *arg1 , unsigned int *arg2 , unsigned short arg3 , unsigned short arg4 ) ; void ldv_dummy_resourceless_instance_callback_8_171(int (*arg0)(struct ixgbe_hw * , unsigned int , unsigned int , unsigned short ) , struct ixgbe_hw *arg1 , unsigned int arg2 , unsigned int arg3 , unsigned short arg4 ) ; void ldv_dummy_resourceless_instance_callback_8_174(int (*arg0)(struct ixgbe_hw * , unsigned int , unsigned int , unsigned short ) , struct ixgbe_hw *arg1 , unsigned int arg2 , unsigned int arg3 , unsigned short arg4 ) ; void ldv_dummy_resourceless_instance_callback_8_19(int (*arg0)(struct ixgbe_hw * , unsigned short ) , struct ixgbe_hw *arg1 , unsigned short arg2 ) ; void ldv_dummy_resourceless_instance_callback_8_22(int (*arg0)(struct ixgbe_hw * , unsigned short ) , struct ixgbe_hw *arg1 , unsigned short arg2 ) ; void ldv_dummy_resourceless_instance_callback_8_25(int (*arg0)(struct ixgbe_hw * , unsigned int * , _Bool * , _Bool ) , struct ixgbe_hw *arg1 , unsigned int *arg2 , _Bool *arg3 , _Bool arg4 ) ; void ldv_dummy_resourceless_instance_callback_8_28(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_8_29(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_8_3(int (*arg0)(struct ixgbe_hw * , unsigned short ) , struct ixgbe_hw *arg1 , unsigned short arg2 ) ; void ldv_dummy_resourceless_instance_callback_8_30(int (*arg0)(struct ixgbe_hw * , unsigned int ) , struct ixgbe_hw *arg1 , unsigned int arg2 ) ; void ldv_dummy_resourceless_instance_callback_8_33(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_8_34(int (*arg0)(struct ixgbe_hw * , unsigned int , unsigned int ) , struct ixgbe_hw *arg1 , unsigned int arg2 , unsigned int arg3 ) ; void ldv_dummy_resourceless_instance_callback_8_37(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_8_38(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_8_39(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_8_40(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_8_41(int (*arg0)(struct ixgbe_hw * , unsigned int ) , struct ixgbe_hw *arg1 , unsigned int arg2 ) ; void ldv_dummy_resourceless_instance_callback_8_44(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_8_45(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_8_46(int (*arg0)(struct ixgbe_hw * , unsigned short * ) , struct ixgbe_hw *arg1 , unsigned short *arg2 ) ; void ldv_dummy_resourceless_instance_callback_8_49(int (*arg0)(struct ixgbe_hw * , unsigned short * ) , struct ixgbe_hw *arg1 , unsigned short *arg2 ) ; void ldv_dummy_resourceless_instance_callback_8_52(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_8_53(int (*arg0)(struct ixgbe_hw * , unsigned int * , _Bool * ) , struct ixgbe_hw *arg1 , unsigned int *arg2 , _Bool *arg3 ) ; void ldv_dummy_resourceless_instance_callback_8_56(int (*arg0)(struct ixgbe_hw * , unsigned char * ) , struct ixgbe_hw *arg1 , unsigned char *arg2 ) ; void ldv_dummy_resourceless_instance_callback_8_59(enum ixgbe_media_type (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_8_60(int (*arg0)(struct ixgbe_hw * , unsigned char * ) , struct ixgbe_hw *arg1 , unsigned char *arg2 ) ; void ldv_dummy_resourceless_instance_callback_8_63(unsigned int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_8_64(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_8_65(int (*arg0)(struct ixgbe_hw * , unsigned short * , unsigned short * ) , struct ixgbe_hw *arg1 , unsigned short *arg2 , unsigned short *arg3 ) ; void ldv_dummy_resourceless_instance_callback_8_68(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_8_69(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_8_70(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_8_71(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_8_72(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_8_73(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_8_74(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_8_75(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_8_76(int (*arg0)(struct ixgbe_hw * , unsigned int ) , struct ixgbe_hw *arg1 , unsigned int arg2 ) ; void ldv_dummy_resourceless_instance_callback_8_79(int (*arg0)(struct ixgbe_hw * , unsigned int ) , struct ixgbe_hw *arg1 , unsigned int arg2 ) ; void ldv_dummy_resourceless_instance_callback_8_82(_Bool (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_8_83(int (*arg0)(struct ixgbe_hw * , unsigned int * , unsigned short , unsigned short ) , struct ixgbe_hw *arg1 , unsigned int *arg2 , unsigned short arg3 , unsigned short arg4 ) ; void ldv_dummy_resourceless_instance_callback_8_86(int (*arg0)(struct ixgbe_hw * , unsigned int , unsigned char * ) , struct ixgbe_hw *arg1 , unsigned int arg2 , unsigned char *arg3 ) ; void ldv_dummy_resourceless_instance_callback_8_89(int (*arg0)(struct ixgbe_hw * , unsigned short , unsigned short , unsigned short * ) , struct ixgbe_hw *arg1 , unsigned short arg2 , unsigned short arg3 , unsigned short *arg4 ) ; void ldv_dummy_resourceless_instance_callback_8_9(int (*arg0)(struct ixgbe_hw * , unsigned int ) , struct ixgbe_hw *arg1 , unsigned int arg2 ) ; void ldv_dummy_resourceless_instance_callback_8_92(int (*arg0)(struct ixgbe_hw * , unsigned char , unsigned char , unsigned char * ) , struct ixgbe_hw *arg1 , unsigned char arg2 , unsigned char arg3 , unsigned char *arg4 ) ; void ldv_dummy_resourceless_instance_callback_8_95(int (*arg0)(struct ixgbe_hw * , unsigned char , unsigned char * ) , struct ixgbe_hw *arg1 , unsigned char arg2 , unsigned char *arg3 ) ; void ldv_dummy_resourceless_instance_callback_8_98(int (*arg0)(struct ixgbe_hw * , unsigned char , unsigned char * ) , struct ixgbe_hw *arg1 , unsigned char arg2 , unsigned char *arg3 ) ; void ldv_dummy_resourceless_instance_callback_9_101(int (*arg0)(struct ixgbe_hw * , unsigned int * , unsigned short , unsigned short ) , struct ixgbe_hw *arg1 , unsigned int *arg2 , unsigned short arg3 , unsigned short arg4 ) ; void ldv_dummy_resourceless_instance_callback_9_104(int (*arg0)(struct ixgbe_hw * , unsigned int , unsigned int , unsigned short * ) , struct ixgbe_hw *arg1 , unsigned int arg2 , unsigned int arg3 , unsigned short *arg4 ) ; void ldv_dummy_resourceless_instance_callback_9_107(int (*arg0)(struct ixgbe_hw * , unsigned int , unsigned int , unsigned short * ) , struct ixgbe_hw *arg1 , unsigned int arg2 , unsigned int arg3 , unsigned short *arg4 ) ; void ldv_dummy_resourceless_instance_callback_9_110(void (*arg0)(struct ixgbe_hw * , unsigned short ) , struct ixgbe_hw *arg1 , unsigned short arg2 ) ; void ldv_dummy_resourceless_instance_callback_9_113(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_9_114(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_9_115(int (*arg0)(struct ixgbe_hw * , unsigned char , unsigned char , unsigned char , unsigned char ) , struct ixgbe_hw *arg1 , unsigned char arg2 , unsigned char arg3 , unsigned char arg4 , unsigned char arg5 ) ; void ldv_dummy_resourceless_instance_callback_9_118(void (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_9_119(void (*arg0)(struct ixgbe_hw * , _Bool , int ) , struct ixgbe_hw *arg1 , _Bool arg2 , int arg3 ) ; void ldv_dummy_resourceless_instance_callback_9_12(int (*arg0)(struct ixgbe_hw * , unsigned int ) , struct ixgbe_hw *arg1 , unsigned int arg2 ) ; void ldv_dummy_resourceless_instance_callback_9_122(int (*arg0)(struct ixgbe_hw * , unsigned int , unsigned char * , unsigned int , unsigned int ) , struct ixgbe_hw *arg1 , unsigned int arg2 , unsigned char *arg3 , unsigned int arg4 , unsigned int arg5 ) ; void ldv_dummy_resourceless_instance_callback_9_125(void (*arg0)(struct ixgbe_hw * , int , unsigned int , int ) , struct ixgbe_hw *arg1 , int arg2 , unsigned int arg3 , int arg4 ) ; void ldv_dummy_resourceless_instance_callback_9_128(int (*arg0)(struct ixgbe_hw * , unsigned int , unsigned int , _Bool ) , struct ixgbe_hw *arg1 , unsigned int arg2 , unsigned int arg3 , _Bool arg4 ) ; void ldv_dummy_resourceless_instance_callback_9_131(void (*arg0)(struct ixgbe_hw * , _Bool , int ) , struct ixgbe_hw *arg1 , _Bool arg2 , int arg3 ) ; void ldv_dummy_resourceless_instance_callback_9_134(int (*arg0)(struct ixgbe_hw * , unsigned int , unsigned int ) , struct ixgbe_hw *arg1 , unsigned int arg2 , unsigned int arg3 ) ; void ldv_dummy_resourceless_instance_callback_9_137(int (*arg0)(struct ixgbe_hw * , unsigned int ) , struct ixgbe_hw *arg1 , unsigned int arg2 ) ; void ldv_dummy_resourceless_instance_callback_9_140(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_9_141(int (*arg0)(struct ixgbe_hw * , unsigned int , _Bool ) , struct ixgbe_hw *arg1 , unsigned int arg2 , _Bool arg3 ) ; void ldv_dummy_resourceless_instance_callback_9_144(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_9_145(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_9_146(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_9_147(void (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_9_148(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_9_149(int (*arg0)(struct ixgbe_hw * , struct net_device * ) , struct ixgbe_hw *arg1 , struct net_device *arg2 ) ; void ldv_dummy_resourceless_instance_callback_9_15(unsigned short (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_9_150(int (*arg0)(struct ixgbe_hw * , unsigned short * ) , struct ixgbe_hw *arg1 , unsigned short *arg2 ) ; void ldv_dummy_resourceless_instance_callback_9_153(int (*arg0)(struct ixgbe_hw * , unsigned int * , unsigned short , unsigned short ) , struct ixgbe_hw *arg1 , unsigned int *arg2 , unsigned short arg3 , unsigned short arg4 ) ; void ldv_dummy_resourceless_instance_callback_9_156(int (*arg0)(struct ixgbe_hw * , unsigned int , unsigned char ) , struct ixgbe_hw *arg1 , unsigned int arg2 , unsigned char arg3 ) ; void ldv_dummy_resourceless_instance_callback_9_159(int (*arg0)(struct ixgbe_hw * , unsigned short , unsigned short , unsigned short * ) , struct ixgbe_hw *arg1 , unsigned short arg2 , unsigned short arg3 , unsigned short *arg4 ) ; void ldv_dummy_resourceless_instance_callback_9_16(int (*arg0)(struct ixgbe_hw * , unsigned short ) , struct ixgbe_hw *arg1 , unsigned short arg2 ) ; void ldv_dummy_resourceless_instance_callback_9_162(int (*arg0)(struct ixgbe_hw * , unsigned char , unsigned char , unsigned char ) , struct ixgbe_hw *arg1 , unsigned char arg2 , unsigned char arg3 , unsigned char arg4 ) ; void ldv_dummy_resourceless_instance_callback_9_165(int (*arg0)(struct ixgbe_hw * , unsigned char , unsigned char ) , struct ixgbe_hw *arg1 , unsigned char arg2 , unsigned char arg3 ) ; void ldv_dummy_resourceless_instance_callback_9_168(int (*arg0)(struct ixgbe_hw * , unsigned int * , unsigned short , unsigned short ) , struct ixgbe_hw *arg1 , unsigned int *arg2 , unsigned short arg3 , unsigned short arg4 ) ; void ldv_dummy_resourceless_instance_callback_9_171(int (*arg0)(struct ixgbe_hw * , unsigned int , unsigned int , unsigned short ) , struct ixgbe_hw *arg1 , unsigned int arg2 , unsigned int arg3 , unsigned short arg4 ) ; void ldv_dummy_resourceless_instance_callback_9_174(int (*arg0)(struct ixgbe_hw * , unsigned int , unsigned int , unsigned short ) , struct ixgbe_hw *arg1 , unsigned int arg2 , unsigned int arg3 , unsigned short arg4 ) ; void ldv_dummy_resourceless_instance_callback_9_19(int (*arg0)(struct ixgbe_hw * , unsigned short ) , struct ixgbe_hw *arg1 , unsigned short arg2 ) ; void ldv_dummy_resourceless_instance_callback_9_22(int (*arg0)(struct ixgbe_hw * , unsigned short ) , struct ixgbe_hw *arg1 , unsigned short arg2 ) ; void ldv_dummy_resourceless_instance_callback_9_25(int (*arg0)(struct ixgbe_hw * , unsigned int * , _Bool * , _Bool ) , struct ixgbe_hw *arg1 , unsigned int *arg2 , _Bool *arg3 , _Bool arg4 ) ; void ldv_dummy_resourceless_instance_callback_9_28(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_9_29(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_9_3(int (*arg0)(struct ixgbe_hw * , unsigned short ) , struct ixgbe_hw *arg1 , unsigned short arg2 ) ; void ldv_dummy_resourceless_instance_callback_9_30(int (*arg0)(struct ixgbe_hw * , unsigned int ) , struct ixgbe_hw *arg1 , unsigned int arg2 ) ; void ldv_dummy_resourceless_instance_callback_9_33(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_9_34(int (*arg0)(struct ixgbe_hw * , unsigned int , unsigned int ) , struct ixgbe_hw *arg1 , unsigned int arg2 , unsigned int arg3 ) ; void ldv_dummy_resourceless_instance_callback_9_37(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_9_38(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_9_39(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_9_40(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_9_41(int (*arg0)(struct ixgbe_hw * , unsigned int ) , struct ixgbe_hw *arg1 , unsigned int arg2 ) ; void ldv_dummy_resourceless_instance_callback_9_44(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_9_45(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_9_46(int (*arg0)(struct ixgbe_hw * , unsigned short * ) , struct ixgbe_hw *arg1 , unsigned short *arg2 ) ; void ldv_dummy_resourceless_instance_callback_9_49(int (*arg0)(struct ixgbe_hw * , unsigned short * ) , struct ixgbe_hw *arg1 , unsigned short *arg2 ) ; void ldv_dummy_resourceless_instance_callback_9_52(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_9_53(int (*arg0)(struct ixgbe_hw * , unsigned int * , _Bool * ) , struct ixgbe_hw *arg1 , unsigned int *arg2 , _Bool *arg3 ) ; void ldv_dummy_resourceless_instance_callback_9_56(int (*arg0)(struct ixgbe_hw * , unsigned char * ) , struct ixgbe_hw *arg1 , unsigned char *arg2 ) ; void ldv_dummy_resourceless_instance_callback_9_59(enum ixgbe_media_type (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_9_60(int (*arg0)(struct ixgbe_hw * , unsigned char * ) , struct ixgbe_hw *arg1 , unsigned char *arg2 ) ; void ldv_dummy_resourceless_instance_callback_9_63(unsigned int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_9_64(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_9_65(int (*arg0)(struct ixgbe_hw * , unsigned short * , unsigned short * ) , struct ixgbe_hw *arg1 , unsigned short *arg2 , unsigned short *arg3 ) ; void ldv_dummy_resourceless_instance_callback_9_68(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_9_69(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_9_70(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_9_71(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_9_72(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_9_73(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_9_74(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_9_75(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_9_76(int (*arg0)(struct ixgbe_hw * , unsigned int ) , struct ixgbe_hw *arg1 , unsigned int arg2 ) ; void ldv_dummy_resourceless_instance_callback_9_79(int (*arg0)(struct ixgbe_hw * , unsigned int ) , struct ixgbe_hw *arg1 , unsigned int arg2 ) ; void ldv_dummy_resourceless_instance_callback_9_82(_Bool (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) ; void ldv_dummy_resourceless_instance_callback_9_83(int (*arg0)(struct ixgbe_hw * , unsigned int * , unsigned short , unsigned short ) , struct ixgbe_hw *arg1 , unsigned int *arg2 , unsigned short arg3 , unsigned short arg4 ) ; void ldv_dummy_resourceless_instance_callback_9_86(int (*arg0)(struct ixgbe_hw * , unsigned int , unsigned char * ) , struct ixgbe_hw *arg1 , unsigned int arg2 , unsigned char *arg3 ) ; void ldv_dummy_resourceless_instance_callback_9_89(int (*arg0)(struct ixgbe_hw * , unsigned short , unsigned short , unsigned short * ) , struct ixgbe_hw *arg1 , unsigned short arg2 , unsigned short arg3 , unsigned short *arg4 ) ; void ldv_dummy_resourceless_instance_callback_9_9(int (*arg0)(struct ixgbe_hw * , unsigned int ) , struct ixgbe_hw *arg1 , unsigned int arg2 ) ; void ldv_dummy_resourceless_instance_callback_9_92(int (*arg0)(struct ixgbe_hw * , unsigned char , unsigned char , unsigned char * ) , struct ixgbe_hw *arg1 , unsigned char arg2 , unsigned char arg3 , unsigned char *arg4 ) ; void ldv_dummy_resourceless_instance_callback_9_95(int (*arg0)(struct ixgbe_hw * , unsigned char , unsigned char * ) , struct ixgbe_hw *arg1 , unsigned char arg2 , unsigned char *arg3 ) ; void ldv_dummy_resourceless_instance_callback_9_98(int (*arg0)(struct ixgbe_hw * , unsigned char , unsigned char * ) , struct ixgbe_hw *arg1 , unsigned char arg2 , unsigned char *arg3 ) ; void ldv_entry_EMGentry_31(void *arg0 ) ; int main(void) ; void ldv_file_operations_file_operations_instance_0(void *arg0 ) ; void ldv_file_operations_file_operations_instance_1(void *arg0 ) ; void ldv_free_irq(void *arg0 , int arg1 , void *arg2 ) ; void ldv_free_netdev(void *arg0 , struct net_device *arg1 ) ; void ldv_initialize_external_data(void) ; enum irqreturn ldv_interrupt_instance_handler_2_5(enum irqreturn (*arg0)(int , void * ) , int arg1 , void *arg2 ) ; enum irqreturn ldv_interrupt_instance_handler_3_5(enum irqreturn (*arg0)(int , void * ) , int arg1 , void *arg2 ) ; enum irqreturn ldv_interrupt_instance_handler_4_5(enum irqreturn (*arg0)(int , void * ) , int arg1 , void *arg2 ) ; void ldv_interrupt_instance_thread_2_3(enum irqreturn (*arg0)(int , void * ) , int arg1 , void *arg2 ) ; void ldv_interrupt_instance_thread_3_3(enum irqreturn (*arg0)(int , void * ) , int arg1 , void *arg2 ) ; void ldv_interrupt_instance_thread_4_3(enum irqreturn (*arg0)(int , void * ) , int arg1 , void *arg2 ) ; void ldv_interrupt_instance_thread_5_3(enum irqreturn (*arg0)(int , void * ) , int arg1 , void *arg2 ) ; void ldv_interrupt_interrupt_instance_2(void *arg0 ) ; void ldv_interrupt_interrupt_instance_3(void *arg0 ) ; void ldv_interrupt_interrupt_instance_4(void *arg0 ) ; void ldv_interrupt_interrupt_instance_5(void *arg0 ) ; int ldv_mod_timer(int arg0 , struct timer_list *arg1 , unsigned long arg2 ) ; void ldv_net_dummy_resourceless_instance_6(void *arg0 ) ; void ldv_pci_instance_callback_7_10(unsigned int (*arg0)(struct pci_dev * , enum pci_channel_state ) , struct pci_dev *arg1 , enum pci_channel_state arg2 ) ; void ldv_pci_instance_callback_7_23(void (*arg0)(struct pci_dev * ) , struct pci_dev *arg1 ) ; void ldv_pci_instance_callback_7_24(unsigned int (*arg0)(struct pci_dev * ) , struct pci_dev *arg1 ) ; void ldv_pci_instance_callback_7_25(int (*arg0)(struct pci_dev * , int ) , struct pci_dev *arg1 , int arg2 ) ; int ldv_pci_instance_probe_7_17(int (*arg0)(struct pci_dev * , struct pci_device_id * ) , struct pci_dev *arg1 , struct pci_device_id *arg2 ) ; void ldv_pci_instance_release_7_2(void (*arg0)(struct pci_dev * ) , struct pci_dev *arg1 ) ; void ldv_pci_instance_resume_7_5(int (*arg0)(struct pci_dev * ) , struct pci_dev *arg1 ) ; void ldv_pci_instance_resume_early_7_6(int (*arg0)(struct pci_dev * ) , struct pci_dev *arg1 ) ; void ldv_pci_instance_shutdown_7_3(void (*arg0)(struct pci_dev * ) , struct pci_dev *arg1 ) ; int ldv_pci_instance_suspend_7_8(int (*arg0)(struct pci_dev * , struct pm_message ) , struct pci_dev *arg1 , struct pm_message arg2 ) ; int ldv_pci_instance_suspend_late_7_7(int (*arg0)(struct pci_dev * , struct pm_message ) , struct pci_dev *arg1 , struct pm_message arg2 ) ; void ldv_pci_pci_instance_7(void *arg0 ) ; void ldv_pci_unregister_driver(void *arg0 , struct pci_driver *arg1 ) ; int ldv_register_netdev(int arg0 , struct net_device *arg1 ) ; int ldv_register_netdev_open_21_6(int (*arg0)(struct net_device * ) , struct net_device *arg1 ) ; int ldv_request_irq(int arg0 , unsigned int arg1 , enum irqreturn (*arg2)(int , void * ) , unsigned long arg3 , char *arg4 , void *arg5 ) ; void ldv_struct_ixgbe_phy_operations_dummy_resourceless_instance_10(void *arg0 ) ; void ldv_struct_ixgbe_phy_operations_dummy_resourceless_instance_11(void *arg0 ) ; void ldv_struct_ixgbe_phy_operations_dummy_resourceless_instance_12(void *arg0 ) ; void ldv_struct_ixgbe_phy_operations_dummy_resourceless_instance_13(void *arg0 ) ; void ldv_struct_ixgbe_phy_operations_dummy_resourceless_instance_8(void *arg0 ) ; void ldv_struct_ixgbe_phy_operations_dummy_resourceless_instance_9(void *arg0 ) ; void ldv_struct_notifier_block_dummy_resourceless_instance_14(void *arg0 ) ; int ldv_switch_0(void) ; int ldv_switch_1(void) ; int ldv_switch_2(void) ; int ldv_switch_3(void) ; void ldv_switch_automaton_state_0_15(void) ; void ldv_switch_automaton_state_0_6(void) ; void ldv_switch_automaton_state_10_1(void) ; void ldv_switch_automaton_state_10_5(void) ; void ldv_switch_automaton_state_11_1(void) ; void ldv_switch_automaton_state_11_5(void) ; void ldv_switch_automaton_state_12_1(void) ; void ldv_switch_automaton_state_12_5(void) ; void ldv_switch_automaton_state_13_1(void) ; void ldv_switch_automaton_state_13_5(void) ; void ldv_switch_automaton_state_14_1(void) ; void ldv_switch_automaton_state_14_5(void) ; void ldv_switch_automaton_state_15_1(void) ; void ldv_switch_automaton_state_15_3(void) ; void ldv_switch_automaton_state_1_15(void) ; void ldv_switch_automaton_state_1_6(void) ; void ldv_switch_automaton_state_2_1(void) ; void ldv_switch_automaton_state_2_6(void) ; void ldv_switch_automaton_state_3_1(void) ; void ldv_switch_automaton_state_3_6(void) ; void ldv_switch_automaton_state_4_1(void) ; void ldv_switch_automaton_state_4_6(void) ; void ldv_switch_automaton_state_5_6(void) ; void ldv_switch_automaton_state_6_1(void) ; void ldv_switch_automaton_state_6_5(void) ; void ldv_switch_automaton_state_7_11(void) ; void ldv_switch_automaton_state_7_20(void) ; void ldv_switch_automaton_state_8_1(void) ; void ldv_switch_automaton_state_8_5(void) ; void ldv_switch_automaton_state_9_1(void) ; void ldv_switch_automaton_state_9_5(void) ; void ldv_timer_instance_callback_15_2(void (*arg0)(unsigned long ) , unsigned long arg1 ) ; void ldv_timer_timer_instance_15(void *arg0 ) ; void ldv_unregister_netdev(void *arg0 , struct net_device *arg1 ) ; void ldv_unregister_netdev_stop_26_2(int (*arg0)(struct net_device * ) , struct net_device *arg1 ) ; char *ldv_0_ldv_param_4_1_default ; long long *ldv_0_ldv_param_4_3_default ; char *ldv_0_ldv_param_5_1_default ; long long *ldv_0_ldv_param_5_3_default ; struct file *ldv_0_resource_file ; struct inode *ldv_0_resource_inode ; int ldv_0_ret_default ; unsigned long ldv_0_size_cnt_write_size ; int (*ldv_10_callback_acquire_swfw_sync)(struct ixgbe_hw * , unsigned short ) ; int (*ldv_10_callback_blink_led_start)(struct ixgbe_hw * , unsigned int ) ; int (*ldv_10_callback_blink_led_stop)(struct ixgbe_hw * , unsigned int ) ; unsigned short (*ldv_10_callback_calc_checksum)(struct ixgbe_hw * ) ; int (*ldv_10_callback_check_for_ack)(struct ixgbe_hw * , unsigned short ) ; int (*ldv_10_callback_check_for_msg)(struct ixgbe_hw * , unsigned short ) ; int (*ldv_10_callback_check_for_rst)(struct ixgbe_hw * , unsigned short ) ; int (*ldv_10_callback_check_link)(struct ixgbe_hw * , unsigned int * , _Bool * , _Bool ) ; int (*ldv_10_callback_check_overtemp)(struct ixgbe_hw * ) ; int (*ldv_10_callback_clear_hw_cntrs)(struct ixgbe_hw * ) ; int (*ldv_10_callback_clear_rar)(struct ixgbe_hw * , unsigned int ) ; int (*ldv_10_callback_clear_vfta)(struct ixgbe_hw * ) ; int (*ldv_10_callback_clear_vmdq)(struct ixgbe_hw * , unsigned int , unsigned int ) ; int (*ldv_10_callback_disable_mc)(struct ixgbe_hw * ) ; int (*ldv_10_callback_disable_rx_buff)(struct ixgbe_hw * ) ; int (*ldv_10_callback_enable_mc)(struct ixgbe_hw * ) ; int (*ldv_10_callback_enable_rx_buff)(struct ixgbe_hw * ) ; int (*ldv_10_callback_enable_rx_dma)(struct ixgbe_hw * , unsigned int ) ; int (*ldv_10_callback_fc_enable)(struct ixgbe_hw * ) ; int (*ldv_10_callback_get_bus_info)(struct ixgbe_hw * ) ; int (*ldv_10_callback_get_device_caps)(struct ixgbe_hw * , unsigned short * ) ; int (*ldv_10_callback_get_firmware_version)(struct ixgbe_hw * , unsigned short * ) ; int (*ldv_10_callback_get_invariants)(struct ixgbe_hw * ) ; int (*ldv_10_callback_get_link_capabilities)(struct ixgbe_hw * , unsigned int * , _Bool * ) ; int (*ldv_10_callback_get_mac_addr)(struct ixgbe_hw * , unsigned char * ) ; enum ixgbe_media_type (*ldv_10_callback_get_media_type)(struct ixgbe_hw * ) ; int (*ldv_10_callback_get_san_mac_addr)(struct ixgbe_hw * , unsigned char * ) ; unsigned int (*ldv_10_callback_get_supported_physical_layer)(struct ixgbe_hw * ) ; int (*ldv_10_callback_get_thermal_sensor_data)(struct ixgbe_hw * ) ; int (*ldv_10_callback_get_wwn_prefix)(struct ixgbe_hw * , unsigned short * , unsigned short * ) ; int (*ldv_10_callback_identify)(struct ixgbe_hw * ) ; int (*ldv_10_callback_identify_sfp)(struct ixgbe_hw * ) ; int (*ldv_10_callback_init)(struct ixgbe_hw * ) ; int (*ldv_10_callback_init_hw)(struct ixgbe_hw * ) ; int (*ldv_10_callback_init_params)(struct ixgbe_hw * ) ; int (*ldv_10_callback_init_rx_addrs)(struct ixgbe_hw * ) ; int (*ldv_10_callback_init_thermal_sensor_thresh)(struct ixgbe_hw * ) ; int (*ldv_10_callback_init_uta_tables)(struct ixgbe_hw * ) ; int (*ldv_10_callback_led_off)(struct ixgbe_hw * , unsigned int ) ; int (*ldv_10_callback_led_on)(struct ixgbe_hw * , unsigned int ) ; _Bool (*ldv_10_callback_mng_fw_enabled)(struct ixgbe_hw * ) ; int (*ldv_10_callback_read)(struct ixgbe_hw * , unsigned int * , unsigned short , unsigned short ) ; int (*ldv_10_callback_read_analog_reg8)(struct ixgbe_hw * , unsigned int , unsigned char * ) ; int (*ldv_10_callback_read_buffer)(struct ixgbe_hw * , unsigned short , unsigned short , unsigned short * ) ; int (*ldv_10_callback_read_i2c_byte)(struct ixgbe_hw * , unsigned char , unsigned char , unsigned char * ) ; int (*ldv_10_callback_read_i2c_eeprom)(struct ixgbe_hw * , unsigned char , unsigned char * ) ; int (*ldv_10_callback_read_i2c_sff8472)(struct ixgbe_hw * , unsigned char , unsigned char * ) ; int (*ldv_10_callback_read_posted)(struct ixgbe_hw * , unsigned int * , unsigned short , unsigned short ) ; int (*ldv_10_callback_read_reg)(struct ixgbe_hw * , unsigned int , unsigned int , unsigned short * ) ; int (*ldv_10_callback_read_reg_mdi)(struct ixgbe_hw * , unsigned int , unsigned int , unsigned short * ) ; void (*ldv_10_callback_release_swfw_sync)(struct ixgbe_hw * , unsigned short ) ; int (*ldv_10_callback_reset)(struct ixgbe_hw * ) ; int (*ldv_10_callback_reset_hw)(struct ixgbe_hw * ) ; int (*ldv_10_callback_set_fw_drv_ver)(struct ixgbe_hw * , unsigned char , unsigned char , unsigned char , unsigned char ) ; void (*ldv_10_callback_set_lan_id)(struct ixgbe_hw * ) ; void (*ldv_10_callback_set_mac_anti_spoofing)(struct ixgbe_hw * , _Bool , int ) ; int (*ldv_10_callback_set_rar)(struct ixgbe_hw * , unsigned int , unsigned char * , unsigned int , unsigned int ) ; void (*ldv_10_callback_set_rxpba)(struct ixgbe_hw * , int , unsigned int , int ) ; int (*ldv_10_callback_set_vfta)(struct ixgbe_hw * , unsigned int , unsigned int , _Bool ) ; void (*ldv_10_callback_set_vlan_anti_spoofing)(struct ixgbe_hw * , _Bool , int ) ; int (*ldv_10_callback_set_vmdq)(struct ixgbe_hw * , unsigned int , unsigned int ) ; int (*ldv_10_callback_set_vmdq_san_mac)(struct ixgbe_hw * , unsigned int ) ; int (*ldv_10_callback_setup_link)(struct ixgbe_hw * ) ; int (*ldv_10_callback_setup_link_speed)(struct ixgbe_hw * , unsigned int , _Bool ) ; int (*ldv_10_callback_setup_sfp)(struct ixgbe_hw * ) ; int (*ldv_10_callback_start_hw)(struct ixgbe_hw * ) ; int (*ldv_10_callback_stop_adapter)(struct ixgbe_hw * ) ; void (*ldv_10_callback_stop_link_on_d3)(struct ixgbe_hw * ) ; int (*ldv_10_callback_update_checksum)(struct ixgbe_hw * ) ; int (*ldv_10_callback_update_mc_addr_list)(struct ixgbe_hw * , struct net_device * ) ; int (*ldv_10_callback_validate_checksum)(struct ixgbe_hw * , unsigned short * ) ; int (*ldv_10_callback_write)(struct ixgbe_hw * , unsigned int * , unsigned short , unsigned short ) ; int (*ldv_10_callback_write_analog_reg8)(struct ixgbe_hw * , unsigned int , unsigned char ) ; int (*ldv_10_callback_write_buffer)(struct ixgbe_hw * , unsigned short , unsigned short , unsigned short * ) ; int (*ldv_10_callback_write_i2c_byte)(struct ixgbe_hw * , unsigned char , unsigned char , unsigned char ) ; int (*ldv_10_callback_write_i2c_eeprom)(struct ixgbe_hw * , unsigned char , unsigned char ) ; int (*ldv_10_callback_write_posted)(struct ixgbe_hw * , unsigned int * , unsigned short , unsigned short ) ; int (*ldv_10_callback_write_reg)(struct ixgbe_hw * , unsigned int , unsigned int , unsigned short ) ; int (*ldv_10_callback_write_reg_mdi)(struct ixgbe_hw * , unsigned int , unsigned int , unsigned short ) ; struct ixgbe_hw *ldv_10_container_struct_ixgbe_hw_ptr ; struct net_device *ldv_10_container_struct_net_device_ptr ; unsigned int *ldv_10_ldv_param_101_1_default ; unsigned short ldv_10_ldv_param_101_2_default ; unsigned short ldv_10_ldv_param_101_3_default ; unsigned int ldv_10_ldv_param_104_1_default ; unsigned int ldv_10_ldv_param_104_2_default ; unsigned short *ldv_10_ldv_param_104_3_default ; unsigned int ldv_10_ldv_param_107_1_default ; unsigned int ldv_10_ldv_param_107_2_default ; unsigned short *ldv_10_ldv_param_107_3_default ; unsigned short ldv_10_ldv_param_110_1_default ; unsigned char ldv_10_ldv_param_115_1_default ; unsigned char ldv_10_ldv_param_115_2_default ; unsigned char ldv_10_ldv_param_115_3_default ; unsigned char ldv_10_ldv_param_115_4_default ; _Bool ldv_10_ldv_param_119_1_default ; int ldv_10_ldv_param_119_2_default ; unsigned int ldv_10_ldv_param_122_1_default ; unsigned char *ldv_10_ldv_param_122_2_default ; unsigned int ldv_10_ldv_param_122_3_default ; unsigned int ldv_10_ldv_param_122_4_default ; int ldv_10_ldv_param_125_1_default ; unsigned int ldv_10_ldv_param_125_2_default ; int ldv_10_ldv_param_125_3_default ; unsigned int ldv_10_ldv_param_128_1_default ; unsigned int ldv_10_ldv_param_128_2_default ; _Bool ldv_10_ldv_param_128_3_default ; unsigned int ldv_10_ldv_param_12_1_default ; _Bool ldv_10_ldv_param_131_1_default ; int ldv_10_ldv_param_131_2_default ; unsigned int ldv_10_ldv_param_134_1_default ; unsigned int ldv_10_ldv_param_134_2_default ; unsigned int ldv_10_ldv_param_137_1_default ; unsigned int ldv_10_ldv_param_141_1_default ; _Bool ldv_10_ldv_param_141_2_default ; unsigned short *ldv_10_ldv_param_150_1_default ; unsigned int *ldv_10_ldv_param_153_1_default ; unsigned short ldv_10_ldv_param_153_2_default ; unsigned short ldv_10_ldv_param_153_3_default ; unsigned int ldv_10_ldv_param_156_1_default ; unsigned char ldv_10_ldv_param_156_2_default ; unsigned short ldv_10_ldv_param_159_1_default ; unsigned short ldv_10_ldv_param_159_2_default ; unsigned short *ldv_10_ldv_param_159_3_default ; unsigned char ldv_10_ldv_param_162_1_default ; unsigned char ldv_10_ldv_param_162_2_default ; unsigned char ldv_10_ldv_param_162_3_default ; unsigned char ldv_10_ldv_param_165_1_default ; unsigned char ldv_10_ldv_param_165_2_default ; unsigned int *ldv_10_ldv_param_168_1_default ; unsigned short ldv_10_ldv_param_168_2_default ; unsigned short ldv_10_ldv_param_168_3_default ; unsigned short ldv_10_ldv_param_16_1_default ; unsigned int ldv_10_ldv_param_171_1_default ; unsigned int ldv_10_ldv_param_171_2_default ; unsigned short ldv_10_ldv_param_171_3_default ; unsigned int ldv_10_ldv_param_174_1_default ; unsigned int ldv_10_ldv_param_174_2_default ; unsigned short ldv_10_ldv_param_174_3_default ; unsigned short ldv_10_ldv_param_19_1_default ; unsigned short ldv_10_ldv_param_22_1_default ; unsigned int *ldv_10_ldv_param_25_1_default ; _Bool *ldv_10_ldv_param_25_2_default ; _Bool ldv_10_ldv_param_25_3_default ; unsigned int ldv_10_ldv_param_30_1_default ; unsigned int ldv_10_ldv_param_34_1_default ; unsigned int ldv_10_ldv_param_34_2_default ; unsigned short ldv_10_ldv_param_3_1_default ; unsigned int ldv_10_ldv_param_41_1_default ; unsigned short *ldv_10_ldv_param_46_1_default ; unsigned short *ldv_10_ldv_param_49_1_default ; unsigned int *ldv_10_ldv_param_53_1_default ; _Bool *ldv_10_ldv_param_53_2_default ; unsigned char *ldv_10_ldv_param_56_1_default ; unsigned char *ldv_10_ldv_param_60_1_default ; unsigned short *ldv_10_ldv_param_65_1_default ; unsigned short *ldv_10_ldv_param_65_2_default ; unsigned int ldv_10_ldv_param_76_1_default ; unsigned int ldv_10_ldv_param_79_1_default ; unsigned int *ldv_10_ldv_param_83_1_default ; unsigned short ldv_10_ldv_param_83_2_default ; unsigned short ldv_10_ldv_param_83_3_default ; unsigned int ldv_10_ldv_param_86_1_default ; unsigned char *ldv_10_ldv_param_86_2_default ; unsigned short ldv_10_ldv_param_89_1_default ; unsigned short ldv_10_ldv_param_89_2_default ; unsigned short *ldv_10_ldv_param_89_3_default ; unsigned char ldv_10_ldv_param_92_1_default ; unsigned char ldv_10_ldv_param_92_2_default ; unsigned char *ldv_10_ldv_param_92_3_default ; unsigned char ldv_10_ldv_param_95_1_default ; unsigned char *ldv_10_ldv_param_95_2_default ; unsigned char ldv_10_ldv_param_98_1_default ; unsigned char *ldv_10_ldv_param_98_2_default ; unsigned int ldv_10_ldv_param_9_1_default ; int (*ldv_11_callback_acquire_swfw_sync)(struct ixgbe_hw * , unsigned short ) ; int (*ldv_11_callback_blink_led_start)(struct ixgbe_hw * , unsigned int ) ; int (*ldv_11_callback_blink_led_stop)(struct ixgbe_hw * , unsigned int ) ; unsigned short (*ldv_11_callback_calc_checksum)(struct ixgbe_hw * ) ; int (*ldv_11_callback_check_for_ack)(struct ixgbe_hw * , unsigned short ) ; int (*ldv_11_callback_check_for_msg)(struct ixgbe_hw * , unsigned short ) ; int (*ldv_11_callback_check_for_rst)(struct ixgbe_hw * , unsigned short ) ; int (*ldv_11_callback_check_link)(struct ixgbe_hw * , unsigned int * , _Bool * , _Bool ) ; int (*ldv_11_callback_check_overtemp)(struct ixgbe_hw * ) ; int (*ldv_11_callback_clear_hw_cntrs)(struct ixgbe_hw * ) ; int (*ldv_11_callback_clear_rar)(struct ixgbe_hw * , unsigned int ) ; int (*ldv_11_callback_clear_vfta)(struct ixgbe_hw * ) ; int (*ldv_11_callback_clear_vmdq)(struct ixgbe_hw * , unsigned int , unsigned int ) ; int (*ldv_11_callback_disable_mc)(struct ixgbe_hw * ) ; int (*ldv_11_callback_disable_rx_buff)(struct ixgbe_hw * ) ; int (*ldv_11_callback_enable_mc)(struct ixgbe_hw * ) ; int (*ldv_11_callback_enable_rx_buff)(struct ixgbe_hw * ) ; int (*ldv_11_callback_enable_rx_dma)(struct ixgbe_hw * , unsigned int ) ; int (*ldv_11_callback_fc_enable)(struct ixgbe_hw * ) ; int (*ldv_11_callback_get_bus_info)(struct ixgbe_hw * ) ; int (*ldv_11_callback_get_device_caps)(struct ixgbe_hw * , unsigned short * ) ; int (*ldv_11_callback_get_firmware_version)(struct ixgbe_hw * , unsigned short * ) ; int (*ldv_11_callback_get_invariants)(struct ixgbe_hw * ) ; int (*ldv_11_callback_get_link_capabilities)(struct ixgbe_hw * , unsigned int * , _Bool * ) ; int (*ldv_11_callback_get_mac_addr)(struct ixgbe_hw * , unsigned char * ) ; enum ixgbe_media_type (*ldv_11_callback_get_media_type)(struct ixgbe_hw * ) ; int (*ldv_11_callback_get_san_mac_addr)(struct ixgbe_hw * , unsigned char * ) ; unsigned int (*ldv_11_callback_get_supported_physical_layer)(struct ixgbe_hw * ) ; int (*ldv_11_callback_get_thermal_sensor_data)(struct ixgbe_hw * ) ; int (*ldv_11_callback_get_wwn_prefix)(struct ixgbe_hw * , unsigned short * , unsigned short * ) ; int (*ldv_11_callback_identify)(struct ixgbe_hw * ) ; int (*ldv_11_callback_identify_sfp)(struct ixgbe_hw * ) ; int (*ldv_11_callback_init)(struct ixgbe_hw * ) ; int (*ldv_11_callback_init_hw)(struct ixgbe_hw * ) ; int (*ldv_11_callback_init_params)(struct ixgbe_hw * ) ; int (*ldv_11_callback_init_rx_addrs)(struct ixgbe_hw * ) ; int (*ldv_11_callback_init_thermal_sensor_thresh)(struct ixgbe_hw * ) ; int (*ldv_11_callback_init_uta_tables)(struct ixgbe_hw * ) ; int (*ldv_11_callback_led_off)(struct ixgbe_hw * , unsigned int ) ; int (*ldv_11_callback_led_on)(struct ixgbe_hw * , unsigned int ) ; _Bool (*ldv_11_callback_mng_fw_enabled)(struct ixgbe_hw * ) ; int (*ldv_11_callback_read)(struct ixgbe_hw * , unsigned int * , unsigned short , unsigned short ) ; int (*ldv_11_callback_read_analog_reg8)(struct ixgbe_hw * , unsigned int , unsigned char * ) ; int (*ldv_11_callback_read_buffer)(struct ixgbe_hw * , unsigned short , unsigned short , unsigned short * ) ; int (*ldv_11_callback_read_i2c_byte)(struct ixgbe_hw * , unsigned char , unsigned char , unsigned char * ) ; int (*ldv_11_callback_read_i2c_eeprom)(struct ixgbe_hw * , unsigned char , unsigned char * ) ; int (*ldv_11_callback_read_i2c_sff8472)(struct ixgbe_hw * , unsigned char , unsigned char * ) ; int (*ldv_11_callback_read_posted)(struct ixgbe_hw * , unsigned int * , unsigned short , unsigned short ) ; int (*ldv_11_callback_read_reg)(struct ixgbe_hw * , unsigned int , unsigned int , unsigned short * ) ; int (*ldv_11_callback_read_reg_mdi)(struct ixgbe_hw * , unsigned int , unsigned int , unsigned short * ) ; void (*ldv_11_callback_release_swfw_sync)(struct ixgbe_hw * , unsigned short ) ; int (*ldv_11_callback_reset)(struct ixgbe_hw * ) ; int (*ldv_11_callback_reset_hw)(struct ixgbe_hw * ) ; int (*ldv_11_callback_set_fw_drv_ver)(struct ixgbe_hw * , unsigned char , unsigned char , unsigned char , unsigned char ) ; void (*ldv_11_callback_set_lan_id)(struct ixgbe_hw * ) ; void (*ldv_11_callback_set_mac_anti_spoofing)(struct ixgbe_hw * , _Bool , int ) ; int (*ldv_11_callback_set_rar)(struct ixgbe_hw * , unsigned int , unsigned char * , unsigned int , unsigned int ) ; void (*ldv_11_callback_set_rxpba)(struct ixgbe_hw * , int , unsigned int , int ) ; int (*ldv_11_callback_set_vfta)(struct ixgbe_hw * , unsigned int , unsigned int , _Bool ) ; void (*ldv_11_callback_set_vlan_anti_spoofing)(struct ixgbe_hw * , _Bool , int ) ; int (*ldv_11_callback_set_vmdq)(struct ixgbe_hw * , unsigned int , unsigned int ) ; int (*ldv_11_callback_set_vmdq_san_mac)(struct ixgbe_hw * , unsigned int ) ; int (*ldv_11_callback_setup_link)(struct ixgbe_hw * ) ; int (*ldv_11_callback_setup_link_speed)(struct ixgbe_hw * , unsigned int , _Bool ) ; int (*ldv_11_callback_setup_sfp)(struct ixgbe_hw * ) ; int (*ldv_11_callback_start_hw)(struct ixgbe_hw * ) ; int (*ldv_11_callback_stop_adapter)(struct ixgbe_hw * ) ; void (*ldv_11_callback_stop_link_on_d3)(struct ixgbe_hw * ) ; int (*ldv_11_callback_update_checksum)(struct ixgbe_hw * ) ; int (*ldv_11_callback_update_mc_addr_list)(struct ixgbe_hw * , struct net_device * ) ; int (*ldv_11_callback_validate_checksum)(struct ixgbe_hw * , unsigned short * ) ; int (*ldv_11_callback_write)(struct ixgbe_hw * , unsigned int * , unsigned short , unsigned short ) ; int (*ldv_11_callback_write_analog_reg8)(struct ixgbe_hw * , unsigned int , unsigned char ) ; int (*ldv_11_callback_write_buffer)(struct ixgbe_hw * , unsigned short , unsigned short , unsigned short * ) ; int (*ldv_11_callback_write_i2c_byte)(struct ixgbe_hw * , unsigned char , unsigned char , unsigned char ) ; int (*ldv_11_callback_write_i2c_eeprom)(struct ixgbe_hw * , unsigned char , unsigned char ) ; int (*ldv_11_callback_write_posted)(struct ixgbe_hw * , unsigned int * , unsigned short , unsigned short ) ; int (*ldv_11_callback_write_reg)(struct ixgbe_hw * , unsigned int , unsigned int , unsigned short ) ; int (*ldv_11_callback_write_reg_mdi)(struct ixgbe_hw * , unsigned int , unsigned int , unsigned short ) ; struct ixgbe_hw *ldv_11_container_struct_ixgbe_hw_ptr ; struct net_device *ldv_11_container_struct_net_device_ptr ; unsigned int *ldv_11_ldv_param_101_1_default ; unsigned short ldv_11_ldv_param_101_2_default ; unsigned short ldv_11_ldv_param_101_3_default ; unsigned int ldv_11_ldv_param_104_1_default ; unsigned int ldv_11_ldv_param_104_2_default ; unsigned short *ldv_11_ldv_param_104_3_default ; unsigned int ldv_11_ldv_param_107_1_default ; unsigned int ldv_11_ldv_param_107_2_default ; unsigned short *ldv_11_ldv_param_107_3_default ; unsigned short ldv_11_ldv_param_110_1_default ; unsigned char ldv_11_ldv_param_115_1_default ; unsigned char ldv_11_ldv_param_115_2_default ; unsigned char ldv_11_ldv_param_115_3_default ; unsigned char ldv_11_ldv_param_115_4_default ; _Bool ldv_11_ldv_param_119_1_default ; int ldv_11_ldv_param_119_2_default ; unsigned int ldv_11_ldv_param_122_1_default ; unsigned char *ldv_11_ldv_param_122_2_default ; unsigned int ldv_11_ldv_param_122_3_default ; unsigned int ldv_11_ldv_param_122_4_default ; int ldv_11_ldv_param_125_1_default ; unsigned int ldv_11_ldv_param_125_2_default ; int ldv_11_ldv_param_125_3_default ; unsigned int ldv_11_ldv_param_128_1_default ; unsigned int ldv_11_ldv_param_128_2_default ; _Bool ldv_11_ldv_param_128_3_default ; unsigned int ldv_11_ldv_param_12_1_default ; _Bool ldv_11_ldv_param_131_1_default ; int ldv_11_ldv_param_131_2_default ; unsigned int ldv_11_ldv_param_134_1_default ; unsigned int ldv_11_ldv_param_134_2_default ; unsigned int ldv_11_ldv_param_137_1_default ; unsigned int ldv_11_ldv_param_141_1_default ; _Bool ldv_11_ldv_param_141_2_default ; unsigned short *ldv_11_ldv_param_150_1_default ; unsigned int *ldv_11_ldv_param_153_1_default ; unsigned short ldv_11_ldv_param_153_2_default ; unsigned short ldv_11_ldv_param_153_3_default ; unsigned int ldv_11_ldv_param_156_1_default ; unsigned char ldv_11_ldv_param_156_2_default ; unsigned short ldv_11_ldv_param_159_1_default ; unsigned short ldv_11_ldv_param_159_2_default ; unsigned short *ldv_11_ldv_param_159_3_default ; unsigned char ldv_11_ldv_param_162_1_default ; unsigned char ldv_11_ldv_param_162_2_default ; unsigned char ldv_11_ldv_param_162_3_default ; unsigned char ldv_11_ldv_param_165_1_default ; unsigned char ldv_11_ldv_param_165_2_default ; unsigned int *ldv_11_ldv_param_168_1_default ; unsigned short ldv_11_ldv_param_168_2_default ; unsigned short ldv_11_ldv_param_168_3_default ; unsigned short ldv_11_ldv_param_16_1_default ; unsigned int ldv_11_ldv_param_171_1_default ; unsigned int ldv_11_ldv_param_171_2_default ; unsigned short ldv_11_ldv_param_171_3_default ; unsigned int ldv_11_ldv_param_174_1_default ; unsigned int ldv_11_ldv_param_174_2_default ; unsigned short ldv_11_ldv_param_174_3_default ; unsigned short ldv_11_ldv_param_19_1_default ; unsigned short ldv_11_ldv_param_22_1_default ; unsigned int *ldv_11_ldv_param_25_1_default ; _Bool *ldv_11_ldv_param_25_2_default ; _Bool ldv_11_ldv_param_25_3_default ; unsigned int ldv_11_ldv_param_30_1_default ; unsigned int ldv_11_ldv_param_34_1_default ; unsigned int ldv_11_ldv_param_34_2_default ; unsigned short ldv_11_ldv_param_3_1_default ; unsigned int ldv_11_ldv_param_41_1_default ; unsigned short *ldv_11_ldv_param_46_1_default ; unsigned short *ldv_11_ldv_param_49_1_default ; unsigned int *ldv_11_ldv_param_53_1_default ; _Bool *ldv_11_ldv_param_53_2_default ; unsigned char *ldv_11_ldv_param_56_1_default ; unsigned char *ldv_11_ldv_param_60_1_default ; unsigned short *ldv_11_ldv_param_65_1_default ; unsigned short *ldv_11_ldv_param_65_2_default ; unsigned int ldv_11_ldv_param_76_1_default ; unsigned int ldv_11_ldv_param_79_1_default ; unsigned int *ldv_11_ldv_param_83_1_default ; unsigned short ldv_11_ldv_param_83_2_default ; unsigned short ldv_11_ldv_param_83_3_default ; unsigned int ldv_11_ldv_param_86_1_default ; unsigned char *ldv_11_ldv_param_86_2_default ; unsigned short ldv_11_ldv_param_89_1_default ; unsigned short ldv_11_ldv_param_89_2_default ; unsigned short *ldv_11_ldv_param_89_3_default ; unsigned char ldv_11_ldv_param_92_1_default ; unsigned char ldv_11_ldv_param_92_2_default ; unsigned char *ldv_11_ldv_param_92_3_default ; unsigned char ldv_11_ldv_param_95_1_default ; unsigned char *ldv_11_ldv_param_95_2_default ; unsigned char ldv_11_ldv_param_98_1_default ; unsigned char *ldv_11_ldv_param_98_2_default ; unsigned int ldv_11_ldv_param_9_1_default ; int (*ldv_12_callback_acquire_swfw_sync)(struct ixgbe_hw * , unsigned short ) ; int (*ldv_12_callback_blink_led_start)(struct ixgbe_hw * , unsigned int ) ; int (*ldv_12_callback_blink_led_stop)(struct ixgbe_hw * , unsigned int ) ; unsigned short (*ldv_12_callback_calc_checksum)(struct ixgbe_hw * ) ; int (*ldv_12_callback_check_for_ack)(struct ixgbe_hw * , unsigned short ) ; int (*ldv_12_callback_check_for_msg)(struct ixgbe_hw * , unsigned short ) ; int (*ldv_12_callback_check_for_rst)(struct ixgbe_hw * , unsigned short ) ; int (*ldv_12_callback_check_link)(struct ixgbe_hw * , unsigned int * , _Bool * , _Bool ) ; int (*ldv_12_callback_check_overtemp)(struct ixgbe_hw * ) ; int (*ldv_12_callback_clear_hw_cntrs)(struct ixgbe_hw * ) ; int (*ldv_12_callback_clear_rar)(struct ixgbe_hw * , unsigned int ) ; int (*ldv_12_callback_clear_vfta)(struct ixgbe_hw * ) ; int (*ldv_12_callback_clear_vmdq)(struct ixgbe_hw * , unsigned int , unsigned int ) ; int (*ldv_12_callback_disable_mc)(struct ixgbe_hw * ) ; int (*ldv_12_callback_disable_rx_buff)(struct ixgbe_hw * ) ; int (*ldv_12_callback_enable_mc)(struct ixgbe_hw * ) ; int (*ldv_12_callback_enable_rx_buff)(struct ixgbe_hw * ) ; int (*ldv_12_callback_enable_rx_dma)(struct ixgbe_hw * , unsigned int ) ; int (*ldv_12_callback_fc_enable)(struct ixgbe_hw * ) ; int (*ldv_12_callback_get_bus_info)(struct ixgbe_hw * ) ; int (*ldv_12_callback_get_device_caps)(struct ixgbe_hw * , unsigned short * ) ; int (*ldv_12_callback_get_firmware_version)(struct ixgbe_hw * , unsigned short * ) ; int (*ldv_12_callback_get_invariants)(struct ixgbe_hw * ) ; int (*ldv_12_callback_get_link_capabilities)(struct ixgbe_hw * , unsigned int * , _Bool * ) ; int (*ldv_12_callback_get_mac_addr)(struct ixgbe_hw * , unsigned char * ) ; enum ixgbe_media_type (*ldv_12_callback_get_media_type)(struct ixgbe_hw * ) ; int (*ldv_12_callback_get_san_mac_addr)(struct ixgbe_hw * , unsigned char * ) ; unsigned int (*ldv_12_callback_get_supported_physical_layer)(struct ixgbe_hw * ) ; int (*ldv_12_callback_get_thermal_sensor_data)(struct ixgbe_hw * ) ; int (*ldv_12_callback_get_wwn_prefix)(struct ixgbe_hw * , unsigned short * , unsigned short * ) ; int (*ldv_12_callback_identify)(struct ixgbe_hw * ) ; int (*ldv_12_callback_identify_sfp)(struct ixgbe_hw * ) ; int (*ldv_12_callback_init)(struct ixgbe_hw * ) ; int (*ldv_12_callback_init_hw)(struct ixgbe_hw * ) ; int (*ldv_12_callback_init_params)(struct ixgbe_hw * ) ; int (*ldv_12_callback_init_rx_addrs)(struct ixgbe_hw * ) ; int (*ldv_12_callback_init_thermal_sensor_thresh)(struct ixgbe_hw * ) ; int (*ldv_12_callback_init_uta_tables)(struct ixgbe_hw * ) ; int (*ldv_12_callback_led_off)(struct ixgbe_hw * , unsigned int ) ; int (*ldv_12_callback_led_on)(struct ixgbe_hw * , unsigned int ) ; _Bool (*ldv_12_callback_mng_fw_enabled)(struct ixgbe_hw * ) ; int (*ldv_12_callback_read)(struct ixgbe_hw * , unsigned int * , unsigned short , unsigned short ) ; int (*ldv_12_callback_read_analog_reg8)(struct ixgbe_hw * , unsigned int , unsigned char * ) ; int (*ldv_12_callback_read_buffer)(struct ixgbe_hw * , unsigned short , unsigned short , unsigned short * ) ; int (*ldv_12_callback_read_i2c_byte)(struct ixgbe_hw * , unsigned char , unsigned char , unsigned char * ) ; int (*ldv_12_callback_read_i2c_eeprom)(struct ixgbe_hw * , unsigned char , unsigned char * ) ; int (*ldv_12_callback_read_i2c_sff8472)(struct ixgbe_hw * , unsigned char , unsigned char * ) ; int (*ldv_12_callback_read_posted)(struct ixgbe_hw * , unsigned int * , unsigned short , unsigned short ) ; int (*ldv_12_callback_read_reg)(struct ixgbe_hw * , unsigned int , unsigned int , unsigned short * ) ; int (*ldv_12_callback_read_reg_mdi)(struct ixgbe_hw * , unsigned int , unsigned int , unsigned short * ) ; void (*ldv_12_callback_release_swfw_sync)(struct ixgbe_hw * , unsigned short ) ; int (*ldv_12_callback_reset)(struct ixgbe_hw * ) ; int (*ldv_12_callback_reset_hw)(struct ixgbe_hw * ) ; int (*ldv_12_callback_set_fw_drv_ver)(struct ixgbe_hw * , unsigned char , unsigned char , unsigned char , unsigned char ) ; void (*ldv_12_callback_set_lan_id)(struct ixgbe_hw * ) ; void (*ldv_12_callback_set_mac_anti_spoofing)(struct ixgbe_hw * , _Bool , int ) ; int (*ldv_12_callback_set_rar)(struct ixgbe_hw * , unsigned int , unsigned char * , unsigned int , unsigned int ) ; void (*ldv_12_callback_set_rxpba)(struct ixgbe_hw * , int , unsigned int , int ) ; int (*ldv_12_callback_set_vfta)(struct ixgbe_hw * , unsigned int , unsigned int , _Bool ) ; void (*ldv_12_callback_set_vlan_anti_spoofing)(struct ixgbe_hw * , _Bool , int ) ; int (*ldv_12_callback_set_vmdq)(struct ixgbe_hw * , unsigned int , unsigned int ) ; int (*ldv_12_callback_set_vmdq_san_mac)(struct ixgbe_hw * , unsigned int ) ; int (*ldv_12_callback_setup_link)(struct ixgbe_hw * ) ; int (*ldv_12_callback_setup_link_speed)(struct ixgbe_hw * , unsigned int , _Bool ) ; int (*ldv_12_callback_setup_sfp)(struct ixgbe_hw * ) ; int (*ldv_12_callback_start_hw)(struct ixgbe_hw * ) ; int (*ldv_12_callback_stop_adapter)(struct ixgbe_hw * ) ; void (*ldv_12_callback_stop_link_on_d3)(struct ixgbe_hw * ) ; int (*ldv_12_callback_update_checksum)(struct ixgbe_hw * ) ; int (*ldv_12_callback_update_mc_addr_list)(struct ixgbe_hw * , struct net_device * ) ; int (*ldv_12_callback_validate_checksum)(struct ixgbe_hw * , unsigned short * ) ; int (*ldv_12_callback_write)(struct ixgbe_hw * , unsigned int * , unsigned short , unsigned short ) ; int (*ldv_12_callback_write_analog_reg8)(struct ixgbe_hw * , unsigned int , unsigned char ) ; int (*ldv_12_callback_write_buffer)(struct ixgbe_hw * , unsigned short , unsigned short , unsigned short * ) ; int (*ldv_12_callback_write_i2c_byte)(struct ixgbe_hw * , unsigned char , unsigned char , unsigned char ) ; int (*ldv_12_callback_write_i2c_eeprom)(struct ixgbe_hw * , unsigned char , unsigned char ) ; int (*ldv_12_callback_write_posted)(struct ixgbe_hw * , unsigned int * , unsigned short , unsigned short ) ; int (*ldv_12_callback_write_reg)(struct ixgbe_hw * , unsigned int , unsigned int , unsigned short ) ; int (*ldv_12_callback_write_reg_mdi)(struct ixgbe_hw * , unsigned int , unsigned int , unsigned short ) ; struct ixgbe_hw *ldv_12_container_struct_ixgbe_hw_ptr ; struct net_device *ldv_12_container_struct_net_device_ptr ; unsigned int *ldv_12_ldv_param_101_1_default ; unsigned short ldv_12_ldv_param_101_2_default ; unsigned short ldv_12_ldv_param_101_3_default ; unsigned int ldv_12_ldv_param_104_1_default ; unsigned int ldv_12_ldv_param_104_2_default ; unsigned short *ldv_12_ldv_param_104_3_default ; unsigned int ldv_12_ldv_param_107_1_default ; unsigned int ldv_12_ldv_param_107_2_default ; unsigned short *ldv_12_ldv_param_107_3_default ; unsigned short ldv_12_ldv_param_110_1_default ; unsigned char ldv_12_ldv_param_115_1_default ; unsigned char ldv_12_ldv_param_115_2_default ; unsigned char ldv_12_ldv_param_115_3_default ; unsigned char ldv_12_ldv_param_115_4_default ; _Bool ldv_12_ldv_param_119_1_default ; int ldv_12_ldv_param_119_2_default ; unsigned int ldv_12_ldv_param_122_1_default ; unsigned char *ldv_12_ldv_param_122_2_default ; unsigned int ldv_12_ldv_param_122_3_default ; unsigned int ldv_12_ldv_param_122_4_default ; int ldv_12_ldv_param_125_1_default ; unsigned int ldv_12_ldv_param_125_2_default ; int ldv_12_ldv_param_125_3_default ; unsigned int ldv_12_ldv_param_128_1_default ; unsigned int ldv_12_ldv_param_128_2_default ; _Bool ldv_12_ldv_param_128_3_default ; unsigned int ldv_12_ldv_param_12_1_default ; _Bool ldv_12_ldv_param_131_1_default ; int ldv_12_ldv_param_131_2_default ; unsigned int ldv_12_ldv_param_134_1_default ; unsigned int ldv_12_ldv_param_134_2_default ; unsigned int ldv_12_ldv_param_137_1_default ; unsigned int ldv_12_ldv_param_141_1_default ; _Bool ldv_12_ldv_param_141_2_default ; unsigned short *ldv_12_ldv_param_150_1_default ; unsigned int *ldv_12_ldv_param_153_1_default ; unsigned short ldv_12_ldv_param_153_2_default ; unsigned short ldv_12_ldv_param_153_3_default ; unsigned int ldv_12_ldv_param_156_1_default ; unsigned char ldv_12_ldv_param_156_2_default ; unsigned short ldv_12_ldv_param_159_1_default ; unsigned short ldv_12_ldv_param_159_2_default ; unsigned short *ldv_12_ldv_param_159_3_default ; unsigned char ldv_12_ldv_param_162_1_default ; unsigned char ldv_12_ldv_param_162_2_default ; unsigned char ldv_12_ldv_param_162_3_default ; unsigned char ldv_12_ldv_param_165_1_default ; unsigned char ldv_12_ldv_param_165_2_default ; unsigned int *ldv_12_ldv_param_168_1_default ; unsigned short ldv_12_ldv_param_168_2_default ; unsigned short ldv_12_ldv_param_168_3_default ; unsigned short ldv_12_ldv_param_16_1_default ; unsigned int ldv_12_ldv_param_171_1_default ; unsigned int ldv_12_ldv_param_171_2_default ; unsigned short ldv_12_ldv_param_171_3_default ; unsigned int ldv_12_ldv_param_174_1_default ; unsigned int ldv_12_ldv_param_174_2_default ; unsigned short ldv_12_ldv_param_174_3_default ; unsigned short ldv_12_ldv_param_19_1_default ; unsigned short ldv_12_ldv_param_22_1_default ; unsigned int *ldv_12_ldv_param_25_1_default ; _Bool *ldv_12_ldv_param_25_2_default ; _Bool ldv_12_ldv_param_25_3_default ; unsigned int ldv_12_ldv_param_30_1_default ; unsigned int ldv_12_ldv_param_34_1_default ; unsigned int ldv_12_ldv_param_34_2_default ; unsigned short ldv_12_ldv_param_3_1_default ; unsigned int ldv_12_ldv_param_41_1_default ; unsigned short *ldv_12_ldv_param_46_1_default ; unsigned short *ldv_12_ldv_param_49_1_default ; unsigned int *ldv_12_ldv_param_53_1_default ; _Bool *ldv_12_ldv_param_53_2_default ; unsigned char *ldv_12_ldv_param_56_1_default ; unsigned char *ldv_12_ldv_param_60_1_default ; unsigned short *ldv_12_ldv_param_65_1_default ; unsigned short *ldv_12_ldv_param_65_2_default ; unsigned int ldv_12_ldv_param_76_1_default ; unsigned int ldv_12_ldv_param_79_1_default ; unsigned int *ldv_12_ldv_param_83_1_default ; unsigned short ldv_12_ldv_param_83_2_default ; unsigned short ldv_12_ldv_param_83_3_default ; unsigned int ldv_12_ldv_param_86_1_default ; unsigned char *ldv_12_ldv_param_86_2_default ; unsigned short ldv_12_ldv_param_89_1_default ; unsigned short ldv_12_ldv_param_89_2_default ; unsigned short *ldv_12_ldv_param_89_3_default ; unsigned char ldv_12_ldv_param_92_1_default ; unsigned char ldv_12_ldv_param_92_2_default ; unsigned char *ldv_12_ldv_param_92_3_default ; unsigned char ldv_12_ldv_param_95_1_default ; unsigned char *ldv_12_ldv_param_95_2_default ; unsigned char ldv_12_ldv_param_98_1_default ; unsigned char *ldv_12_ldv_param_98_2_default ; unsigned int ldv_12_ldv_param_9_1_default ; int (*ldv_13_callback_acquire_swfw_sync)(struct ixgbe_hw * , unsigned short ) ; int (*ldv_13_callback_blink_led_start)(struct ixgbe_hw * , unsigned int ) ; int (*ldv_13_callback_blink_led_stop)(struct ixgbe_hw * , unsigned int ) ; unsigned short (*ldv_13_callback_calc_checksum)(struct ixgbe_hw * ) ; int (*ldv_13_callback_check_for_ack)(struct ixgbe_hw * , unsigned short ) ; int (*ldv_13_callback_check_for_msg)(struct ixgbe_hw * , unsigned short ) ; int (*ldv_13_callback_check_for_rst)(struct ixgbe_hw * , unsigned short ) ; int (*ldv_13_callback_check_link)(struct ixgbe_hw * , unsigned int * , _Bool * , _Bool ) ; int (*ldv_13_callback_check_overtemp)(struct ixgbe_hw * ) ; int (*ldv_13_callback_clear_hw_cntrs)(struct ixgbe_hw * ) ; int (*ldv_13_callback_clear_rar)(struct ixgbe_hw * , unsigned int ) ; int (*ldv_13_callback_clear_vfta)(struct ixgbe_hw * ) ; int (*ldv_13_callback_clear_vmdq)(struct ixgbe_hw * , unsigned int , unsigned int ) ; int (*ldv_13_callback_disable_mc)(struct ixgbe_hw * ) ; int (*ldv_13_callback_disable_rx_buff)(struct ixgbe_hw * ) ; int (*ldv_13_callback_enable_mc)(struct ixgbe_hw * ) ; int (*ldv_13_callback_enable_rx_buff)(struct ixgbe_hw * ) ; int (*ldv_13_callback_enable_rx_dma)(struct ixgbe_hw * , unsigned int ) ; int (*ldv_13_callback_fc_enable)(struct ixgbe_hw * ) ; int (*ldv_13_callback_get_bus_info)(struct ixgbe_hw * ) ; int (*ldv_13_callback_get_device_caps)(struct ixgbe_hw * , unsigned short * ) ; int (*ldv_13_callback_get_firmware_version)(struct ixgbe_hw * , unsigned short * ) ; int (*ldv_13_callback_get_invariants)(struct ixgbe_hw * ) ; int (*ldv_13_callback_get_link_capabilities)(struct ixgbe_hw * , unsigned int * , _Bool * ) ; int (*ldv_13_callback_get_mac_addr)(struct ixgbe_hw * , unsigned char * ) ; enum ixgbe_media_type (*ldv_13_callback_get_media_type)(struct ixgbe_hw * ) ; int (*ldv_13_callback_get_san_mac_addr)(struct ixgbe_hw * , unsigned char * ) ; unsigned int (*ldv_13_callback_get_supported_physical_layer)(struct ixgbe_hw * ) ; int (*ldv_13_callback_get_thermal_sensor_data)(struct ixgbe_hw * ) ; int (*ldv_13_callback_get_wwn_prefix)(struct ixgbe_hw * , unsigned short * , unsigned short * ) ; int (*ldv_13_callback_identify)(struct ixgbe_hw * ) ; int (*ldv_13_callback_identify_sfp)(struct ixgbe_hw * ) ; int (*ldv_13_callback_init)(struct ixgbe_hw * ) ; int (*ldv_13_callback_init_hw)(struct ixgbe_hw * ) ; int (*ldv_13_callback_init_params)(struct ixgbe_hw * ) ; int (*ldv_13_callback_init_rx_addrs)(struct ixgbe_hw * ) ; int (*ldv_13_callback_init_thermal_sensor_thresh)(struct ixgbe_hw * ) ; int (*ldv_13_callback_init_uta_tables)(struct ixgbe_hw * ) ; int (*ldv_13_callback_led_off)(struct ixgbe_hw * , unsigned int ) ; int (*ldv_13_callback_led_on)(struct ixgbe_hw * , unsigned int ) ; _Bool (*ldv_13_callback_mng_fw_enabled)(struct ixgbe_hw * ) ; int (*ldv_13_callback_read)(struct ixgbe_hw * , unsigned int * , unsigned short , unsigned short ) ; int (*ldv_13_callback_read_analog_reg8)(struct ixgbe_hw * , unsigned int , unsigned char * ) ; int (*ldv_13_callback_read_buffer)(struct ixgbe_hw * , unsigned short , unsigned short , unsigned short * ) ; int (*ldv_13_callback_read_i2c_byte)(struct ixgbe_hw * , unsigned char , unsigned char , unsigned char * ) ; int (*ldv_13_callback_read_i2c_eeprom)(struct ixgbe_hw * , unsigned char , unsigned char * ) ; int (*ldv_13_callback_read_i2c_sff8472)(struct ixgbe_hw * , unsigned char , unsigned char * ) ; int (*ldv_13_callback_read_posted)(struct ixgbe_hw * , unsigned int * , unsigned short , unsigned short ) ; int (*ldv_13_callback_read_reg)(struct ixgbe_hw * , unsigned int , unsigned int , unsigned short * ) ; int (*ldv_13_callback_read_reg_mdi)(struct ixgbe_hw * , unsigned int , unsigned int , unsigned short * ) ; void (*ldv_13_callback_release_swfw_sync)(struct ixgbe_hw * , unsigned short ) ; int (*ldv_13_callback_reset)(struct ixgbe_hw * ) ; int (*ldv_13_callback_reset_hw)(struct ixgbe_hw * ) ; int (*ldv_13_callback_set_fw_drv_ver)(struct ixgbe_hw * , unsigned char , unsigned char , unsigned char , unsigned char ) ; void (*ldv_13_callback_set_lan_id)(struct ixgbe_hw * ) ; void (*ldv_13_callback_set_mac_anti_spoofing)(struct ixgbe_hw * , _Bool , int ) ; int (*ldv_13_callback_set_rar)(struct ixgbe_hw * , unsigned int , unsigned char * , unsigned int , unsigned int ) ; void (*ldv_13_callback_set_rxpba)(struct ixgbe_hw * , int , unsigned int , int ) ; int (*ldv_13_callback_set_vfta)(struct ixgbe_hw * , unsigned int , unsigned int , _Bool ) ; void (*ldv_13_callback_set_vlan_anti_spoofing)(struct ixgbe_hw * , _Bool , int ) ; int (*ldv_13_callback_set_vmdq)(struct ixgbe_hw * , unsigned int , unsigned int ) ; int (*ldv_13_callback_set_vmdq_san_mac)(struct ixgbe_hw * , unsigned int ) ; int (*ldv_13_callback_setup_link)(struct ixgbe_hw * ) ; int (*ldv_13_callback_setup_link_speed)(struct ixgbe_hw * , unsigned int , _Bool ) ; int (*ldv_13_callback_setup_sfp)(struct ixgbe_hw * ) ; int (*ldv_13_callback_start_hw)(struct ixgbe_hw * ) ; int (*ldv_13_callback_stop_adapter)(struct ixgbe_hw * ) ; void (*ldv_13_callback_stop_link_on_d3)(struct ixgbe_hw * ) ; int (*ldv_13_callback_update_checksum)(struct ixgbe_hw * ) ; int (*ldv_13_callback_update_mc_addr_list)(struct ixgbe_hw * , struct net_device * ) ; int (*ldv_13_callback_validate_checksum)(struct ixgbe_hw * , unsigned short * ) ; int (*ldv_13_callback_write)(struct ixgbe_hw * , unsigned int * , unsigned short , unsigned short ) ; int (*ldv_13_callback_write_analog_reg8)(struct ixgbe_hw * , unsigned int , unsigned char ) ; int (*ldv_13_callback_write_buffer)(struct ixgbe_hw * , unsigned short , unsigned short , unsigned short * ) ; int (*ldv_13_callback_write_i2c_byte)(struct ixgbe_hw * , unsigned char , unsigned char , unsigned char ) ; int (*ldv_13_callback_write_i2c_eeprom)(struct ixgbe_hw * , unsigned char , unsigned char ) ; int (*ldv_13_callback_write_posted)(struct ixgbe_hw * , unsigned int * , unsigned short , unsigned short ) ; int (*ldv_13_callback_write_reg)(struct ixgbe_hw * , unsigned int , unsigned int , unsigned short ) ; int (*ldv_13_callback_write_reg_mdi)(struct ixgbe_hw * , unsigned int , unsigned int , unsigned short ) ; struct ixgbe_hw *ldv_13_container_struct_ixgbe_hw_ptr ; struct net_device *ldv_13_container_struct_net_device_ptr ; unsigned int *ldv_13_ldv_param_101_1_default ; unsigned short ldv_13_ldv_param_101_2_default ; unsigned short ldv_13_ldv_param_101_3_default ; unsigned int ldv_13_ldv_param_104_1_default ; unsigned int ldv_13_ldv_param_104_2_default ; unsigned short *ldv_13_ldv_param_104_3_default ; unsigned int ldv_13_ldv_param_107_1_default ; unsigned int ldv_13_ldv_param_107_2_default ; unsigned short *ldv_13_ldv_param_107_3_default ; unsigned short ldv_13_ldv_param_110_1_default ; unsigned char ldv_13_ldv_param_115_1_default ; unsigned char ldv_13_ldv_param_115_2_default ; unsigned char ldv_13_ldv_param_115_3_default ; unsigned char ldv_13_ldv_param_115_4_default ; _Bool ldv_13_ldv_param_119_1_default ; int ldv_13_ldv_param_119_2_default ; unsigned int ldv_13_ldv_param_122_1_default ; unsigned char *ldv_13_ldv_param_122_2_default ; unsigned int ldv_13_ldv_param_122_3_default ; unsigned int ldv_13_ldv_param_122_4_default ; int ldv_13_ldv_param_125_1_default ; unsigned int ldv_13_ldv_param_125_2_default ; int ldv_13_ldv_param_125_3_default ; unsigned int ldv_13_ldv_param_128_1_default ; unsigned int ldv_13_ldv_param_128_2_default ; _Bool ldv_13_ldv_param_128_3_default ; unsigned int ldv_13_ldv_param_12_1_default ; _Bool ldv_13_ldv_param_131_1_default ; int ldv_13_ldv_param_131_2_default ; unsigned int ldv_13_ldv_param_134_1_default ; unsigned int ldv_13_ldv_param_134_2_default ; unsigned int ldv_13_ldv_param_137_1_default ; unsigned int ldv_13_ldv_param_141_1_default ; _Bool ldv_13_ldv_param_141_2_default ; unsigned short *ldv_13_ldv_param_150_1_default ; unsigned int *ldv_13_ldv_param_153_1_default ; unsigned short ldv_13_ldv_param_153_2_default ; unsigned short ldv_13_ldv_param_153_3_default ; unsigned int ldv_13_ldv_param_156_1_default ; unsigned char ldv_13_ldv_param_156_2_default ; unsigned short ldv_13_ldv_param_159_1_default ; unsigned short ldv_13_ldv_param_159_2_default ; unsigned short *ldv_13_ldv_param_159_3_default ; unsigned char ldv_13_ldv_param_162_1_default ; unsigned char ldv_13_ldv_param_162_2_default ; unsigned char ldv_13_ldv_param_162_3_default ; unsigned char ldv_13_ldv_param_165_1_default ; unsigned char ldv_13_ldv_param_165_2_default ; unsigned int *ldv_13_ldv_param_168_1_default ; unsigned short ldv_13_ldv_param_168_2_default ; unsigned short ldv_13_ldv_param_168_3_default ; unsigned short ldv_13_ldv_param_16_1_default ; unsigned int ldv_13_ldv_param_171_1_default ; unsigned int ldv_13_ldv_param_171_2_default ; unsigned short ldv_13_ldv_param_171_3_default ; unsigned int ldv_13_ldv_param_174_1_default ; unsigned int ldv_13_ldv_param_174_2_default ; unsigned short ldv_13_ldv_param_174_3_default ; unsigned short ldv_13_ldv_param_19_1_default ; unsigned short ldv_13_ldv_param_22_1_default ; unsigned int *ldv_13_ldv_param_25_1_default ; _Bool *ldv_13_ldv_param_25_2_default ; _Bool ldv_13_ldv_param_25_3_default ; unsigned int ldv_13_ldv_param_30_1_default ; unsigned int ldv_13_ldv_param_34_1_default ; unsigned int ldv_13_ldv_param_34_2_default ; unsigned short ldv_13_ldv_param_3_1_default ; unsigned int ldv_13_ldv_param_41_1_default ; unsigned short *ldv_13_ldv_param_46_1_default ; unsigned short *ldv_13_ldv_param_49_1_default ; unsigned int *ldv_13_ldv_param_53_1_default ; _Bool *ldv_13_ldv_param_53_2_default ; unsigned char *ldv_13_ldv_param_56_1_default ; unsigned char *ldv_13_ldv_param_60_1_default ; unsigned short *ldv_13_ldv_param_65_1_default ; unsigned short *ldv_13_ldv_param_65_2_default ; unsigned int ldv_13_ldv_param_76_1_default ; unsigned int ldv_13_ldv_param_79_1_default ; unsigned int *ldv_13_ldv_param_83_1_default ; unsigned short ldv_13_ldv_param_83_2_default ; unsigned short ldv_13_ldv_param_83_3_default ; unsigned int ldv_13_ldv_param_86_1_default ; unsigned char *ldv_13_ldv_param_86_2_default ; unsigned short ldv_13_ldv_param_89_1_default ; unsigned short ldv_13_ldv_param_89_2_default ; unsigned short *ldv_13_ldv_param_89_3_default ; unsigned char ldv_13_ldv_param_92_1_default ; unsigned char ldv_13_ldv_param_92_2_default ; unsigned char *ldv_13_ldv_param_92_3_default ; unsigned char ldv_13_ldv_param_95_1_default ; unsigned char *ldv_13_ldv_param_95_2_default ; unsigned char ldv_13_ldv_param_98_1_default ; unsigned char *ldv_13_ldv_param_98_2_default ; unsigned int ldv_13_ldv_param_9_1_default ; int (*ldv_14_callback_notifier_call)(struct notifier_block * , unsigned long , void * ) ; struct notifier_block *ldv_14_container_struct_notifier_block ; unsigned long ldv_14_ldv_param_3_1_default ; void *ldv_14_ldv_param_3_2_default ; struct timer_list *ldv_15_container_timer_list ; char *ldv_1_ldv_param_4_1_default ; long long *ldv_1_ldv_param_4_3_default ; char *ldv_1_ldv_param_5_1_default ; long long *ldv_1_ldv_param_5_3_default ; struct file *ldv_1_resource_file ; struct inode *ldv_1_resource_inode ; int ldv_1_ret_default ; unsigned long ldv_1_size_cnt_write_size ; enum irqreturn (*ldv_2_callback_handler)(int , void * ) ; void *ldv_2_data_data ; int ldv_2_line_line ; enum irqreturn ldv_2_ret_val_default ; enum irqreturn (*ldv_2_thread_thread)(int , void * ) ; void (*ldv_31_exit_ixgbe_exit_module_default)(void) ; int (*ldv_31_init_ixgbe_init_module_default)(void) ; int ldv_31_ret_default ; enum irqreturn (*ldv_3_callback_handler)(int , void * ) ; void *ldv_3_data_data ; int ldv_3_line_line ; enum irqreturn ldv_3_ret_val_default ; enum irqreturn (*ldv_3_thread_thread)(int , void * ) ; enum irqreturn (*ldv_4_callback_handler)(int , void * ) ; void *ldv_4_data_data ; int ldv_4_line_line ; enum irqreturn ldv_4_ret_val_default ; enum irqreturn (*ldv_4_thread_thread)(int , void * ) ; enum irqreturn (*ldv_5_callback_handler)(int , void * ) ; void *ldv_5_data_data ; int ldv_5_line_line ; enum irqreturn ldv_5_ret_val_default ; enum irqreturn (*ldv_5_thread_thread)(int , void * ) ; void (*ldv_6_callback_get_channels)(struct net_device * , struct ethtool_channels * ) ; int (*ldv_6_callback_get_coalesce)(struct net_device * , struct ethtool_coalesce * ) ; void (*ldv_6_callback_get_drvinfo)(struct net_device * , struct ethtool_drvinfo * ) ; int (*ldv_6_callback_get_eeprom)(struct net_device * , struct ethtool_eeprom * , unsigned char * ) ; int (*ldv_6_callback_get_eeprom_len)(struct net_device * ) ; void (*ldv_6_callback_get_ethtool_stats)(struct net_device * , struct ethtool_stats * , unsigned long long * ) ; unsigned int (*ldv_6_callback_get_link)(struct net_device * ) ; int (*ldv_6_callback_get_module_eeprom)(struct net_device * , struct ethtool_eeprom * , unsigned char * ) ; int (*ldv_6_callback_get_module_info)(struct net_device * , struct ethtool_modinfo * ) ; unsigned int (*ldv_6_callback_get_msglevel)(struct net_device * ) ; void (*ldv_6_callback_get_pauseparam)(struct net_device * , struct ethtool_pauseparam * ) ; void (*ldv_6_callback_get_regs)(struct net_device * , struct ethtool_regs * , void * ) ; int (*ldv_6_callback_get_regs_len)(struct net_device * ) ; void (*ldv_6_callback_get_ringparam)(struct net_device * , struct ethtool_ringparam * ) ; int (*ldv_6_callback_get_rxnfc)(struct net_device * , struct ethtool_rxnfc * , unsigned int * ) ; int (*ldv_6_callback_get_settings)(struct net_device * , struct ethtool_cmd * ) ; int (*ldv_6_callback_get_sset_count)(struct net_device * , int ) ; void (*ldv_6_callback_get_strings)(struct net_device * , unsigned int , unsigned char * ) ; int (*ldv_6_callback_get_ts_info)(struct net_device * , struct ethtool_ts_info * ) ; void (*ldv_6_callback_get_wol)(struct net_device * , struct ethtool_wolinfo * ) ; unsigned char (*ldv_6_callback_getapp)(struct net_device * , unsigned char , unsigned short ) ; unsigned char (*ldv_6_callback_getcap)(struct net_device * , int , unsigned char * ) ; unsigned char (*ldv_6_callback_getdcbx)(struct net_device * ) ; int (*ldv_6_callback_getnumtcs)(struct net_device * , int , unsigned char * ) ; void (*ldv_6_callback_getpermhwaddr)(struct net_device * , unsigned char * ) ; void (*ldv_6_callback_getpfccfg)(struct net_device * , int , unsigned char * ) ; unsigned char (*ldv_6_callback_getpfcstate)(struct net_device * ) ; void (*ldv_6_callback_getpgbwgcfgrx)(struct net_device * , int , unsigned char * ) ; void (*ldv_6_callback_getpgbwgcfgtx)(struct net_device * , int , unsigned char * ) ; void (*ldv_6_callback_getpgtccfgrx)(struct net_device * , int , unsigned char * , unsigned char * , unsigned char * , unsigned char * ) ; void (*ldv_6_callback_getpgtccfgtx)(struct net_device * , int , unsigned char * , unsigned char * , unsigned char * , unsigned char * ) ; unsigned char (*ldv_6_callback_getstate)(struct net_device * ) ; int (*ldv_6_callback_ieee_delapp)(struct net_device * , struct dcb_app * ) ; int (*ldv_6_callback_ieee_getets)(struct net_device * , struct ieee_ets * ) ; int (*ldv_6_callback_ieee_getpfc)(struct net_device * , struct ieee_pfc * ) ; int (*ldv_6_callback_ieee_setapp)(struct net_device * , struct dcb_app * ) ; int (*ldv_6_callback_ieee_setets)(struct net_device * , struct ieee_ets * ) ; int (*ldv_6_callback_ieee_setpfc)(struct net_device * , struct ieee_pfc * ) ; int (*ldv_6_callback_ndo_bridge_getlink)(struct sk_buff * , unsigned int , unsigned int , struct net_device * , unsigned int ) ; int (*ldv_6_callback_ndo_bridge_setlink)(struct net_device * , struct nlmsghdr * ) ; int (*ldv_6_callback_ndo_busy_poll)(struct napi_struct * ) ; int (*ldv_6_callback_ndo_change_mtu)(struct net_device * , int ) ; void *(*ldv_6_callback_ndo_dfwd_add_station)(struct net_device * , struct net_device * ) ; void (*ldv_6_callback_ndo_dfwd_del_station)(struct net_device * , void * ) ; int (*ldv_6_callback_ndo_do_ioctl)(struct net_device * , struct ifreq * , int ) ; int (*ldv_6_callback_ndo_fcoe_ddp_done)(struct net_device * , unsigned short ) ; int (*ldv_6_callback_ndo_fcoe_ddp_setup)(struct net_device * , unsigned short , struct scatterlist * , unsigned int ) ; int (*ldv_6_callback_ndo_fcoe_ddp_target)(struct net_device * , unsigned short , struct scatterlist * , unsigned int ) ; int (*ldv_6_callback_ndo_fcoe_disable)(struct net_device * ) ; int (*ldv_6_callback_ndo_fcoe_enable)(struct net_device * ) ; int (*ldv_6_callback_ndo_fcoe_get_hbainfo)(struct net_device * , struct netdev_fcoe_hbainfo * ) ; int (*ldv_6_callback_ndo_fcoe_get_wwn)(struct net_device * , unsigned long long * , int ) ; int (*ldv_6_callback_ndo_fdb_add)(struct ndmsg * , struct nlattr ** , struct net_device * , unsigned char * , unsigned short ) ; unsigned long long (*ldv_6_callback_ndo_fix_features)(struct net_device * , unsigned long long ) ; struct rtnl_link_stats64 *(*ldv_6_callback_ndo_get_stats64)(struct net_device * , struct rtnl_link_stats64 * ) ; int (*ldv_6_callback_ndo_get_vf_config)(struct net_device * , int , struct ifla_vf_info * ) ; void (*ldv_6_callback_ndo_poll_controller)(struct net_device * ) ; unsigned short (*ldv_6_callback_ndo_select_queue)(struct net_device * , struct sk_buff * , void * , unsigned short (*)(struct net_device * , struct sk_buff * ) ) ; int (*ldv_6_callback_ndo_set_features)(struct net_device * , unsigned long long ) ; int (*ldv_6_callback_ndo_set_mac_address)(struct net_device * , void * ) ; void (*ldv_6_callback_ndo_set_rx_mode)(struct net_device * ) ; int (*ldv_6_callback_ndo_set_vf_mac)(struct net_device * , int , unsigned char * ) ; int (*ldv_6_callback_ndo_set_vf_spoofchk)(struct net_device * , int , _Bool ) ; int (*ldv_6_callback_ndo_set_vf_tx_rate)(struct net_device * , int , int ) ; int (*ldv_6_callback_ndo_set_vf_vlan)(struct net_device * , int , unsigned short , unsigned char ) ; int (*ldv_6_callback_ndo_setup_tc)(struct net_device * , unsigned char ) ; enum netdev_tx (*ldv_6_callback_ndo_start_xmit)(struct sk_buff * , struct net_device * ) ; void (*ldv_6_callback_ndo_tx_timeout)(struct net_device * ) ; int (*ldv_6_callback_ndo_validate_addr)(struct net_device * ) ; int (*ldv_6_callback_ndo_vlan_rx_add_vid)(struct net_device * , unsigned short , unsigned short ) ; int (*ldv_6_callback_ndo_vlan_rx_kill_vid)(struct net_device * , unsigned short , unsigned short ) ; int (*ldv_6_callback_nway_reset)(struct net_device * ) ; void (*ldv_6_callback_self_test)(struct net_device * , struct ethtool_test * , unsigned long long * ) ; int (*ldv_6_callback_set_channels)(struct net_device * , struct ethtool_channels * ) ; int (*ldv_6_callback_set_coalesce)(struct net_device * , struct ethtool_coalesce * ) ; int (*ldv_6_callback_set_eeprom)(struct net_device * , struct ethtool_eeprom * , unsigned char * ) ; void (*ldv_6_callback_set_msglevel)(struct net_device * , unsigned int ) ; int (*ldv_6_callback_set_pauseparam)(struct net_device * , struct ethtool_pauseparam * ) ; int (*ldv_6_callback_set_phys_id)(struct net_device * , enum ethtool_phys_id_state ) ; int (*ldv_6_callback_set_ringparam)(struct net_device * , struct ethtool_ringparam * ) ; int (*ldv_6_callback_set_rxnfc)(struct net_device * , struct ethtool_rxnfc * ) ; int (*ldv_6_callback_set_settings)(struct net_device * , struct ethtool_cmd * ) ; int (*ldv_6_callback_set_wol)(struct net_device * , struct ethtool_wolinfo * ) ; unsigned char (*ldv_6_callback_setall)(struct net_device * ) ; unsigned char (*ldv_6_callback_setdcbx)(struct net_device * , unsigned char ) ; int (*ldv_6_callback_setnumtcs)(struct net_device * , int , unsigned char ) ; void (*ldv_6_callback_setpfccfg)(struct net_device * , int , unsigned char ) ; void (*ldv_6_callback_setpfcstate)(struct net_device * , unsigned char ) ; void (*ldv_6_callback_setpgbwgcfgrx)(struct net_device * , int , unsigned char ) ; void (*ldv_6_callback_setpgbwgcfgtx)(struct net_device * , int , unsigned char ) ; void (*ldv_6_callback_setpgtccfgrx)(struct net_device * , int , unsigned char , unsigned char , unsigned char , unsigned char ) ; void (*ldv_6_callback_setpgtccfgtx)(struct net_device * , int , unsigned char , unsigned char , unsigned char , unsigned char ) ; unsigned char (*ldv_6_callback_setstate)(struct net_device * , unsigned char ) ; enum ethtool_phys_id_state ldv_6_container_enum_ethtool_phys_id_state ; unsigned short (*ldv_6_container_func_2_ptr)(struct net_device * , struct sk_buff * ) ; struct net_device *ldv_6_container_net_device ; struct dcb_app *ldv_6_container_struct_dcb_app_ptr ; struct ethtool_channels *ldv_6_container_struct_ethtool_channels_ptr ; struct ethtool_cmd *ldv_6_container_struct_ethtool_cmd_ptr ; struct ethtool_coalesce *ldv_6_container_struct_ethtool_coalesce_ptr ; struct ethtool_drvinfo *ldv_6_container_struct_ethtool_drvinfo_ptr ; struct ethtool_eeprom *ldv_6_container_struct_ethtool_eeprom_ptr ; struct ethtool_modinfo *ldv_6_container_struct_ethtool_modinfo_ptr ; struct ethtool_pauseparam *ldv_6_container_struct_ethtool_pauseparam_ptr ; struct ethtool_regs *ldv_6_container_struct_ethtool_regs_ptr ; struct ethtool_ringparam *ldv_6_container_struct_ethtool_ringparam_ptr ; struct ethtool_rxnfc *ldv_6_container_struct_ethtool_rxnfc_ptr ; struct ethtool_stats *ldv_6_container_struct_ethtool_stats_ptr ; struct ethtool_test *ldv_6_container_struct_ethtool_test_ptr ; struct ethtool_ts_info *ldv_6_container_struct_ethtool_ts_info_ptr ; struct ethtool_wolinfo *ldv_6_container_struct_ethtool_wolinfo_ptr ; struct ieee_ets *ldv_6_container_struct_ieee_ets_ptr ; struct ieee_pfc *ldv_6_container_struct_ieee_pfc_ptr ; struct ifla_vf_info *ldv_6_container_struct_ifla_vf_info_ptr ; struct ifreq *ldv_6_container_struct_ifreq_ptr ; struct napi_struct *ldv_6_container_struct_napi_struct_ptr ; struct ndmsg *ldv_6_container_struct_ndmsg_ptr ; struct netdev_fcoe_hbainfo *ldv_6_container_struct_netdev_fcoe_hbainfo_ptr ; struct nlattr **ldv_6_container_struct_nlattr_ptr_ptr ; struct nlmsghdr *ldv_6_container_struct_nlmsghdr_ptr ; struct rtnl_link_stats64 *ldv_6_container_struct_rtnl_link_stats64_ptr ; struct scatterlist *ldv_6_container_struct_scatterlist_ptr ; struct sk_buff *ldv_6_container_struct_sk_buff_ptr ; unsigned long long *ldv_6_ldv_param_101_1_default ; int ldv_6_ldv_param_101_2_default ; unsigned char *ldv_6_ldv_param_104_3_default ; unsigned short ldv_6_ldv_param_104_4_default ; unsigned long long ldv_6_ldv_param_107_1_default ; int ldv_6_ldv_param_111_1_default ; unsigned short (*ldv_6_ldv_param_115_3_default)(struct net_device * , struct sk_buff * ) ; unsigned long long ldv_6_ldv_param_118_1_default ; int ldv_6_ldv_param_123_1_default ; unsigned char *ldv_6_ldv_param_123_2_default ; int ldv_6_ldv_param_126_1_default ; _Bool ldv_6_ldv_param_126_2_default ; int ldv_6_ldv_param_129_1_default ; int ldv_6_ldv_param_129_2_default ; int ldv_6_ldv_param_132_1_default ; unsigned short ldv_6_ldv_param_132_2_default ; unsigned char ldv_6_ldv_param_132_3_default ; unsigned char ldv_6_ldv_param_135_1_default ; unsigned long long *ldv_6_ldv_param_13_2_default ; unsigned short ldv_6_ldv_param_141_1_default ; unsigned short ldv_6_ldv_param_141_2_default ; unsigned short ldv_6_ldv_param_144_1_default ; unsigned short ldv_6_ldv_param_144_2_default ; unsigned long long *ldv_6_ldv_param_148_2_default ; unsigned char *ldv_6_ldv_param_153_2_default ; unsigned int ldv_6_ldv_param_156_1_default ; unsigned char ldv_6_ldv_param_166_1_default ; int ldv_6_ldv_param_169_1_default ; unsigned char ldv_6_ldv_param_169_2_default ; int ldv_6_ldv_param_172_1_default ; unsigned char ldv_6_ldv_param_172_2_default ; unsigned char ldv_6_ldv_param_175_1_default ; int ldv_6_ldv_param_178_1_default ; unsigned char ldv_6_ldv_param_178_2_default ; unsigned char *ldv_6_ldv_param_17_2_default ; int ldv_6_ldv_param_181_1_default ; unsigned char ldv_6_ldv_param_181_2_default ; int ldv_6_ldv_param_184_1_default ; unsigned char ldv_6_ldv_param_184_2_default ; unsigned char ldv_6_ldv_param_184_3_default ; unsigned char ldv_6_ldv_param_184_4_default ; unsigned char ldv_6_ldv_param_184_5_default ; int ldv_6_ldv_param_187_1_default ; unsigned char ldv_6_ldv_param_187_2_default ; unsigned char ldv_6_ldv_param_187_3_default ; unsigned char ldv_6_ldv_param_187_4_default ; unsigned char ldv_6_ldv_param_187_5_default ; unsigned char ldv_6_ldv_param_190_1_default ; unsigned int *ldv_6_ldv_param_26_2_default ; int ldv_6_ldv_param_30_1_default ; unsigned int ldv_6_ldv_param_33_1_default ; unsigned char *ldv_6_ldv_param_33_2_default ; unsigned char ldv_6_ldv_param_38_1_default ; unsigned short ldv_6_ldv_param_38_2_default ; int ldv_6_ldv_param_41_1_default ; unsigned char *ldv_6_ldv_param_41_2_default ; int ldv_6_ldv_param_45_1_default ; unsigned char *ldv_6_ldv_param_45_2_default ; unsigned char *ldv_6_ldv_param_48_1_default ; int ldv_6_ldv_param_51_1_default ; unsigned char *ldv_6_ldv_param_51_2_default ; int ldv_6_ldv_param_55_1_default ; unsigned char *ldv_6_ldv_param_55_2_default ; int ldv_6_ldv_param_58_1_default ; unsigned char *ldv_6_ldv_param_58_2_default ; int ldv_6_ldv_param_61_1_default ; unsigned char *ldv_6_ldv_param_61_2_default ; unsigned char *ldv_6_ldv_param_61_3_default ; unsigned char *ldv_6_ldv_param_61_4_default ; unsigned char *ldv_6_ldv_param_61_5_default ; int ldv_6_ldv_param_64_1_default ; unsigned char *ldv_6_ldv_param_64_2_default ; unsigned char *ldv_6_ldv_param_64_3_default ; unsigned char *ldv_6_ldv_param_64_4_default ; unsigned char *ldv_6_ldv_param_64_5_default ; unsigned int ldv_6_ldv_param_74_1_default ; unsigned int ldv_6_ldv_param_74_2_default ; unsigned int ldv_6_ldv_param_74_4_default ; int ldv_6_ldv_param_79_1_default ; struct net_device *ldv_6_ldv_param_82_1_default ; int ldv_6_ldv_param_86_2_default ; unsigned short ldv_6_ldv_param_89_1_default ; unsigned short ldv_6_ldv_param_92_1_default ; unsigned int ldv_6_ldv_param_92_3_default ; unsigned short ldv_6_ldv_param_95_1_default ; unsigned int ldv_6_ldv_param_95_3_default ; unsigned char *ldv_6_ldv_param_9_2_default ; unsigned int (*ldv_7_callback_error_detected)(struct pci_dev * , enum pci_channel_state ) ; void (*ldv_7_callback_func_1_ptr)(struct pci_dev * ) ; unsigned int (*ldv_7_callback_slot_reset)(struct pci_dev * ) ; int (*ldv_7_callback_sriov_configure)(struct pci_dev * , int ) ; struct pci_driver *ldv_7_container_pci_driver ; int ldv_7_ldv_param_25_1_default ; struct pci_dev *ldv_7_resource_dev ; enum pci_channel_state ldv_7_resource_enum_pci_channel_state ; struct pm_message ldv_7_resource_pm_message ; struct pci_device_id *ldv_7_resource_struct_pci_device_id_ptr ; int ldv_7_ret_default ; int (*ldv_8_callback_acquire_swfw_sync)(struct ixgbe_hw * , unsigned short ) ; int (*ldv_8_callback_blink_led_start)(struct ixgbe_hw * , unsigned int ) ; int (*ldv_8_callback_blink_led_stop)(struct ixgbe_hw * , unsigned int ) ; unsigned short (*ldv_8_callback_calc_checksum)(struct ixgbe_hw * ) ; int (*ldv_8_callback_check_for_ack)(struct ixgbe_hw * , unsigned short ) ; int (*ldv_8_callback_check_for_msg)(struct ixgbe_hw * , unsigned short ) ; int (*ldv_8_callback_check_for_rst)(struct ixgbe_hw * , unsigned short ) ; int (*ldv_8_callback_check_link)(struct ixgbe_hw * , unsigned int * , _Bool * , _Bool ) ; int (*ldv_8_callback_check_overtemp)(struct ixgbe_hw * ) ; int (*ldv_8_callback_clear_hw_cntrs)(struct ixgbe_hw * ) ; int (*ldv_8_callback_clear_rar)(struct ixgbe_hw * , unsigned int ) ; int (*ldv_8_callback_clear_vfta)(struct ixgbe_hw * ) ; int (*ldv_8_callback_clear_vmdq)(struct ixgbe_hw * , unsigned int , unsigned int ) ; int (*ldv_8_callback_disable_mc)(struct ixgbe_hw * ) ; int (*ldv_8_callback_disable_rx_buff)(struct ixgbe_hw * ) ; int (*ldv_8_callback_enable_mc)(struct ixgbe_hw * ) ; int (*ldv_8_callback_enable_rx_buff)(struct ixgbe_hw * ) ; int (*ldv_8_callback_enable_rx_dma)(struct ixgbe_hw * , unsigned int ) ; int (*ldv_8_callback_fc_enable)(struct ixgbe_hw * ) ; int (*ldv_8_callback_get_bus_info)(struct ixgbe_hw * ) ; int (*ldv_8_callback_get_device_caps)(struct ixgbe_hw * , unsigned short * ) ; int (*ldv_8_callback_get_firmware_version)(struct ixgbe_hw * , unsigned short * ) ; int (*ldv_8_callback_get_invariants)(struct ixgbe_hw * ) ; int (*ldv_8_callback_get_link_capabilities)(struct ixgbe_hw * , unsigned int * , _Bool * ) ; int (*ldv_8_callback_get_mac_addr)(struct ixgbe_hw * , unsigned char * ) ; enum ixgbe_media_type (*ldv_8_callback_get_media_type)(struct ixgbe_hw * ) ; int (*ldv_8_callback_get_san_mac_addr)(struct ixgbe_hw * , unsigned char * ) ; unsigned int (*ldv_8_callback_get_supported_physical_layer)(struct ixgbe_hw * ) ; int (*ldv_8_callback_get_thermal_sensor_data)(struct ixgbe_hw * ) ; int (*ldv_8_callback_get_wwn_prefix)(struct ixgbe_hw * , unsigned short * , unsigned short * ) ; int (*ldv_8_callback_identify)(struct ixgbe_hw * ) ; int (*ldv_8_callback_identify_sfp)(struct ixgbe_hw * ) ; int (*ldv_8_callback_init)(struct ixgbe_hw * ) ; int (*ldv_8_callback_init_hw)(struct ixgbe_hw * ) ; int (*ldv_8_callback_init_params)(struct ixgbe_hw * ) ; int (*ldv_8_callback_init_rx_addrs)(struct ixgbe_hw * ) ; int (*ldv_8_callback_init_thermal_sensor_thresh)(struct ixgbe_hw * ) ; int (*ldv_8_callback_init_uta_tables)(struct ixgbe_hw * ) ; int (*ldv_8_callback_led_off)(struct ixgbe_hw * , unsigned int ) ; int (*ldv_8_callback_led_on)(struct ixgbe_hw * , unsigned int ) ; _Bool (*ldv_8_callback_mng_fw_enabled)(struct ixgbe_hw * ) ; int (*ldv_8_callback_read)(struct ixgbe_hw * , unsigned int * , unsigned short , unsigned short ) ; int (*ldv_8_callback_read_analog_reg8)(struct ixgbe_hw * , unsigned int , unsigned char * ) ; int (*ldv_8_callback_read_buffer)(struct ixgbe_hw * , unsigned short , unsigned short , unsigned short * ) ; int (*ldv_8_callback_read_i2c_byte)(struct ixgbe_hw * , unsigned char , unsigned char , unsigned char * ) ; int (*ldv_8_callback_read_i2c_eeprom)(struct ixgbe_hw * , unsigned char , unsigned char * ) ; int (*ldv_8_callback_read_i2c_sff8472)(struct ixgbe_hw * , unsigned char , unsigned char * ) ; int (*ldv_8_callback_read_posted)(struct ixgbe_hw * , unsigned int * , unsigned short , unsigned short ) ; int (*ldv_8_callback_read_reg)(struct ixgbe_hw * , unsigned int , unsigned int , unsigned short * ) ; int (*ldv_8_callback_read_reg_mdi)(struct ixgbe_hw * , unsigned int , unsigned int , unsigned short * ) ; void (*ldv_8_callback_release_swfw_sync)(struct ixgbe_hw * , unsigned short ) ; int (*ldv_8_callback_reset)(struct ixgbe_hw * ) ; int (*ldv_8_callback_reset_hw)(struct ixgbe_hw * ) ; int (*ldv_8_callback_set_fw_drv_ver)(struct ixgbe_hw * , unsigned char , unsigned char , unsigned char , unsigned char ) ; void (*ldv_8_callback_set_lan_id)(struct ixgbe_hw * ) ; void (*ldv_8_callback_set_mac_anti_spoofing)(struct ixgbe_hw * , _Bool , int ) ; int (*ldv_8_callback_set_rar)(struct ixgbe_hw * , unsigned int , unsigned char * , unsigned int , unsigned int ) ; void (*ldv_8_callback_set_rxpba)(struct ixgbe_hw * , int , unsigned int , int ) ; int (*ldv_8_callback_set_vfta)(struct ixgbe_hw * , unsigned int , unsigned int , _Bool ) ; void (*ldv_8_callback_set_vlan_anti_spoofing)(struct ixgbe_hw * , _Bool , int ) ; int (*ldv_8_callback_set_vmdq)(struct ixgbe_hw * , unsigned int , unsigned int ) ; int (*ldv_8_callback_set_vmdq_san_mac)(struct ixgbe_hw * , unsigned int ) ; int (*ldv_8_callback_setup_link)(struct ixgbe_hw * ) ; int (*ldv_8_callback_setup_link_speed)(struct ixgbe_hw * , unsigned int , _Bool ) ; int (*ldv_8_callback_setup_sfp)(struct ixgbe_hw * ) ; int (*ldv_8_callback_start_hw)(struct ixgbe_hw * ) ; int (*ldv_8_callback_stop_adapter)(struct ixgbe_hw * ) ; void (*ldv_8_callback_stop_link_on_d3)(struct ixgbe_hw * ) ; int (*ldv_8_callback_update_checksum)(struct ixgbe_hw * ) ; int (*ldv_8_callback_update_mc_addr_list)(struct ixgbe_hw * , struct net_device * ) ; int (*ldv_8_callback_validate_checksum)(struct ixgbe_hw * , unsigned short * ) ; int (*ldv_8_callback_write)(struct ixgbe_hw * , unsigned int * , unsigned short , unsigned short ) ; int (*ldv_8_callback_write_analog_reg8)(struct ixgbe_hw * , unsigned int , unsigned char ) ; int (*ldv_8_callback_write_buffer)(struct ixgbe_hw * , unsigned short , unsigned short , unsigned short * ) ; int (*ldv_8_callback_write_i2c_byte)(struct ixgbe_hw * , unsigned char , unsigned char , unsigned char ) ; int (*ldv_8_callback_write_i2c_eeprom)(struct ixgbe_hw * , unsigned char , unsigned char ) ; int (*ldv_8_callback_write_posted)(struct ixgbe_hw * , unsigned int * , unsigned short , unsigned short ) ; int (*ldv_8_callback_write_reg)(struct ixgbe_hw * , unsigned int , unsigned int , unsigned short ) ; int (*ldv_8_callback_write_reg_mdi)(struct ixgbe_hw * , unsigned int , unsigned int , unsigned short ) ; struct ixgbe_hw *ldv_8_container_struct_ixgbe_hw_ptr ; struct net_device *ldv_8_container_struct_net_device_ptr ; unsigned int *ldv_8_ldv_param_101_1_default ; unsigned short ldv_8_ldv_param_101_2_default ; unsigned short ldv_8_ldv_param_101_3_default ; unsigned int ldv_8_ldv_param_104_1_default ; unsigned int ldv_8_ldv_param_104_2_default ; unsigned short *ldv_8_ldv_param_104_3_default ; unsigned int ldv_8_ldv_param_107_1_default ; unsigned int ldv_8_ldv_param_107_2_default ; unsigned short *ldv_8_ldv_param_107_3_default ; unsigned short ldv_8_ldv_param_110_1_default ; unsigned char ldv_8_ldv_param_115_1_default ; unsigned char ldv_8_ldv_param_115_2_default ; unsigned char ldv_8_ldv_param_115_3_default ; unsigned char ldv_8_ldv_param_115_4_default ; _Bool ldv_8_ldv_param_119_1_default ; int ldv_8_ldv_param_119_2_default ; unsigned int ldv_8_ldv_param_122_1_default ; unsigned char *ldv_8_ldv_param_122_2_default ; unsigned int ldv_8_ldv_param_122_3_default ; unsigned int ldv_8_ldv_param_122_4_default ; int ldv_8_ldv_param_125_1_default ; unsigned int ldv_8_ldv_param_125_2_default ; int ldv_8_ldv_param_125_3_default ; unsigned int ldv_8_ldv_param_128_1_default ; unsigned int ldv_8_ldv_param_128_2_default ; _Bool ldv_8_ldv_param_128_3_default ; unsigned int ldv_8_ldv_param_12_1_default ; _Bool ldv_8_ldv_param_131_1_default ; int ldv_8_ldv_param_131_2_default ; unsigned int ldv_8_ldv_param_134_1_default ; unsigned int ldv_8_ldv_param_134_2_default ; unsigned int ldv_8_ldv_param_137_1_default ; unsigned int ldv_8_ldv_param_141_1_default ; _Bool ldv_8_ldv_param_141_2_default ; unsigned short *ldv_8_ldv_param_150_1_default ; unsigned int *ldv_8_ldv_param_153_1_default ; unsigned short ldv_8_ldv_param_153_2_default ; unsigned short ldv_8_ldv_param_153_3_default ; unsigned int ldv_8_ldv_param_156_1_default ; unsigned char ldv_8_ldv_param_156_2_default ; unsigned short ldv_8_ldv_param_159_1_default ; unsigned short ldv_8_ldv_param_159_2_default ; unsigned short *ldv_8_ldv_param_159_3_default ; unsigned char ldv_8_ldv_param_162_1_default ; unsigned char ldv_8_ldv_param_162_2_default ; unsigned char ldv_8_ldv_param_162_3_default ; unsigned char ldv_8_ldv_param_165_1_default ; unsigned char ldv_8_ldv_param_165_2_default ; unsigned int *ldv_8_ldv_param_168_1_default ; unsigned short ldv_8_ldv_param_168_2_default ; unsigned short ldv_8_ldv_param_168_3_default ; unsigned short ldv_8_ldv_param_16_1_default ; unsigned int ldv_8_ldv_param_171_1_default ; unsigned int ldv_8_ldv_param_171_2_default ; unsigned short ldv_8_ldv_param_171_3_default ; unsigned int ldv_8_ldv_param_174_1_default ; unsigned int ldv_8_ldv_param_174_2_default ; unsigned short ldv_8_ldv_param_174_3_default ; unsigned short ldv_8_ldv_param_19_1_default ; unsigned short ldv_8_ldv_param_22_1_default ; unsigned int *ldv_8_ldv_param_25_1_default ; _Bool *ldv_8_ldv_param_25_2_default ; _Bool ldv_8_ldv_param_25_3_default ; unsigned int ldv_8_ldv_param_30_1_default ; unsigned int ldv_8_ldv_param_34_1_default ; unsigned int ldv_8_ldv_param_34_2_default ; unsigned short ldv_8_ldv_param_3_1_default ; unsigned int ldv_8_ldv_param_41_1_default ; unsigned short *ldv_8_ldv_param_46_1_default ; unsigned short *ldv_8_ldv_param_49_1_default ; unsigned int *ldv_8_ldv_param_53_1_default ; _Bool *ldv_8_ldv_param_53_2_default ; unsigned char *ldv_8_ldv_param_56_1_default ; unsigned char *ldv_8_ldv_param_60_1_default ; unsigned short *ldv_8_ldv_param_65_1_default ; unsigned short *ldv_8_ldv_param_65_2_default ; unsigned int ldv_8_ldv_param_76_1_default ; unsigned int ldv_8_ldv_param_79_1_default ; unsigned int *ldv_8_ldv_param_83_1_default ; unsigned short ldv_8_ldv_param_83_2_default ; unsigned short ldv_8_ldv_param_83_3_default ; unsigned int ldv_8_ldv_param_86_1_default ; unsigned char *ldv_8_ldv_param_86_2_default ; unsigned short ldv_8_ldv_param_89_1_default ; unsigned short ldv_8_ldv_param_89_2_default ; unsigned short *ldv_8_ldv_param_89_3_default ; unsigned char ldv_8_ldv_param_92_1_default ; unsigned char ldv_8_ldv_param_92_2_default ; unsigned char *ldv_8_ldv_param_92_3_default ; unsigned char ldv_8_ldv_param_95_1_default ; unsigned char *ldv_8_ldv_param_95_2_default ; unsigned char ldv_8_ldv_param_98_1_default ; unsigned char *ldv_8_ldv_param_98_2_default ; unsigned int ldv_8_ldv_param_9_1_default ; int (*ldv_9_callback_acquire_swfw_sync)(struct ixgbe_hw * , unsigned short ) ; int (*ldv_9_callback_blink_led_start)(struct ixgbe_hw * , unsigned int ) ; int (*ldv_9_callback_blink_led_stop)(struct ixgbe_hw * , unsigned int ) ; unsigned short (*ldv_9_callback_calc_checksum)(struct ixgbe_hw * ) ; int (*ldv_9_callback_check_for_ack)(struct ixgbe_hw * , unsigned short ) ; int (*ldv_9_callback_check_for_msg)(struct ixgbe_hw * , unsigned short ) ; int (*ldv_9_callback_check_for_rst)(struct ixgbe_hw * , unsigned short ) ; int (*ldv_9_callback_check_link)(struct ixgbe_hw * , unsigned int * , _Bool * , _Bool ) ; int (*ldv_9_callback_check_overtemp)(struct ixgbe_hw * ) ; int (*ldv_9_callback_clear_hw_cntrs)(struct ixgbe_hw * ) ; int (*ldv_9_callback_clear_rar)(struct ixgbe_hw * , unsigned int ) ; int (*ldv_9_callback_clear_vfta)(struct ixgbe_hw * ) ; int (*ldv_9_callback_clear_vmdq)(struct ixgbe_hw * , unsigned int , unsigned int ) ; int (*ldv_9_callback_disable_mc)(struct ixgbe_hw * ) ; int (*ldv_9_callback_disable_rx_buff)(struct ixgbe_hw * ) ; int (*ldv_9_callback_enable_mc)(struct ixgbe_hw * ) ; int (*ldv_9_callback_enable_rx_buff)(struct ixgbe_hw * ) ; int (*ldv_9_callback_enable_rx_dma)(struct ixgbe_hw * , unsigned int ) ; int (*ldv_9_callback_fc_enable)(struct ixgbe_hw * ) ; int (*ldv_9_callback_get_bus_info)(struct ixgbe_hw * ) ; int (*ldv_9_callback_get_device_caps)(struct ixgbe_hw * , unsigned short * ) ; int (*ldv_9_callback_get_firmware_version)(struct ixgbe_hw * , unsigned short * ) ; int (*ldv_9_callback_get_invariants)(struct ixgbe_hw * ) ; int (*ldv_9_callback_get_link_capabilities)(struct ixgbe_hw * , unsigned int * , _Bool * ) ; int (*ldv_9_callback_get_mac_addr)(struct ixgbe_hw * , unsigned char * ) ; enum ixgbe_media_type (*ldv_9_callback_get_media_type)(struct ixgbe_hw * ) ; int (*ldv_9_callback_get_san_mac_addr)(struct ixgbe_hw * , unsigned char * ) ; unsigned int (*ldv_9_callback_get_supported_physical_layer)(struct ixgbe_hw * ) ; int (*ldv_9_callback_get_thermal_sensor_data)(struct ixgbe_hw * ) ; int (*ldv_9_callback_get_wwn_prefix)(struct ixgbe_hw * , unsigned short * , unsigned short * ) ; int (*ldv_9_callback_identify)(struct ixgbe_hw * ) ; int (*ldv_9_callback_identify_sfp)(struct ixgbe_hw * ) ; int (*ldv_9_callback_init)(struct ixgbe_hw * ) ; int (*ldv_9_callback_init_hw)(struct ixgbe_hw * ) ; int (*ldv_9_callback_init_params)(struct ixgbe_hw * ) ; int (*ldv_9_callback_init_rx_addrs)(struct ixgbe_hw * ) ; int (*ldv_9_callback_init_thermal_sensor_thresh)(struct ixgbe_hw * ) ; int (*ldv_9_callback_init_uta_tables)(struct ixgbe_hw * ) ; int (*ldv_9_callback_led_off)(struct ixgbe_hw * , unsigned int ) ; int (*ldv_9_callback_led_on)(struct ixgbe_hw * , unsigned int ) ; _Bool (*ldv_9_callback_mng_fw_enabled)(struct ixgbe_hw * ) ; int (*ldv_9_callback_read)(struct ixgbe_hw * , unsigned int * , unsigned short , unsigned short ) ; int (*ldv_9_callback_read_analog_reg8)(struct ixgbe_hw * , unsigned int , unsigned char * ) ; int (*ldv_9_callback_read_buffer)(struct ixgbe_hw * , unsigned short , unsigned short , unsigned short * ) ; int (*ldv_9_callback_read_i2c_byte)(struct ixgbe_hw * , unsigned char , unsigned char , unsigned char * ) ; int (*ldv_9_callback_read_i2c_eeprom)(struct ixgbe_hw * , unsigned char , unsigned char * ) ; int (*ldv_9_callback_read_i2c_sff8472)(struct ixgbe_hw * , unsigned char , unsigned char * ) ; int (*ldv_9_callback_read_posted)(struct ixgbe_hw * , unsigned int * , unsigned short , unsigned short ) ; int (*ldv_9_callback_read_reg)(struct ixgbe_hw * , unsigned int , unsigned int , unsigned short * ) ; int (*ldv_9_callback_read_reg_mdi)(struct ixgbe_hw * , unsigned int , unsigned int , unsigned short * ) ; void (*ldv_9_callback_release_swfw_sync)(struct ixgbe_hw * , unsigned short ) ; int (*ldv_9_callback_reset)(struct ixgbe_hw * ) ; int (*ldv_9_callback_reset_hw)(struct ixgbe_hw * ) ; int (*ldv_9_callback_set_fw_drv_ver)(struct ixgbe_hw * , unsigned char , unsigned char , unsigned char , unsigned char ) ; void (*ldv_9_callback_set_lan_id)(struct ixgbe_hw * ) ; void (*ldv_9_callback_set_mac_anti_spoofing)(struct ixgbe_hw * , _Bool , int ) ; int (*ldv_9_callback_set_rar)(struct ixgbe_hw * , unsigned int , unsigned char * , unsigned int , unsigned int ) ; void (*ldv_9_callback_set_rxpba)(struct ixgbe_hw * , int , unsigned int , int ) ; int (*ldv_9_callback_set_vfta)(struct ixgbe_hw * , unsigned int , unsigned int , _Bool ) ; void (*ldv_9_callback_set_vlan_anti_spoofing)(struct ixgbe_hw * , _Bool , int ) ; int (*ldv_9_callback_set_vmdq)(struct ixgbe_hw * , unsigned int , unsigned int ) ; int (*ldv_9_callback_set_vmdq_san_mac)(struct ixgbe_hw * , unsigned int ) ; int (*ldv_9_callback_setup_link)(struct ixgbe_hw * ) ; int (*ldv_9_callback_setup_link_speed)(struct ixgbe_hw * , unsigned int , _Bool ) ; int (*ldv_9_callback_setup_sfp)(struct ixgbe_hw * ) ; int (*ldv_9_callback_start_hw)(struct ixgbe_hw * ) ; int (*ldv_9_callback_stop_adapter)(struct ixgbe_hw * ) ; void (*ldv_9_callback_stop_link_on_d3)(struct ixgbe_hw * ) ; int (*ldv_9_callback_update_checksum)(struct ixgbe_hw * ) ; int (*ldv_9_callback_update_mc_addr_list)(struct ixgbe_hw * , struct net_device * ) ; int (*ldv_9_callback_validate_checksum)(struct ixgbe_hw * , unsigned short * ) ; int (*ldv_9_callback_write)(struct ixgbe_hw * , unsigned int * , unsigned short , unsigned short ) ; int (*ldv_9_callback_write_analog_reg8)(struct ixgbe_hw * , unsigned int , unsigned char ) ; int (*ldv_9_callback_write_buffer)(struct ixgbe_hw * , unsigned short , unsigned short , unsigned short * ) ; int (*ldv_9_callback_write_i2c_byte)(struct ixgbe_hw * , unsigned char , unsigned char , unsigned char ) ; int (*ldv_9_callback_write_i2c_eeprom)(struct ixgbe_hw * , unsigned char , unsigned char ) ; int (*ldv_9_callback_write_posted)(struct ixgbe_hw * , unsigned int * , unsigned short , unsigned short ) ; int (*ldv_9_callback_write_reg)(struct ixgbe_hw * , unsigned int , unsigned int , unsigned short ) ; int (*ldv_9_callback_write_reg_mdi)(struct ixgbe_hw * , unsigned int , unsigned int , unsigned short ) ; struct ixgbe_hw *ldv_9_container_struct_ixgbe_hw_ptr ; struct net_device *ldv_9_container_struct_net_device_ptr ; unsigned int *ldv_9_ldv_param_101_1_default ; unsigned short ldv_9_ldv_param_101_2_default ; unsigned short ldv_9_ldv_param_101_3_default ; unsigned int ldv_9_ldv_param_104_1_default ; unsigned int ldv_9_ldv_param_104_2_default ; unsigned short *ldv_9_ldv_param_104_3_default ; unsigned int ldv_9_ldv_param_107_1_default ; unsigned int ldv_9_ldv_param_107_2_default ; unsigned short *ldv_9_ldv_param_107_3_default ; unsigned short ldv_9_ldv_param_110_1_default ; unsigned char ldv_9_ldv_param_115_1_default ; unsigned char ldv_9_ldv_param_115_2_default ; unsigned char ldv_9_ldv_param_115_3_default ; unsigned char ldv_9_ldv_param_115_4_default ; _Bool ldv_9_ldv_param_119_1_default ; int ldv_9_ldv_param_119_2_default ; unsigned int ldv_9_ldv_param_122_1_default ; unsigned char *ldv_9_ldv_param_122_2_default ; unsigned int ldv_9_ldv_param_122_3_default ; unsigned int ldv_9_ldv_param_122_4_default ; int ldv_9_ldv_param_125_1_default ; unsigned int ldv_9_ldv_param_125_2_default ; int ldv_9_ldv_param_125_3_default ; unsigned int ldv_9_ldv_param_128_1_default ; unsigned int ldv_9_ldv_param_128_2_default ; _Bool ldv_9_ldv_param_128_3_default ; unsigned int ldv_9_ldv_param_12_1_default ; _Bool ldv_9_ldv_param_131_1_default ; int ldv_9_ldv_param_131_2_default ; unsigned int ldv_9_ldv_param_134_1_default ; unsigned int ldv_9_ldv_param_134_2_default ; unsigned int ldv_9_ldv_param_137_1_default ; unsigned int ldv_9_ldv_param_141_1_default ; _Bool ldv_9_ldv_param_141_2_default ; unsigned short *ldv_9_ldv_param_150_1_default ; unsigned int *ldv_9_ldv_param_153_1_default ; unsigned short ldv_9_ldv_param_153_2_default ; unsigned short ldv_9_ldv_param_153_3_default ; unsigned int ldv_9_ldv_param_156_1_default ; unsigned char ldv_9_ldv_param_156_2_default ; unsigned short ldv_9_ldv_param_159_1_default ; unsigned short ldv_9_ldv_param_159_2_default ; unsigned short *ldv_9_ldv_param_159_3_default ; unsigned char ldv_9_ldv_param_162_1_default ; unsigned char ldv_9_ldv_param_162_2_default ; unsigned char ldv_9_ldv_param_162_3_default ; unsigned char ldv_9_ldv_param_165_1_default ; unsigned char ldv_9_ldv_param_165_2_default ; unsigned int *ldv_9_ldv_param_168_1_default ; unsigned short ldv_9_ldv_param_168_2_default ; unsigned short ldv_9_ldv_param_168_3_default ; unsigned short ldv_9_ldv_param_16_1_default ; unsigned int ldv_9_ldv_param_171_1_default ; unsigned int ldv_9_ldv_param_171_2_default ; unsigned short ldv_9_ldv_param_171_3_default ; unsigned int ldv_9_ldv_param_174_1_default ; unsigned int ldv_9_ldv_param_174_2_default ; unsigned short ldv_9_ldv_param_174_3_default ; unsigned short ldv_9_ldv_param_19_1_default ; unsigned short ldv_9_ldv_param_22_1_default ; unsigned int *ldv_9_ldv_param_25_1_default ; _Bool *ldv_9_ldv_param_25_2_default ; _Bool ldv_9_ldv_param_25_3_default ; unsigned int ldv_9_ldv_param_30_1_default ; unsigned int ldv_9_ldv_param_34_1_default ; unsigned int ldv_9_ldv_param_34_2_default ; unsigned short ldv_9_ldv_param_3_1_default ; unsigned int ldv_9_ldv_param_41_1_default ; unsigned short *ldv_9_ldv_param_46_1_default ; unsigned short *ldv_9_ldv_param_49_1_default ; unsigned int *ldv_9_ldv_param_53_1_default ; _Bool *ldv_9_ldv_param_53_2_default ; unsigned char *ldv_9_ldv_param_56_1_default ; unsigned char *ldv_9_ldv_param_60_1_default ; unsigned short *ldv_9_ldv_param_65_1_default ; unsigned short *ldv_9_ldv_param_65_2_default ; unsigned int ldv_9_ldv_param_76_1_default ; unsigned int ldv_9_ldv_param_79_1_default ; unsigned int *ldv_9_ldv_param_83_1_default ; unsigned short ldv_9_ldv_param_83_2_default ; unsigned short ldv_9_ldv_param_83_3_default ; unsigned int ldv_9_ldv_param_86_1_default ; unsigned char *ldv_9_ldv_param_86_2_default ; unsigned short ldv_9_ldv_param_89_1_default ; unsigned short ldv_9_ldv_param_89_2_default ; unsigned short *ldv_9_ldv_param_89_3_default ; unsigned char ldv_9_ldv_param_92_1_default ; unsigned char ldv_9_ldv_param_92_2_default ; unsigned char *ldv_9_ldv_param_92_3_default ; unsigned char ldv_9_ldv_param_95_1_default ; unsigned char *ldv_9_ldv_param_95_2_default ; unsigned char ldv_9_ldv_param_98_1_default ; unsigned char *ldv_9_ldv_param_98_2_default ; unsigned int ldv_9_ldv_param_9_1_default ; int ldv_statevar_0 ; int ldv_statevar_1 ; int ldv_statevar_10 ; int ldv_statevar_11 ; int ldv_statevar_12 ; int ldv_statevar_13 ; int ldv_statevar_14 ; int ldv_statevar_15 ; int ldv_statevar_2 ; int ldv_statevar_3 ; int ldv_statevar_31 ; int ldv_statevar_4 ; int ldv_statevar_5 ; int ldv_statevar_6 ; int ldv_statevar_7 ; int ldv_statevar_8 ; int ldv_statevar_9 ; int (*ldv_14_callback_notifier_call)(struct notifier_block * , unsigned long , void * ) = & ixgbe_notify_dca; enum irqreturn (*ldv_2_callback_handler)(int , void * ) = & ixgbe_intr; void (*ldv_31_exit_ixgbe_exit_module_default)(void) = & ixgbe_exit_module; int (*ldv_31_init_ixgbe_init_module_default)(void) = & ixgbe_init_module; enum irqreturn (*ldv_3_callback_handler)(int , void * ) = & ixgbe_msix_clean_rings; enum irqreturn (*ldv_4_callback_handler)(int , void * ) = & ixgbe_msix_other; int (*ldv_6_callback_ndo_bridge_getlink)(struct sk_buff * , unsigned int , unsigned int , struct net_device * , unsigned int ) = & ixgbe_ndo_bridge_getlink; int (*ldv_6_callback_ndo_bridge_setlink)(struct net_device * , struct nlmsghdr * ) = & ixgbe_ndo_bridge_setlink; int (*ldv_6_callback_ndo_busy_poll)(struct napi_struct * ) = & ixgbe_low_latency_recv; int (*ldv_6_callback_ndo_change_mtu)(struct net_device * , int ) = & ixgbe_change_mtu; void *(*ldv_6_callback_ndo_dfwd_add_station)(struct net_device * , struct net_device * ) = & ixgbe_fwd_add; void (*ldv_6_callback_ndo_dfwd_del_station)(struct net_device * , void * ) = & ixgbe_fwd_del; int (*ldv_6_callback_ndo_do_ioctl)(struct net_device * , struct ifreq * , int ) = & ixgbe_ioctl; int (*ldv_6_callback_ndo_fcoe_ddp_done)(struct net_device * , unsigned short ) = & ixgbe_fcoe_ddp_put; int (*ldv_6_callback_ndo_fcoe_ddp_setup)(struct net_device * , unsigned short , struct scatterlist * , unsigned int ) = & ixgbe_fcoe_ddp_get; int (*ldv_6_callback_ndo_fcoe_ddp_target)(struct net_device * , unsigned short , struct scatterlist * , unsigned int ) = & ixgbe_fcoe_ddp_target; int (*ldv_6_callback_ndo_fcoe_disable)(struct net_device * ) = & ixgbe_fcoe_disable; int (*ldv_6_callback_ndo_fcoe_enable)(struct net_device * ) = & ixgbe_fcoe_enable; int (*ldv_6_callback_ndo_fcoe_get_hbainfo)(struct net_device * , struct netdev_fcoe_hbainfo * ) = & ixgbe_fcoe_get_hbainfo; int (*ldv_6_callback_ndo_fcoe_get_wwn)(struct net_device * , unsigned long long * , int ) = & ixgbe_fcoe_get_wwn; int (*ldv_6_callback_ndo_fdb_add)(struct ndmsg * , struct nlattr ** , struct net_device * , unsigned char * , unsigned short ) = (int (*)(struct ndmsg * , struct nlattr ** , struct net_device * , unsigned char * , unsigned short ))(& ixgbe_ndo_fdb_add); unsigned long long (*ldv_6_callback_ndo_fix_features)(struct net_device * , unsigned long long ) = & ixgbe_fix_features; struct rtnl_link_stats64 *(*ldv_6_callback_ndo_get_stats64)(struct net_device * , struct rtnl_link_stats64 * ) = & ixgbe_get_stats64; int (*ldv_6_callback_ndo_get_vf_config)(struct net_device * , int , struct ifla_vf_info * ) = & ixgbe_ndo_get_vf_config; void (*ldv_6_callback_ndo_poll_controller)(struct net_device * ) = & ixgbe_netpoll; unsigned short (*ldv_6_callback_ndo_select_queue)(struct net_device * , struct sk_buff * , void * , unsigned short (*)(struct net_device * , struct sk_buff * ) ) = & ixgbe_select_queue; int (*ldv_6_callback_ndo_set_features)(struct net_device * , unsigned long long ) = & ixgbe_set_features; int (*ldv_6_callback_ndo_set_mac_address)(struct net_device * , void * ) = & ixgbe_set_mac; void (*ldv_6_callback_ndo_set_rx_mode)(struct net_device * ) = & ixgbe_set_rx_mode; int (*ldv_6_callback_ndo_set_vf_mac)(struct net_device * , int , unsigned char * ) = & ixgbe_ndo_set_vf_mac; int (*ldv_6_callback_ndo_set_vf_spoofchk)(struct net_device * , int , _Bool ) = & ixgbe_ndo_set_vf_spoofchk; int (*ldv_6_callback_ndo_set_vf_tx_rate)(struct net_device * , int , int ) = & ixgbe_ndo_set_vf_bw; int (*ldv_6_callback_ndo_set_vf_vlan)(struct net_device * , int , unsigned short , unsigned char ) = & ixgbe_ndo_set_vf_vlan; int (*ldv_6_callback_ndo_setup_tc)(struct net_device * , unsigned char ) = & ixgbe_setup_tc; enum netdev_tx (*ldv_6_callback_ndo_start_xmit)(struct sk_buff * , struct net_device * ) = & ixgbe_xmit_frame; void (*ldv_6_callback_ndo_tx_timeout)(struct net_device * ) = & ixgbe_tx_timeout; int (*ldv_6_callback_ndo_validate_addr)(struct net_device * ) = & eth_validate_addr; int (*ldv_6_callback_ndo_vlan_rx_add_vid)(struct net_device * , unsigned short , unsigned short ) = & ixgbe_vlan_rx_add_vid; int (*ldv_6_callback_ndo_vlan_rx_kill_vid)(struct net_device * , unsigned short , unsigned short ) = & ixgbe_vlan_rx_kill_vid; unsigned int (*ldv_7_callback_error_detected)(struct pci_dev * , enum pci_channel_state ) = (unsigned int (*)(struct pci_dev * , enum pci_channel_state ))(& ixgbe_io_error_detected); void (*ldv_7_callback_func_1_ptr)(struct pci_dev * ) = & ixgbe_io_resume; unsigned int (*ldv_7_callback_slot_reset)(struct pci_dev * ) = & ixgbe_io_slot_reset; int (*ldv_7_callback_sriov_configure)(struct pci_dev * , int ) = & ixgbe_pci_sriov_configure; void ldv_EMGentry_exit_ixgbe_exit_module_31_2(void (*arg0)(void) ) { { { ixgbe_exit_module(); } return; } } int ldv_EMGentry_init_ixgbe_init_module_31_11(int (*arg0)(void) ) { int tmp ; { { tmp = ixgbe_init_module(); } return (tmp); } } int ldv___pci_register_driver(int arg0 , struct pci_driver *arg1 , struct module *arg2 , char *arg3 ) { struct pci_driver *ldv_28_pci_driver_pci_driver ; int tmp ; { { tmp = ldv_undef_int(); } if (tmp != 0) { { ldv_assume(arg0 == 0); ldv_28_pci_driver_pci_driver = arg1; ldv_assume(ldv_statevar_7 == 20); ldv_dispatch_register_28_2(ldv_28_pci_driver_pci_driver); } return (arg0); } else { { ldv_assume(arg0 != 0); } return (arg0); } return (arg0); } } struct net_device *ldv_alloc_etherdev_mqs(struct net_device *arg0 , int arg1 , unsigned int arg2 , unsigned int arg3 ) { struct net_device *ldv_16_netdev_net_device ; void *tmp ; int tmp___0 ; { { tmp___0 = ldv_undef_int(); } if (tmp___0 != 0) { { tmp = ldv_xmalloc(3200UL); ldv_16_netdev_net_device = (struct net_device *)tmp; } return (ldv_16_netdev_net_device); return (arg0); } else { return ((struct net_device *)0); return (arg0); } return (arg0); } } void ldv_allocate_external_0(void) { void *tmp ; void *tmp___0 ; void *tmp___1 ; void *tmp___2 ; void *tmp___3 ; void *tmp___4 ; void *tmp___5 ; void *tmp___6 ; void *tmp___7 ; void *tmp___8 ; void *tmp___9 ; void *tmp___10 ; void *tmp___11 ; void *tmp___12 ; void *tmp___13 ; void *tmp___14 ; void *tmp___15 ; void *tmp___16 ; void *tmp___17 ; void *tmp___18 ; void *tmp___19 ; void *tmp___20 ; void *tmp___21 ; void *tmp___22 ; void *tmp___23 ; void *tmp___24 ; void *tmp___25 ; void *tmp___26 ; void *tmp___27 ; void *tmp___28 ; void *tmp___29 ; void *tmp___30 ; void *tmp___31 ; void *tmp___32 ; void *tmp___33 ; void *tmp___34 ; void *tmp___35 ; void *tmp___36 ; void *tmp___37 ; void *tmp___38 ; void *tmp___39 ; void *tmp___40 ; void *tmp___41 ; void *tmp___42 ; void *tmp___43 ; void *tmp___44 ; void *tmp___45 ; void *tmp___46 ; void *tmp___47 ; void *tmp___48 ; void *tmp___49 ; void *tmp___50 ; void *tmp___51 ; void *tmp___52 ; void *tmp___53 ; void *tmp___54 ; void *tmp___55 ; void *tmp___56 ; void *tmp___57 ; void *tmp___58 ; void *tmp___59 ; void *tmp___60 ; void *tmp___61 ; void *tmp___62 ; void *tmp___63 ; void *tmp___64 ; void *tmp___65 ; void *tmp___66 ; void *tmp___67 ; void *tmp___68 ; void *tmp___69 ; void *tmp___70 ; void *tmp___71 ; void *tmp___72 ; void *tmp___73 ; void *tmp___74 ; void *tmp___75 ; void *tmp___76 ; void *tmp___77 ; void *tmp___78 ; void *tmp___79 ; void *tmp___80 ; void *tmp___81 ; void *tmp___82 ; void *tmp___83 ; void *tmp___84 ; void *tmp___85 ; void *tmp___86 ; void *tmp___87 ; void *tmp___88 ; void *tmp___89 ; void *tmp___90 ; void *tmp___91 ; void *tmp___92 ; void *tmp___93 ; void *tmp___94 ; void *tmp___95 ; void *tmp___96 ; void *tmp___97 ; void *tmp___98 ; void *tmp___99 ; void *tmp___100 ; void *tmp___101 ; void *tmp___102 ; void *tmp___103 ; void *tmp___104 ; void *tmp___105 ; void *tmp___106 ; void *tmp___107 ; void *tmp___108 ; void *tmp___109 ; void *tmp___110 ; void *tmp___111 ; void *tmp___112 ; void *tmp___113 ; void *tmp___114 ; void *tmp___115 ; void *tmp___116 ; void *tmp___117 ; void *tmp___118 ; void *tmp___119 ; void *tmp___120 ; void *tmp___121 ; void *tmp___122 ; void *tmp___123 ; void *tmp___124 ; void *tmp___125 ; void *tmp___126 ; void *tmp___127 ; void *tmp___128 ; void *tmp___129 ; void *tmp___130 ; void *tmp___131 ; void *tmp___132 ; void *tmp___133 ; void *tmp___134 ; void *tmp___135 ; void *tmp___136 ; void *tmp___137 ; void *tmp___138 ; void *tmp___139 ; void *tmp___140 ; void *tmp___141 ; void *tmp___142 ; void *tmp___143 ; void *tmp___144 ; void *tmp___145 ; void *tmp___146 ; void *tmp___147 ; void *tmp___148 ; void *tmp___149 ; void *tmp___150 ; void *tmp___151 ; void *tmp___152 ; void *tmp___153 ; void *tmp___154 ; void *tmp___155 ; void *tmp___156 ; void *tmp___157 ; void *tmp___158 ; void *tmp___159 ; void *tmp___160 ; void *tmp___161 ; void *tmp___162 ; void *tmp___163 ; void *tmp___164 ; void *tmp___165 ; void *tmp___166 ; void *tmp___167 ; void *tmp___168 ; void *tmp___169 ; void *tmp___170 ; void *tmp___171 ; void *tmp___172 ; void *tmp___173 ; void *tmp___174 ; void *tmp___175 ; void *tmp___176 ; void *tmp___177 ; void *tmp___178 ; void *tmp___179 ; void *tmp___180 ; void *tmp___181 ; void *tmp___182 ; void *tmp___183 ; void *tmp___184 ; void *tmp___185 ; void *tmp___186 ; void *tmp___187 ; void *tmp___188 ; void *tmp___189 ; void *tmp___190 ; void *tmp___191 ; void *tmp___192 ; void *tmp___193 ; void *tmp___194 ; void *tmp___195 ; void *tmp___196 ; void *tmp___197 ; void *tmp___198 ; void *tmp___199 ; void *tmp___200 ; void *tmp___201 ; void *tmp___202 ; void *tmp___203 ; void *tmp___204 ; void *tmp___205 ; void *tmp___206 ; void *tmp___207 ; void *tmp___208 ; void *tmp___209 ; void *tmp___210 ; void *tmp___211 ; void *tmp___212 ; void *tmp___213 ; void *tmp___214 ; void *tmp___215 ; void *tmp___216 ; void *tmp___217 ; void *tmp___218 ; void *tmp___219 ; void *tmp___220 ; void *tmp___221 ; void *tmp___222 ; void *tmp___223 ; void *tmp___224 ; void *tmp___225 ; void *tmp___226 ; void *tmp___227 ; { { tmp = external_allocated_data(); ldv_0_ldv_param_4_1_default = (char *)tmp; tmp___0 = external_allocated_data(); ldv_0_ldv_param_4_3_default = (long long *)tmp___0; tmp___1 = external_allocated_data(); ldv_0_ldv_param_5_1_default = (char *)tmp___1; tmp___2 = external_allocated_data(); ldv_0_ldv_param_5_3_default = (long long *)tmp___2; tmp___3 = external_allocated_data(); ldv_0_resource_file = (struct file *)tmp___3; tmp___4 = external_allocated_data(); ldv_0_resource_inode = (struct inode *)tmp___4; tmp___5 = external_allocated_data(); ldv_1_ldv_param_4_1_default = (char *)tmp___5; tmp___6 = external_allocated_data(); ldv_1_ldv_param_4_3_default = (long long *)tmp___6; tmp___7 = external_allocated_data(); ldv_1_ldv_param_5_1_default = (char *)tmp___7; tmp___8 = external_allocated_data(); ldv_1_ldv_param_5_3_default = (long long *)tmp___8; tmp___9 = external_allocated_data(); ldv_1_resource_file = (struct file *)tmp___9; tmp___10 = external_allocated_data(); ldv_1_resource_inode = (struct inode *)tmp___10; ldv_2_data_data = external_allocated_data(); tmp___11 = external_allocated_data(); ldv_2_thread_thread = (enum irqreturn (*)(int , void * ))tmp___11; ldv_3_data_data = external_allocated_data(); tmp___12 = external_allocated_data(); ldv_3_thread_thread = (enum irqreturn (*)(int , void * ))tmp___12; ldv_4_data_data = external_allocated_data(); tmp___13 = external_allocated_data(); ldv_4_thread_thread = (enum irqreturn (*)(int , void * ))tmp___13; ldv_5_data_data = external_allocated_data(); tmp___14 = external_allocated_data(); ldv_5_thread_thread = (enum irqreturn (*)(int , void * ))tmp___14; tmp___15 = external_allocated_data(); ldv_6_container_func_2_ptr = (unsigned short (*)(struct net_device * , struct sk_buff * ))tmp___15; tmp___16 = external_allocated_data(); ldv_6_container_net_device = (struct net_device *)tmp___16; tmp___17 = external_allocated_data(); ldv_6_container_struct_dcb_app_ptr = (struct dcb_app *)tmp___17; tmp___18 = external_allocated_data(); ldv_6_container_struct_ethtool_channels_ptr = (struct ethtool_channels *)tmp___18; tmp___19 = external_allocated_data(); ldv_6_container_struct_ethtool_cmd_ptr = (struct ethtool_cmd *)tmp___19; tmp___20 = external_allocated_data(); ldv_6_container_struct_ethtool_coalesce_ptr = (struct ethtool_coalesce *)tmp___20; tmp___21 = external_allocated_data(); ldv_6_container_struct_ethtool_drvinfo_ptr = (struct ethtool_drvinfo *)tmp___21; tmp___22 = external_allocated_data(); ldv_6_container_struct_ethtool_eeprom_ptr = (struct ethtool_eeprom *)tmp___22; tmp___23 = external_allocated_data(); ldv_6_container_struct_ethtool_modinfo_ptr = (struct ethtool_modinfo *)tmp___23; tmp___24 = external_allocated_data(); ldv_6_container_struct_ethtool_pauseparam_ptr = (struct ethtool_pauseparam *)tmp___24; tmp___25 = external_allocated_data(); ldv_6_container_struct_ethtool_regs_ptr = (struct ethtool_regs *)tmp___25; tmp___26 = external_allocated_data(); ldv_6_container_struct_ethtool_ringparam_ptr = (struct ethtool_ringparam *)tmp___26; tmp___27 = external_allocated_data(); ldv_6_container_struct_ethtool_rxnfc_ptr = (struct ethtool_rxnfc *)tmp___27; tmp___28 = external_allocated_data(); ldv_6_container_struct_ethtool_stats_ptr = (struct ethtool_stats *)tmp___28; tmp___29 = external_allocated_data(); ldv_6_container_struct_ethtool_test_ptr = (struct ethtool_test *)tmp___29; tmp___30 = external_allocated_data(); ldv_6_container_struct_ethtool_ts_info_ptr = (struct ethtool_ts_info *)tmp___30; tmp___31 = external_allocated_data(); ldv_6_container_struct_ethtool_wolinfo_ptr = (struct ethtool_wolinfo *)tmp___31; tmp___32 = external_allocated_data(); ldv_6_container_struct_ieee_ets_ptr = (struct ieee_ets *)tmp___32; tmp___33 = external_allocated_data(); ldv_6_container_struct_ieee_pfc_ptr = (struct ieee_pfc *)tmp___33; tmp___34 = external_allocated_data(); ldv_6_container_struct_ifla_vf_info_ptr = (struct ifla_vf_info *)tmp___34; tmp___35 = external_allocated_data(); ldv_6_container_struct_ifreq_ptr = (struct ifreq *)tmp___35; tmp___36 = external_allocated_data(); ldv_6_container_struct_napi_struct_ptr = (struct napi_struct *)tmp___36; tmp___37 = external_allocated_data(); ldv_6_container_struct_ndmsg_ptr = (struct ndmsg *)tmp___37; tmp___38 = external_allocated_data(); ldv_6_container_struct_netdev_fcoe_hbainfo_ptr = (struct netdev_fcoe_hbainfo *)tmp___38; tmp___39 = external_allocated_data(); ldv_6_container_struct_nlattr_ptr_ptr = (struct nlattr **)tmp___39; tmp___40 = external_allocated_data(); ldv_6_container_struct_nlmsghdr_ptr = (struct nlmsghdr *)tmp___40; tmp___41 = external_allocated_data(); ldv_6_container_struct_rtnl_link_stats64_ptr = (struct rtnl_link_stats64 *)tmp___41; tmp___42 = external_allocated_data(); ldv_6_container_struct_scatterlist_ptr = (struct scatterlist *)tmp___42; tmp___43 = external_allocated_data(); ldv_6_container_struct_sk_buff_ptr = (struct sk_buff *)tmp___43; tmp___44 = external_allocated_data(); ldv_6_ldv_param_101_1_default = (unsigned long long *)tmp___44; tmp___45 = external_allocated_data(); ldv_6_ldv_param_104_3_default = (unsigned char *)tmp___45; tmp___46 = external_allocated_data(); ldv_6_ldv_param_115_3_default = (unsigned short (*)(struct net_device * , struct sk_buff * ))tmp___46; tmp___47 = external_allocated_data(); ldv_6_ldv_param_123_2_default = (unsigned char *)tmp___47; tmp___48 = external_allocated_data(); ldv_6_ldv_param_13_2_default = (unsigned long long *)tmp___48; tmp___49 = external_allocated_data(); ldv_6_ldv_param_148_2_default = (unsigned long long *)tmp___49; tmp___50 = external_allocated_data(); ldv_6_ldv_param_153_2_default = (unsigned char *)tmp___50; tmp___51 = external_allocated_data(); ldv_6_ldv_param_17_2_default = (unsigned char *)tmp___51; tmp___52 = external_allocated_data(); ldv_6_ldv_param_26_2_default = (unsigned int *)tmp___52; tmp___53 = external_allocated_data(); ldv_6_ldv_param_33_2_default = (unsigned char *)tmp___53; tmp___54 = external_allocated_data(); ldv_6_ldv_param_41_2_default = (unsigned char *)tmp___54; tmp___55 = external_allocated_data(); ldv_6_ldv_param_45_2_default = (unsigned char *)tmp___55; tmp___56 = external_allocated_data(); ldv_6_ldv_param_48_1_default = (unsigned char *)tmp___56; tmp___57 = external_allocated_data(); ldv_6_ldv_param_51_2_default = (unsigned char *)tmp___57; tmp___58 = external_allocated_data(); ldv_6_ldv_param_55_2_default = (unsigned char *)tmp___58; tmp___59 = external_allocated_data(); ldv_6_ldv_param_58_2_default = (unsigned char *)tmp___59; tmp___60 = external_allocated_data(); ldv_6_ldv_param_61_2_default = (unsigned char *)tmp___60; tmp___61 = external_allocated_data(); ldv_6_ldv_param_61_3_default = (unsigned char *)tmp___61; tmp___62 = external_allocated_data(); ldv_6_ldv_param_61_4_default = (unsigned char *)tmp___62; tmp___63 = external_allocated_data(); ldv_6_ldv_param_61_5_default = (unsigned char *)tmp___63; tmp___64 = external_allocated_data(); ldv_6_ldv_param_64_2_default = (unsigned char *)tmp___64; tmp___65 = external_allocated_data(); ldv_6_ldv_param_64_3_default = (unsigned char *)tmp___65; tmp___66 = external_allocated_data(); ldv_6_ldv_param_64_4_default = (unsigned char *)tmp___66; tmp___67 = external_allocated_data(); ldv_6_ldv_param_64_5_default = (unsigned char *)tmp___67; tmp___68 = external_allocated_data(); ldv_6_ldv_param_82_1_default = (struct net_device *)tmp___68; tmp___69 = external_allocated_data(); ldv_6_ldv_param_9_2_default = (unsigned char *)tmp___69; tmp___70 = external_allocated_data(); ldv_7_resource_dev = (struct pci_dev *)tmp___70; tmp___71 = external_allocated_data(); ldv_8_container_struct_ixgbe_hw_ptr = (struct ixgbe_hw *)tmp___71; tmp___72 = external_allocated_data(); ldv_8_container_struct_net_device_ptr = (struct net_device *)tmp___72; tmp___73 = external_allocated_data(); ldv_8_ldv_param_101_1_default = (unsigned int *)tmp___73; tmp___74 = external_allocated_data(); ldv_8_ldv_param_104_3_default = (unsigned short *)tmp___74; tmp___75 = external_allocated_data(); ldv_8_ldv_param_107_3_default = (unsigned short *)tmp___75; tmp___76 = external_allocated_data(); ldv_8_ldv_param_122_2_default = (unsigned char *)tmp___76; tmp___77 = external_allocated_data(); ldv_8_ldv_param_150_1_default = (unsigned short *)tmp___77; tmp___78 = external_allocated_data(); ldv_8_ldv_param_153_1_default = (unsigned int *)tmp___78; tmp___79 = external_allocated_data(); ldv_8_ldv_param_159_3_default = (unsigned short *)tmp___79; tmp___80 = external_allocated_data(); ldv_8_ldv_param_168_1_default = (unsigned int *)tmp___80; tmp___81 = external_allocated_data(); ldv_8_ldv_param_25_1_default = (unsigned int *)tmp___81; tmp___82 = external_allocated_data(); ldv_8_ldv_param_25_2_default = (_Bool *)tmp___82; tmp___83 = external_allocated_data(); ldv_8_ldv_param_46_1_default = (unsigned short *)tmp___83; tmp___84 = external_allocated_data(); ldv_8_ldv_param_49_1_default = (unsigned short *)tmp___84; tmp___85 = external_allocated_data(); ldv_8_ldv_param_53_1_default = (unsigned int *)tmp___85; tmp___86 = external_allocated_data(); ldv_8_ldv_param_53_2_default = (_Bool *)tmp___86; tmp___87 = external_allocated_data(); ldv_8_ldv_param_56_1_default = (unsigned char *)tmp___87; tmp___88 = external_allocated_data(); ldv_8_ldv_param_60_1_default = (unsigned char *)tmp___88; tmp___89 = external_allocated_data(); ldv_8_ldv_param_65_1_default = (unsigned short *)tmp___89; tmp___90 = external_allocated_data(); ldv_8_ldv_param_65_2_default = (unsigned short *)tmp___90; tmp___91 = external_allocated_data(); ldv_8_ldv_param_83_1_default = (unsigned int *)tmp___91; tmp___92 = external_allocated_data(); ldv_8_ldv_param_86_2_default = (unsigned char *)tmp___92; tmp___93 = external_allocated_data(); ldv_8_ldv_param_89_3_default = (unsigned short *)tmp___93; tmp___94 = external_allocated_data(); ldv_8_ldv_param_92_3_default = (unsigned char *)tmp___94; tmp___95 = external_allocated_data(); ldv_8_ldv_param_95_2_default = (unsigned char *)tmp___95; tmp___96 = external_allocated_data(); ldv_8_ldv_param_98_2_default = (unsigned char *)tmp___96; tmp___97 = external_allocated_data(); ldv_9_container_struct_ixgbe_hw_ptr = (struct ixgbe_hw *)tmp___97; tmp___98 = external_allocated_data(); ldv_9_container_struct_net_device_ptr = (struct net_device *)tmp___98; tmp___99 = external_allocated_data(); ldv_9_ldv_param_101_1_default = (unsigned int *)tmp___99; tmp___100 = external_allocated_data(); ldv_9_ldv_param_104_3_default = (unsigned short *)tmp___100; tmp___101 = external_allocated_data(); ldv_9_ldv_param_107_3_default = (unsigned short *)tmp___101; tmp___102 = external_allocated_data(); ldv_9_ldv_param_122_2_default = (unsigned char *)tmp___102; tmp___103 = external_allocated_data(); ldv_9_ldv_param_150_1_default = (unsigned short *)tmp___103; tmp___104 = external_allocated_data(); ldv_9_ldv_param_153_1_default = (unsigned int *)tmp___104; tmp___105 = external_allocated_data(); ldv_9_ldv_param_159_3_default = (unsigned short *)tmp___105; tmp___106 = external_allocated_data(); ldv_9_ldv_param_168_1_default = (unsigned int *)tmp___106; tmp___107 = external_allocated_data(); ldv_9_ldv_param_25_1_default = (unsigned int *)tmp___107; tmp___108 = external_allocated_data(); ldv_9_ldv_param_25_2_default = (_Bool *)tmp___108; tmp___109 = external_allocated_data(); ldv_9_ldv_param_46_1_default = (unsigned short *)tmp___109; tmp___110 = external_allocated_data(); ldv_9_ldv_param_49_1_default = (unsigned short *)tmp___110; tmp___111 = external_allocated_data(); ldv_9_ldv_param_53_1_default = (unsigned int *)tmp___111; tmp___112 = external_allocated_data(); ldv_9_ldv_param_53_2_default = (_Bool *)tmp___112; tmp___113 = external_allocated_data(); ldv_9_ldv_param_56_1_default = (unsigned char *)tmp___113; tmp___114 = external_allocated_data(); ldv_9_ldv_param_60_1_default = (unsigned char *)tmp___114; tmp___115 = external_allocated_data(); ldv_9_ldv_param_65_1_default = (unsigned short *)tmp___115; tmp___116 = external_allocated_data(); ldv_9_ldv_param_65_2_default = (unsigned short *)tmp___116; tmp___117 = external_allocated_data(); ldv_9_ldv_param_83_1_default = (unsigned int *)tmp___117; tmp___118 = external_allocated_data(); ldv_9_ldv_param_86_2_default = (unsigned char *)tmp___118; tmp___119 = external_allocated_data(); ldv_9_ldv_param_89_3_default = (unsigned short *)tmp___119; tmp___120 = external_allocated_data(); ldv_9_ldv_param_92_3_default = (unsigned char *)tmp___120; tmp___121 = external_allocated_data(); ldv_9_ldv_param_95_2_default = (unsigned char *)tmp___121; tmp___122 = external_allocated_data(); ldv_9_ldv_param_98_2_default = (unsigned char *)tmp___122; tmp___123 = external_allocated_data(); ldv_10_container_struct_ixgbe_hw_ptr = (struct ixgbe_hw *)tmp___123; tmp___124 = external_allocated_data(); ldv_10_container_struct_net_device_ptr = (struct net_device *)tmp___124; tmp___125 = external_allocated_data(); ldv_10_ldv_param_101_1_default = (unsigned int *)tmp___125; tmp___126 = external_allocated_data(); ldv_10_ldv_param_104_3_default = (unsigned short *)tmp___126; tmp___127 = external_allocated_data(); ldv_10_ldv_param_107_3_default = (unsigned short *)tmp___127; tmp___128 = external_allocated_data(); ldv_10_ldv_param_122_2_default = (unsigned char *)tmp___128; tmp___129 = external_allocated_data(); ldv_10_ldv_param_150_1_default = (unsigned short *)tmp___129; tmp___130 = external_allocated_data(); ldv_10_ldv_param_153_1_default = (unsigned int *)tmp___130; tmp___131 = external_allocated_data(); ldv_10_ldv_param_159_3_default = (unsigned short *)tmp___131; tmp___132 = external_allocated_data(); ldv_10_ldv_param_168_1_default = (unsigned int *)tmp___132; tmp___133 = external_allocated_data(); ldv_10_ldv_param_25_1_default = (unsigned int *)tmp___133; tmp___134 = external_allocated_data(); ldv_10_ldv_param_25_2_default = (_Bool *)tmp___134; tmp___135 = external_allocated_data(); ldv_10_ldv_param_46_1_default = (unsigned short *)tmp___135; tmp___136 = external_allocated_data(); ldv_10_ldv_param_49_1_default = (unsigned short *)tmp___136; tmp___137 = external_allocated_data(); ldv_10_ldv_param_53_1_default = (unsigned int *)tmp___137; tmp___138 = external_allocated_data(); ldv_10_ldv_param_53_2_default = (_Bool *)tmp___138; tmp___139 = external_allocated_data(); ldv_10_ldv_param_56_1_default = (unsigned char *)tmp___139; tmp___140 = external_allocated_data(); ldv_10_ldv_param_60_1_default = (unsigned char *)tmp___140; tmp___141 = external_allocated_data(); ldv_10_ldv_param_65_1_default = (unsigned short *)tmp___141; tmp___142 = external_allocated_data(); ldv_10_ldv_param_65_2_default = (unsigned short *)tmp___142; tmp___143 = external_allocated_data(); ldv_10_ldv_param_83_1_default = (unsigned int *)tmp___143; tmp___144 = external_allocated_data(); ldv_10_ldv_param_86_2_default = (unsigned char *)tmp___144; tmp___145 = external_allocated_data(); ldv_10_ldv_param_89_3_default = (unsigned short *)tmp___145; tmp___146 = external_allocated_data(); ldv_10_ldv_param_92_3_default = (unsigned char *)tmp___146; tmp___147 = external_allocated_data(); ldv_10_ldv_param_95_2_default = (unsigned char *)tmp___147; tmp___148 = external_allocated_data(); ldv_10_ldv_param_98_2_default = (unsigned char *)tmp___148; tmp___149 = external_allocated_data(); ldv_11_container_struct_ixgbe_hw_ptr = (struct ixgbe_hw *)tmp___149; tmp___150 = external_allocated_data(); ldv_11_container_struct_net_device_ptr = (struct net_device *)tmp___150; tmp___151 = external_allocated_data(); ldv_11_ldv_param_101_1_default = (unsigned int *)tmp___151; tmp___152 = external_allocated_data(); ldv_11_ldv_param_104_3_default = (unsigned short *)tmp___152; tmp___153 = external_allocated_data(); ldv_11_ldv_param_107_3_default = (unsigned short *)tmp___153; tmp___154 = external_allocated_data(); ldv_11_ldv_param_122_2_default = (unsigned char *)tmp___154; tmp___155 = external_allocated_data(); ldv_11_ldv_param_150_1_default = (unsigned short *)tmp___155; tmp___156 = external_allocated_data(); ldv_11_ldv_param_153_1_default = (unsigned int *)tmp___156; tmp___157 = external_allocated_data(); ldv_11_ldv_param_159_3_default = (unsigned short *)tmp___157; tmp___158 = external_allocated_data(); ldv_11_ldv_param_168_1_default = (unsigned int *)tmp___158; tmp___159 = external_allocated_data(); ldv_11_ldv_param_25_1_default = (unsigned int *)tmp___159; tmp___160 = external_allocated_data(); ldv_11_ldv_param_25_2_default = (_Bool *)tmp___160; tmp___161 = external_allocated_data(); ldv_11_ldv_param_46_1_default = (unsigned short *)tmp___161; tmp___162 = external_allocated_data(); ldv_11_ldv_param_49_1_default = (unsigned short *)tmp___162; tmp___163 = external_allocated_data(); ldv_11_ldv_param_53_1_default = (unsigned int *)tmp___163; tmp___164 = external_allocated_data(); ldv_11_ldv_param_53_2_default = (_Bool *)tmp___164; tmp___165 = external_allocated_data(); ldv_11_ldv_param_56_1_default = (unsigned char *)tmp___165; tmp___166 = external_allocated_data(); ldv_11_ldv_param_60_1_default = (unsigned char *)tmp___166; tmp___167 = external_allocated_data(); ldv_11_ldv_param_65_1_default = (unsigned short *)tmp___167; tmp___168 = external_allocated_data(); ldv_11_ldv_param_65_2_default = (unsigned short *)tmp___168; tmp___169 = external_allocated_data(); ldv_11_ldv_param_83_1_default = (unsigned int *)tmp___169; tmp___170 = external_allocated_data(); ldv_11_ldv_param_86_2_default = (unsigned char *)tmp___170; tmp___171 = external_allocated_data(); ldv_11_ldv_param_89_3_default = (unsigned short *)tmp___171; tmp___172 = external_allocated_data(); ldv_11_ldv_param_92_3_default = (unsigned char *)tmp___172; tmp___173 = external_allocated_data(); ldv_11_ldv_param_95_2_default = (unsigned char *)tmp___173; tmp___174 = external_allocated_data(); ldv_11_ldv_param_98_2_default = (unsigned char *)tmp___174; tmp___175 = external_allocated_data(); ldv_12_container_struct_ixgbe_hw_ptr = (struct ixgbe_hw *)tmp___175; tmp___176 = external_allocated_data(); ldv_12_container_struct_net_device_ptr = (struct net_device *)tmp___176; tmp___177 = external_allocated_data(); ldv_12_ldv_param_101_1_default = (unsigned int *)tmp___177; tmp___178 = external_allocated_data(); ldv_12_ldv_param_104_3_default = (unsigned short *)tmp___178; tmp___179 = external_allocated_data(); ldv_12_ldv_param_107_3_default = (unsigned short *)tmp___179; tmp___180 = external_allocated_data(); ldv_12_ldv_param_122_2_default = (unsigned char *)tmp___180; tmp___181 = external_allocated_data(); ldv_12_ldv_param_150_1_default = (unsigned short *)tmp___181; tmp___182 = external_allocated_data(); ldv_12_ldv_param_153_1_default = (unsigned int *)tmp___182; tmp___183 = external_allocated_data(); ldv_12_ldv_param_159_3_default = (unsigned short *)tmp___183; tmp___184 = external_allocated_data(); ldv_12_ldv_param_168_1_default = (unsigned int *)tmp___184; tmp___185 = external_allocated_data(); ldv_12_ldv_param_25_1_default = (unsigned int *)tmp___185; tmp___186 = external_allocated_data(); ldv_12_ldv_param_25_2_default = (_Bool *)tmp___186; tmp___187 = external_allocated_data(); ldv_12_ldv_param_46_1_default = (unsigned short *)tmp___187; tmp___188 = external_allocated_data(); ldv_12_ldv_param_49_1_default = (unsigned short *)tmp___188; tmp___189 = external_allocated_data(); ldv_12_ldv_param_53_1_default = (unsigned int *)tmp___189; tmp___190 = external_allocated_data(); ldv_12_ldv_param_53_2_default = (_Bool *)tmp___190; tmp___191 = external_allocated_data(); ldv_12_ldv_param_56_1_default = (unsigned char *)tmp___191; tmp___192 = external_allocated_data(); ldv_12_ldv_param_60_1_default = (unsigned char *)tmp___192; tmp___193 = external_allocated_data(); ldv_12_ldv_param_65_1_default = (unsigned short *)tmp___193; tmp___194 = external_allocated_data(); ldv_12_ldv_param_65_2_default = (unsigned short *)tmp___194; tmp___195 = external_allocated_data(); ldv_12_ldv_param_83_1_default = (unsigned int *)tmp___195; tmp___196 = external_allocated_data(); ldv_12_ldv_param_86_2_default = (unsigned char *)tmp___196; tmp___197 = external_allocated_data(); ldv_12_ldv_param_89_3_default = (unsigned short *)tmp___197; tmp___198 = external_allocated_data(); ldv_12_ldv_param_92_3_default = (unsigned char *)tmp___198; tmp___199 = external_allocated_data(); ldv_12_ldv_param_95_2_default = (unsigned char *)tmp___199; tmp___200 = external_allocated_data(); ldv_12_ldv_param_98_2_default = (unsigned char *)tmp___200; tmp___201 = external_allocated_data(); ldv_13_container_struct_ixgbe_hw_ptr = (struct ixgbe_hw *)tmp___201; tmp___202 = external_allocated_data(); ldv_13_container_struct_net_device_ptr = (struct net_device *)tmp___202; tmp___203 = external_allocated_data(); ldv_13_ldv_param_101_1_default = (unsigned int *)tmp___203; tmp___204 = external_allocated_data(); ldv_13_ldv_param_104_3_default = (unsigned short *)tmp___204; tmp___205 = external_allocated_data(); ldv_13_ldv_param_107_3_default = (unsigned short *)tmp___205; tmp___206 = external_allocated_data(); ldv_13_ldv_param_122_2_default = (unsigned char *)tmp___206; tmp___207 = external_allocated_data(); ldv_13_ldv_param_150_1_default = (unsigned short *)tmp___207; tmp___208 = external_allocated_data(); ldv_13_ldv_param_153_1_default = (unsigned int *)tmp___208; tmp___209 = external_allocated_data(); ldv_13_ldv_param_159_3_default = (unsigned short *)tmp___209; tmp___210 = external_allocated_data(); ldv_13_ldv_param_168_1_default = (unsigned int *)tmp___210; tmp___211 = external_allocated_data(); ldv_13_ldv_param_25_1_default = (unsigned int *)tmp___211; tmp___212 = external_allocated_data(); ldv_13_ldv_param_25_2_default = (_Bool *)tmp___212; tmp___213 = external_allocated_data(); ldv_13_ldv_param_46_1_default = (unsigned short *)tmp___213; tmp___214 = external_allocated_data(); ldv_13_ldv_param_49_1_default = (unsigned short *)tmp___214; tmp___215 = external_allocated_data(); ldv_13_ldv_param_53_1_default = (unsigned int *)tmp___215; tmp___216 = external_allocated_data(); ldv_13_ldv_param_53_2_default = (_Bool *)tmp___216; tmp___217 = external_allocated_data(); ldv_13_ldv_param_56_1_default = (unsigned char *)tmp___217; tmp___218 = external_allocated_data(); ldv_13_ldv_param_60_1_default = (unsigned char *)tmp___218; tmp___219 = external_allocated_data(); ldv_13_ldv_param_65_1_default = (unsigned short *)tmp___219; tmp___220 = external_allocated_data(); ldv_13_ldv_param_65_2_default = (unsigned short *)tmp___220; tmp___221 = external_allocated_data(); ldv_13_ldv_param_83_1_default = (unsigned int *)tmp___221; tmp___222 = external_allocated_data(); ldv_13_ldv_param_86_2_default = (unsigned char *)tmp___222; tmp___223 = external_allocated_data(); ldv_13_ldv_param_89_3_default = (unsigned short *)tmp___223; tmp___224 = external_allocated_data(); ldv_13_ldv_param_92_3_default = (unsigned char *)tmp___224; tmp___225 = external_allocated_data(); ldv_13_ldv_param_95_2_default = (unsigned char *)tmp___225; tmp___226 = external_allocated_data(); ldv_13_ldv_param_98_2_default = (unsigned char *)tmp___226; ldv_14_ldv_param_3_2_default = external_allocated_data(); tmp___227 = external_allocated_data(); ldv_15_container_timer_list = (struct timer_list *)tmp___227; } return; } } void ldv_dca_register_notify(void *arg0 , struct notifier_block *arg1 ) { struct notifier_block *ldv_30_struct_notifier_block_struct_notifier_block ; { { ldv_30_struct_notifier_block_struct_notifier_block = arg1; ldv_assume(ldv_statevar_14 == 5); ldv_dispatch_register_30_1(ldv_30_struct_notifier_block_struct_notifier_block); } return; return; } } void ldv_dca_unregister_notify(void *arg0 , struct notifier_block *arg1 ) { struct notifier_block *ldv_29_struct_notifier_block_struct_notifier_block ; { { ldv_29_struct_notifier_block_struct_notifier_block = arg1; ldv_assume(ldv_statevar_14 == 1); ldv_dispatch_deregister_29_1(ldv_29_struct_notifier_block_struct_notifier_block); } return; return; } } void ldv_dispatch_deregister_26_1(struct net_device *arg0 ) { { { ldv_6_container_net_device = arg0; ldv_switch_automaton_state_6_1(); } return; } } void ldv_dispatch_deregister_27_1(struct pci_driver *arg0 ) { { { ldv_7_container_pci_driver = arg0; ldv_switch_automaton_state_7_11(); } return; } } void ldv_dispatch_deregister_29_1(struct notifier_block *arg0 ) { { { ldv_14_container_struct_notifier_block = arg0; ldv_switch_automaton_state_14_1(); } return; } } void ldv_dispatch_deregister_dummy_resourceless_instance_15_31_4(void) { { { ldv_switch_automaton_state_8_1(); ldv_switch_automaton_state_9_1(); ldv_switch_automaton_state_10_1(); ldv_switch_automaton_state_11_1(); ldv_switch_automaton_state_12_1(); ldv_switch_automaton_state_13_1(); } return; } } void ldv_dispatch_deregister_file_operations_instance_9_31_5(void) { { { ldv_switch_automaton_state_0_6(); ldv_switch_automaton_state_1_6(); } return; } } void ldv_dispatch_instance_register_20_2(struct timer_list *arg0 ) { { { ldv_15_container_timer_list = arg0; ldv_switch_automaton_state_15_3(); } return; } } void ldv_dispatch_irq_register_22_2(int arg0 , enum irqreturn (*arg1)(int , void * ) , enum irqreturn (*arg2)(int , void * ) , void *arg3 ) { int tmp ; { { tmp = ldv_undef_int(); } { if (tmp == 0) { goto case_0; } else { } if (tmp == 1) { goto case_1; } else { } if (tmp == 2) { goto case_2; } else { } if (tmp == 3) { goto case_3; } else { } goto switch_default; case_0: /* CIL Label */ { ldv_2_line_line = arg0; ldv_2_callback_handler = arg1; ldv_2_thread_thread = arg2; ldv_2_data_data = arg3; ldv_switch_automaton_state_2_6(); } goto ldv_62642; case_1: /* CIL Label */ { ldv_3_line_line = arg0; ldv_3_callback_handler = arg1; ldv_3_thread_thread = arg2; ldv_3_data_data = arg3; ldv_switch_automaton_state_3_6(); } goto ldv_62642; case_2: /* CIL Label */ { ldv_4_line_line = arg0; ldv_4_callback_handler = arg1; ldv_4_thread_thread = arg2; ldv_4_data_data = arg3; ldv_switch_automaton_state_4_6(); } goto ldv_62642; case_3: /* CIL Label */ { ldv_5_line_line = arg0; ldv_5_callback_handler = arg1; ldv_5_thread_thread = arg2; ldv_5_data_data = arg3; ldv_switch_automaton_state_5_6(); } goto ldv_62642; switch_default: /* CIL Label */ { ldv_stop(); } switch_break: /* CIL Label */ ; } ldv_62642: ; return; } } void ldv_dispatch_irq_register_23_2(int arg0 , enum irqreturn (*arg1)(int , void * ) , enum irqreturn (*arg2)(int , void * ) , void *arg3 ) { int tmp ; { { tmp = ldv_undef_int(); } { if (tmp == 0) { goto case_0; } else { } if (tmp == 1) { goto case_1; } else { } if (tmp == 2) { goto case_2; } else { } if (tmp == 3) { goto case_3; } else { } goto switch_default; case_0: /* CIL Label */ { ldv_2_line_line = arg0; ldv_2_callback_handler = arg1; ldv_2_thread_thread = arg2; ldv_2_data_data = arg3; ldv_switch_automaton_state_2_6(); } goto ldv_62659; case_1: /* CIL Label */ { ldv_3_line_line = arg0; ldv_3_callback_handler = arg1; ldv_3_thread_thread = arg2; ldv_3_data_data = arg3; ldv_switch_automaton_state_3_6(); } goto ldv_62659; case_2: /* CIL Label */ { ldv_4_line_line = arg0; ldv_4_callback_handler = arg1; ldv_4_thread_thread = arg2; ldv_4_data_data = arg3; ldv_switch_automaton_state_4_6(); } goto ldv_62659; case_3: /* CIL Label */ { ldv_5_line_line = arg0; ldv_5_callback_handler = arg1; ldv_5_thread_thread = arg2; ldv_5_data_data = arg3; ldv_switch_automaton_state_5_6(); } goto ldv_62659; switch_default: /* CIL Label */ { ldv_stop(); } switch_break: /* CIL Label */ ; } ldv_62659: ; return; } } void ldv_dispatch_irq_register_24_2(int arg0 , enum irqreturn (*arg1)(int , void * ) , enum irqreturn (*arg2)(int , void * ) , void *arg3 ) { int tmp ; { { tmp = ldv_undef_int(); } { if (tmp == 0) { goto case_0; } else { } if (tmp == 1) { goto case_1; } else { } if (tmp == 2) { goto case_2; } else { } if (tmp == 3) { goto case_3; } else { } goto switch_default; case_0: /* CIL Label */ { ldv_2_line_line = arg0; ldv_2_callback_handler = arg1; ldv_2_thread_thread = arg2; ldv_2_data_data = arg3; ldv_switch_automaton_state_2_6(); } goto ldv_62676; case_1: /* CIL Label */ { ldv_3_line_line = arg0; ldv_3_callback_handler = arg1; ldv_3_thread_thread = arg2; ldv_3_data_data = arg3; ldv_switch_automaton_state_3_6(); } goto ldv_62676; case_2: /* CIL Label */ { ldv_4_line_line = arg0; ldv_4_callback_handler = arg1; ldv_4_thread_thread = arg2; ldv_4_data_data = arg3; ldv_switch_automaton_state_4_6(); } goto ldv_62676; case_3: /* CIL Label */ { ldv_5_line_line = arg0; ldv_5_callback_handler = arg1; ldv_5_thread_thread = arg2; ldv_5_data_data = arg3; ldv_switch_automaton_state_5_6(); } goto ldv_62676; switch_default: /* CIL Label */ { ldv_stop(); } switch_break: /* CIL Label */ ; } ldv_62676: ; return; } } void ldv_dispatch_register_21_4(struct net_device *arg0 ) { { { ldv_6_container_net_device = arg0; ldv_switch_automaton_state_6_5(); } return; } } void ldv_dispatch_register_28_2(struct pci_driver *arg0 ) { { { ldv_7_container_pci_driver = arg0; ldv_switch_automaton_state_7_20(); } return; } } void ldv_dispatch_register_30_1(struct notifier_block *arg0 ) { { { ldv_14_container_struct_notifier_block = arg0; ldv_switch_automaton_state_14_5(); } return; } } void ldv_dispatch_register_dummy_resourceless_instance_15_31_6(void) { { { ldv_switch_automaton_state_8_5(); ldv_switch_automaton_state_9_5(); ldv_switch_automaton_state_10_5(); ldv_switch_automaton_state_11_5(); ldv_switch_automaton_state_12_5(); ldv_switch_automaton_state_13_5(); } return; } } void ldv_dispatch_register_file_operations_instance_9_31_7(void) { { { ldv_switch_automaton_state_0_15(); ldv_switch_automaton_state_1_15(); } return; } } void ldv_dummy_resourceless_instance_callback_14_3(int (*arg0)(struct notifier_block * , unsigned long , void * ) , struct notifier_block *arg1 , unsigned long arg2 , void *arg3 ) { { { ixgbe_notify_dca(arg1, arg2, arg3); } return; } } void ldv_dummy_resourceless_instance_callback_6_100(int (*arg0)(struct net_device * , struct netdev_fcoe_hbainfo * ) , struct net_device *arg1 , struct netdev_fcoe_hbainfo *arg2 ) { { { ixgbe_fcoe_get_hbainfo(arg1, arg2); } return; } } void ldv_dummy_resourceless_instance_callback_6_101(int (*arg0)(struct net_device * , unsigned long long * , int ) , struct net_device *arg1 , unsigned long long *arg2 , int arg3 ) { { { ixgbe_fcoe_get_wwn(arg1, arg2, arg3); } return; } } void ldv_dummy_resourceless_instance_callback_6_104(int (*arg0)(struct ndmsg * , struct nlattr ** , struct net_device * , unsigned char * , unsigned short ) , struct ndmsg *arg1 , struct nlattr **arg2 , struct net_device *arg3 , unsigned char *arg4 , unsigned short arg5 ) { { { ixgbe_ndo_fdb_add(arg1, arg2, arg3, (unsigned char const *)arg4, (int )arg5); } return; } } void ldv_dummy_resourceless_instance_callback_6_107(unsigned long long (*arg0)(struct net_device * , unsigned long long ) , struct net_device *arg1 , unsigned long long arg2 ) { { { ixgbe_fix_features(arg1, arg2); } return; } } void ldv_dummy_resourceless_instance_callback_6_110(struct rtnl_link_stats64 *(*arg0)(struct net_device * , struct rtnl_link_stats64 * ) , struct net_device *arg1 , struct rtnl_link_stats64 *arg2 ) { { { ixgbe_get_stats64(arg1, arg2); } return; } } void ldv_dummy_resourceless_instance_callback_6_111(int (*arg0)(struct net_device * , int , struct ifla_vf_info * ) , struct net_device *arg1 , int arg2 , struct ifla_vf_info *arg3 ) { { { ixgbe_ndo_get_vf_config(arg1, arg2, arg3); } return; } } void ldv_dummy_resourceless_instance_callback_6_114(void (*arg0)(struct net_device * ) , struct net_device *arg1 ) { { { ixgbe_netpoll(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_6_115(unsigned short (*arg0)(struct net_device * , struct sk_buff * , void * , unsigned short (*)(struct net_device * , struct sk_buff * ) ) , struct net_device *arg1 , struct sk_buff *arg2 , void *arg3 , unsigned short (*arg4)(struct net_device * , struct sk_buff * ) ) { { { ixgbe_select_queue(arg1, arg2, arg3, arg4); } return; } } void ldv_dummy_resourceless_instance_callback_6_118(int (*arg0)(struct net_device * , unsigned long long ) , struct net_device *arg1 , unsigned long long arg2 ) { { { ixgbe_set_features(arg1, arg2); } return; } } void ldv_dummy_resourceless_instance_callback_6_121(int (*arg0)(struct net_device * , void * ) , struct net_device *arg1 , void *arg2 ) { { { ixgbe_set_mac(arg1, arg2); } return; } } void ldv_dummy_resourceless_instance_callback_6_122(void (*arg0)(struct net_device * ) , struct net_device *arg1 ) { { { ixgbe_set_rx_mode(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_6_123(int (*arg0)(struct net_device * , int , unsigned char * ) , struct net_device *arg1 , int arg2 , unsigned char *arg3 ) { { { ixgbe_ndo_set_vf_mac(arg1, arg2, arg3); } return; } } void ldv_dummy_resourceless_instance_callback_6_126(int (*arg0)(struct net_device * , int , _Bool ) , struct net_device *arg1 , int arg2 , _Bool arg3 ) { { { ixgbe_ndo_set_vf_spoofchk(arg1, arg2, (int )arg3); } return; } } void ldv_dummy_resourceless_instance_callback_6_129(int (*arg0)(struct net_device * , int , int ) , struct net_device *arg1 , int arg2 , int arg3 ) { { { ixgbe_ndo_set_vf_bw(arg1, arg2, arg3); } return; } } void ldv_dummy_resourceless_instance_callback_6_132(int (*arg0)(struct net_device * , int , unsigned short , unsigned char ) , struct net_device *arg1 , int arg2 , unsigned short arg3 , unsigned char arg4 ) { { { ixgbe_ndo_set_vf_vlan(arg1, arg2, (int )arg3, (int )arg4); } return; } } void ldv_dummy_resourceless_instance_callback_6_135(int (*arg0)(struct net_device * , unsigned char ) , struct net_device *arg1 , unsigned char arg2 ) { { { ixgbe_setup_tc(arg1, (int )arg2); } return; } } void ldv_dummy_resourceless_instance_callback_6_138(enum netdev_tx (*arg0)(struct sk_buff * , struct net_device * ) , struct sk_buff *arg1 , struct net_device *arg2 ) { { { ixgbe_xmit_frame(arg1, arg2); } return; } } void ldv_dummy_resourceless_instance_callback_6_139(void (*arg0)(struct net_device * ) , struct net_device *arg1 ) { { { ixgbe_tx_timeout(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_6_140(int (*arg0)(struct net_device * ) , struct net_device *arg1 ) { { { eth_validate_addr(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_6_141(int (*arg0)(struct net_device * , unsigned short , unsigned short ) , struct net_device *arg1 , unsigned short arg2 , unsigned short arg3 ) { { { ixgbe_vlan_rx_add_vid(arg1, (int )arg2, (int )arg3); } return; } } void ldv_dummy_resourceless_instance_callback_6_144(int (*arg0)(struct net_device * , unsigned short , unsigned short ) , struct net_device *arg1 , unsigned short arg2 , unsigned short arg3 ) { { { ixgbe_vlan_rx_kill_vid(arg1, (int )arg2, (int )arg3); } return; } } void ldv_dummy_resourceless_instance_callback_6_74(int (*arg0)(struct sk_buff * , unsigned int , unsigned int , struct net_device * , unsigned int ) , struct sk_buff *arg1 , unsigned int arg2 , unsigned int arg3 , struct net_device *arg4 , unsigned int arg5 ) { { { ixgbe_ndo_bridge_getlink(arg1, arg2, arg3, arg4, arg5); } return; } } void ldv_dummy_resourceless_instance_callback_6_77(int (*arg0)(struct net_device * , struct nlmsghdr * ) , struct net_device *arg1 , struct nlmsghdr *arg2 ) { { { ixgbe_ndo_bridge_setlink(arg1, arg2); } return; } } void ldv_dummy_resourceless_instance_callback_6_78(int (*arg0)(struct napi_struct * ) , struct napi_struct *arg1 ) { { { ixgbe_low_latency_recv(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_6_79(int (*arg0)(struct net_device * , int ) , struct net_device *arg1 , int arg2 ) { { { ixgbe_change_mtu(arg1, arg2); } return; } } void ldv_dummy_resourceless_instance_callback_6_82(void *(*arg0)(struct net_device * , struct net_device * ) , struct net_device *arg1 , struct net_device *arg2 ) { { { ixgbe_fwd_add(arg1, arg2); } return; } } void ldv_dummy_resourceless_instance_callback_6_85(void (*arg0)(struct net_device * , void * ) , struct net_device *arg1 , void *arg2 ) { { { ixgbe_fwd_del(arg1, arg2); } return; } } void ldv_dummy_resourceless_instance_callback_6_86(int (*arg0)(struct net_device * , struct ifreq * , int ) , struct net_device *arg1 , struct ifreq *arg2 , int arg3 ) { { { ixgbe_ioctl(arg1, arg2, arg3); } return; } } void ldv_dummy_resourceless_instance_callback_6_89(int (*arg0)(struct net_device * , unsigned short ) , struct net_device *arg1 , unsigned short arg2 ) { { { ixgbe_fcoe_ddp_put(arg1, (int )arg2); } return; } } void ldv_dummy_resourceless_instance_callback_6_92(int (*arg0)(struct net_device * , unsigned short , struct scatterlist * , unsigned int ) , struct net_device *arg1 , unsigned short arg2 , struct scatterlist *arg3 , unsigned int arg4 ) { { { ixgbe_fcoe_ddp_get(arg1, (int )arg2, arg3, arg4); } return; } } void ldv_dummy_resourceless_instance_callback_6_95(int (*arg0)(struct net_device * , unsigned short , struct scatterlist * , unsigned int ) , struct net_device *arg1 , unsigned short arg2 , struct scatterlist *arg3 , unsigned int arg4 ) { { { ixgbe_fcoe_ddp_target(arg1, (int )arg2, arg3, arg4); } return; } } void ldv_dummy_resourceless_instance_callback_6_98(int (*arg0)(struct net_device * ) , struct net_device *arg1 ) { { { ixgbe_fcoe_disable(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_6_99(int (*arg0)(struct net_device * ) , struct net_device *arg1 ) { { { ixgbe_fcoe_enable(arg1); } return; } } void ldv_entry_EMGentry_31(void *arg0 ) { int tmp ; int tmp___0 ; { { if (ldv_statevar_31 == 2) { goto case_2; } else { } if (ldv_statevar_31 == 3) { goto case_3; } else { } if (ldv_statevar_31 == 4) { goto case_4; } else { } if (ldv_statevar_31 == 5) { goto case_5; } else { } if (ldv_statevar_31 == 6) { goto case_6; } else { } if (ldv_statevar_31 == 7) { goto case_7; } else { } if (ldv_statevar_31 == 8) { goto case_8; } else { } if (ldv_statevar_31 == 10) { goto case_10; } else { } if (ldv_statevar_31 == 11) { goto case_11; } else { } goto switch_default; case_2: /* CIL Label */ { ldv_assume(ldv_statevar_7 == 12 || ldv_statevar_14 == 1); ldv_EMGentry_exit_ixgbe_exit_module_31_2(ldv_31_exit_ixgbe_exit_module_default); ldv_check_final_state(); ldv_stop(); ldv_statevar_31 = 11; } goto ldv_62977; case_3: /* CIL Label */ { ldv_assume(ldv_statevar_7 == 12 || ldv_statevar_14 == 1); ldv_EMGentry_exit_ixgbe_exit_module_31_2(ldv_31_exit_ixgbe_exit_module_default); ldv_check_final_state(); ldv_stop(); ldv_statevar_31 = 11; } goto ldv_62977; case_4: /* CIL Label */ { ldv_assume(((((ldv_statevar_8 == 1 || ldv_statevar_9 == 1) || ldv_statevar_10 == 1) || ldv_statevar_11 == 1) || ldv_statevar_12 == 1) || ldv_statevar_13 == 1); ldv_dispatch_deregister_dummy_resourceless_instance_15_31_4(); ldv_statevar_31 = 2; } goto ldv_62977; case_5: /* CIL Label */ { ldv_assume(ldv_statevar_0 == 7 || ldv_statevar_1 == 7); ldv_dispatch_deregister_file_operations_instance_9_31_5(); ldv_statevar_31 = 4; } goto ldv_62977; case_6: /* CIL Label */ { ldv_assume(((((ldv_statevar_8 == 5 || ldv_statevar_9 == 5) || ldv_statevar_10 == 5) || ldv_statevar_11 == 5) || ldv_statevar_12 == 5) || ldv_statevar_13 == 5); ldv_dispatch_register_dummy_resourceless_instance_15_31_6(); ldv_statevar_31 = 5; } goto ldv_62977; case_7: /* CIL Label */ { ldv_assume(ldv_statevar_0 == 15 || ldv_statevar_1 == 15); ldv_dispatch_register_file_operations_instance_9_31_7(); ldv_statevar_31 = 6; } goto ldv_62977; case_8: /* CIL Label */ { ldv_assume(ldv_31_ret_default == 0); tmp = ldv_undef_int(); } if (tmp != 0) { ldv_statevar_31 = 3; } else { ldv_statevar_31 = 7; } goto ldv_62977; case_10: /* CIL Label */ { ldv_assume(ldv_31_ret_default != 0); ldv_check_final_state(); ldv_stop(); ldv_statevar_31 = 11; } goto ldv_62977; case_11: /* CIL Label */ { ldv_assume(ldv_statevar_7 == 20 || ldv_statevar_14 == 5); ldv_31_ret_default = ldv_EMGentry_init_ixgbe_init_module_31_11(ldv_31_init_ixgbe_init_module_default); ldv_31_ret_default = ldv_post_init(ldv_31_ret_default); tmp___0 = ldv_undef_int(); } if (tmp___0 != 0) { ldv_statevar_31 = 8; } else { ldv_statevar_31 = 10; } goto ldv_62977; switch_default: /* CIL Label */ ; switch_break: /* CIL Label */ ; } ldv_62977: ; return; } } int main(void) { int tmp ; { { ldv_initialize(); ldv_initialize_external_data(); ldv_statevar_31 = 11; ldv_0_ret_default = 1; ldv_statevar_0 = 15; ldv_1_ret_default = 1; ldv_statevar_1 = 15; ldv_statevar_2 = 6; ldv_statevar_3 = 6; ldv_statevar_4 = 6; ldv_statevar_5 = 6; ldv_statevar_6 = 5; ldv_7_ret_default = 1; ldv_statevar_7 = 20; ldv_statevar_8 = 5; ldv_statevar_9 = 5; ldv_statevar_10 = 5; ldv_statevar_11 = 5; ldv_statevar_12 = 5; ldv_statevar_13 = 5; ldv_statevar_14 = 5; ldv_statevar_15 = 3; } ldv_63008: { tmp = ldv_undef_int(); } { if (tmp == 0) { goto case_0; } else { } if (tmp == 1) { goto case_1; } else { } if (tmp == 2) { goto case_2; } else { } if (tmp == 3) { goto case_3; } else { } if (tmp == 4) { goto case_4; } else { } if (tmp == 5) { goto case_5; } else { } if (tmp == 6) { goto case_6; } else { } if (tmp == 7) { goto case_7; } else { } if (tmp == 8) { goto case_8; } else { } if (tmp == 9) { goto case_9; } else { } if (tmp == 10) { goto case_10; } else { } if (tmp == 11) { goto case_11; } else { } if (tmp == 12) { goto case_12; } else { } if (tmp == 13) { goto case_13; } else { } if (tmp == 14) { goto case_14; } else { } if (tmp == 15) { goto case_15; } else { } if (tmp == 16) { goto case_16; } else { } goto switch_default; case_0: /* CIL Label */ { ldv_entry_EMGentry_31((void *)0); } goto ldv_62990; case_1: /* CIL Label */ { ldv_file_operations_file_operations_instance_0((void *)0); } goto ldv_62990; case_2: /* CIL Label */ { ldv_file_operations_file_operations_instance_1((void *)0); } goto ldv_62990; case_3: /* CIL Label */ { ldv_interrupt_interrupt_instance_2((void *)0); } goto ldv_62990; case_4: /* CIL Label */ { ldv_interrupt_interrupt_instance_3((void *)0); } goto ldv_62990; case_5: /* CIL Label */ { ldv_interrupt_interrupt_instance_4((void *)0); } goto ldv_62990; case_6: /* CIL Label */ { ldv_interrupt_interrupt_instance_5((void *)0); } goto ldv_62990; case_7: /* CIL Label */ { ldv_net_dummy_resourceless_instance_6((void *)0); } goto ldv_62990; case_8: /* CIL Label */ { ldv_pci_pci_instance_7((void *)0); } goto ldv_62990; case_9: /* CIL Label */ { ldv_struct_ixgbe_phy_operations_dummy_resourceless_instance_8((void *)0); } goto ldv_62990; case_10: /* CIL Label */ { ldv_struct_ixgbe_phy_operations_dummy_resourceless_instance_9((void *)0); } goto ldv_62990; case_11: /* CIL Label */ { ldv_struct_ixgbe_phy_operations_dummy_resourceless_instance_10((void *)0); } goto ldv_62990; case_12: /* CIL Label */ { ldv_struct_ixgbe_phy_operations_dummy_resourceless_instance_11((void *)0); } goto ldv_62990; case_13: /* CIL Label */ { ldv_struct_ixgbe_phy_operations_dummy_resourceless_instance_12((void *)0); } goto ldv_62990; case_14: /* CIL Label */ { ldv_struct_ixgbe_phy_operations_dummy_resourceless_instance_13((void *)0); } goto ldv_62990; case_15: /* CIL Label */ { ldv_struct_notifier_block_dummy_resourceless_instance_14((void *)0); } goto ldv_62990; case_16: /* CIL Label */ { ldv_timer_timer_instance_15((void *)0); } goto ldv_62990; switch_default: /* CIL Label */ { ldv_stop(); } switch_break: /* CIL Label */ ; } ldv_62990: ; goto ldv_63008; } } void ldv_free_netdev(void *arg0 , struct net_device *arg1 ) { struct net_device *ldv_19_netdev_net_device ; { { ldv_19_netdev_net_device = arg1; ldv_free((void *)ldv_19_netdev_net_device); } return; return; } } void ldv_initialize_external_data(void) { { { ldv_allocate_external_0(); } return; } } enum irqreturn ldv_interrupt_instance_handler_2_5(enum irqreturn (*arg0)(int , void * ) , int arg1 , void *arg2 ) { irqreturn_t tmp ; { { tmp = ixgbe_intr(arg1, arg2); } return (tmp); } } enum irqreturn ldv_interrupt_instance_handler_3_5(enum irqreturn (*arg0)(int , void * ) , int arg1 , void *arg2 ) { irqreturn_t tmp ; { { tmp = ixgbe_msix_clean_rings(arg1, arg2); } return (tmp); } } enum irqreturn ldv_interrupt_instance_handler_4_5(enum irqreturn (*arg0)(int , void * ) , int arg1 , void *arg2 ) { irqreturn_t tmp ; { { tmp = ixgbe_msix_other(arg1, arg2); } return (tmp); } } void ldv_interrupt_instance_thread_2_3(enum irqreturn (*arg0)(int , void * ) , int arg1 , void *arg2 ) { { { (*arg0)(arg1, arg2); } return; } } void ldv_interrupt_instance_thread_3_3(enum irqreturn (*arg0)(int , void * ) , int arg1 , void *arg2 ) { { { (*arg0)(arg1, arg2); } return; } } void ldv_interrupt_instance_thread_4_3(enum irqreturn (*arg0)(int , void * ) , int arg1 , void *arg2 ) { { { (*arg0)(arg1, arg2); } return; } } void ldv_interrupt_instance_thread_5_3(enum irqreturn (*arg0)(int , void * ) , int arg1 , void *arg2 ) { { { (*arg0)(arg1, arg2); } return; } } void ldv_interrupt_interrupt_instance_2(void *arg0 ) { int tmp ; { { if (ldv_statevar_2 == 2) { goto case_2; } else { } if (ldv_statevar_2 == 4) { goto case_4; } else { } if (ldv_statevar_2 == 5) { goto case_5; } else { } if (ldv_statevar_2 == 6) { goto case_6; } else { } goto switch_default; case_2: /* CIL Label */ { ldv_assume((unsigned int )ldv_2_ret_val_default != 2U); ldv_statevar_2 = 6; } goto ldv_63069; case_4: /* CIL Label */ { ldv_assume((unsigned int )ldv_2_ret_val_default == 2U); } if ((unsigned long )ldv_2_thread_thread != (unsigned long )((enum irqreturn (*)(int , void * ))0)) { { ldv_interrupt_instance_thread_2_3(ldv_2_thread_thread, ldv_2_line_line, ldv_2_data_data); } } else { } ldv_statevar_2 = 6; goto ldv_63069; case_5: /* CIL Label */ { ldv_switch_to_interrupt_context(); ldv_2_ret_val_default = ldv_interrupt_instance_handler_2_5(ldv_2_callback_handler, ldv_2_line_line, ldv_2_data_data); ldv_switch_to_process_context(); tmp = ldv_undef_int(); } if (tmp != 0) { ldv_statevar_2 = 2; } else { ldv_statevar_2 = 4; } goto ldv_63069; case_6: /* CIL Label */ ; goto ldv_63069; switch_default: /* CIL Label */ ; switch_break: /* CIL Label */ ; } ldv_63069: ; return; } } void ldv_interrupt_interrupt_instance_3(void *arg0 ) { int tmp ; { { if (ldv_statevar_3 == 2) { goto case_2; } else { } if (ldv_statevar_3 == 4) { goto case_4; } else { } if (ldv_statevar_3 == 5) { goto case_5; } else { } if (ldv_statevar_3 == 6) { goto case_6; } else { } goto switch_default; case_2: /* CIL Label */ { ldv_assume((unsigned int )ldv_3_ret_val_default != 2U); ldv_statevar_3 = 6; } goto ldv_63078; case_4: /* CIL Label */ { ldv_assume((unsigned int )ldv_3_ret_val_default == 2U); } if ((unsigned long )ldv_3_thread_thread != (unsigned long )((enum irqreturn (*)(int , void * ))0)) { { ldv_interrupt_instance_thread_3_3(ldv_3_thread_thread, ldv_3_line_line, ldv_3_data_data); } } else { } ldv_statevar_3 = 6; goto ldv_63078; case_5: /* CIL Label */ { ldv_switch_to_interrupt_context(); ldv_3_ret_val_default = ldv_interrupt_instance_handler_3_5(ldv_3_callback_handler, ldv_3_line_line, ldv_3_data_data); ldv_switch_to_process_context(); tmp = ldv_undef_int(); } if (tmp != 0) { ldv_statevar_3 = 2; } else { ldv_statevar_3 = 4; } goto ldv_63078; case_6: /* CIL Label */ ; goto ldv_63078; switch_default: /* CIL Label */ ; switch_break: /* CIL Label */ ; } ldv_63078: ; return; } } void ldv_interrupt_interrupt_instance_4(void *arg0 ) { int tmp ; { { if (ldv_statevar_4 == 2) { goto case_2; } else { } if (ldv_statevar_4 == 4) { goto case_4; } else { } if (ldv_statevar_4 == 5) { goto case_5; } else { } if (ldv_statevar_4 == 6) { goto case_6; } else { } goto switch_default; case_2: /* CIL Label */ { ldv_assume((unsigned int )ldv_4_ret_val_default != 2U); ldv_statevar_4 = 6; } goto ldv_63087; case_4: /* CIL Label */ { ldv_assume((unsigned int )ldv_4_ret_val_default == 2U); } if ((unsigned long )ldv_4_thread_thread != (unsigned long )((enum irqreturn (*)(int , void * ))0)) { { ldv_interrupt_instance_thread_4_3(ldv_4_thread_thread, ldv_4_line_line, ldv_4_data_data); } } else { } ldv_statevar_4 = 6; goto ldv_63087; case_5: /* CIL Label */ { ldv_switch_to_interrupt_context(); ldv_4_ret_val_default = ldv_interrupt_instance_handler_4_5(ldv_4_callback_handler, ldv_4_line_line, ldv_4_data_data); ldv_switch_to_process_context(); tmp = ldv_undef_int(); } if (tmp != 0) { ldv_statevar_4 = 2; } else { ldv_statevar_4 = 4; } goto ldv_63087; case_6: /* CIL Label */ ; goto ldv_63087; switch_default: /* CIL Label */ ; switch_break: /* CIL Label */ ; } ldv_63087: ; return; } } int ldv_mod_timer(int arg0 , struct timer_list *arg1 , unsigned long arg2 ) { struct timer_list *ldv_20_timer_list_timer_list ; int tmp ; { { tmp = ldv_undef_int(); } if (tmp != 0) { { ldv_assume(arg0 == 0); ldv_20_timer_list_timer_list = arg1; ldv_assume(ldv_statevar_15 == 3); ldv_dispatch_instance_register_20_2(ldv_20_timer_list_timer_list); } return (arg0); } else { { ldv_assume(arg0 != 0); } return (arg0); } return (arg0); } } void ldv_net_dummy_resourceless_instance_6(void *arg0 ) { void *tmp ; void *tmp___0 ; void *tmp___1 ; void *tmp___2 ; void *tmp___3 ; void *tmp___4 ; void *tmp___5 ; void *tmp___6 ; void *tmp___7 ; void *tmp___8 ; void *tmp___9 ; void *tmp___10 ; void *tmp___11 ; void *tmp___12 ; void *tmp___13 ; void *tmp___14 ; void *tmp___15 ; void *tmp___16 ; void *tmp___17 ; void *tmp___18 ; void *tmp___19 ; void *tmp___20 ; void *tmp___21 ; void *tmp___22 ; void *tmp___23 ; void *tmp___24 ; { { if (ldv_statevar_6 == 1) { goto case_1; } else { } if (ldv_statevar_6 == 2) { goto case_2; } else { } if (ldv_statevar_6 == 3) { goto case_3; } else { } if (ldv_statevar_6 == 4) { goto case_4; } else { } if (ldv_statevar_6 == 5) { goto case_5; } else { } if (ldv_statevar_6 == 7) { goto case_7; } else { } if (ldv_statevar_6 == 8) { goto case_8; } else { } if (ldv_statevar_6 == 10) { goto case_10; } else { } if (ldv_statevar_6 == 12) { goto case_12; } else { } if (ldv_statevar_6 == 14) { goto case_14; } else { } if (ldv_statevar_6 == 16) { goto case_16; } else { } if (ldv_statevar_6 == 18) { goto case_18; } else { } if (ldv_statevar_6 == 20) { goto case_20; } else { } if (ldv_statevar_6 == 21) { goto case_21; } else { } if (ldv_statevar_6 == 22) { goto case_22; } else { } if (ldv_statevar_6 == 23) { goto case_23; } else { } if (ldv_statevar_6 == 24) { goto case_24; } else { } if (ldv_statevar_6 == 25) { goto case_25; } else { } if (ldv_statevar_6 == 27) { goto case_27; } else { } if (ldv_statevar_6 == 29) { goto case_29; } else { } if (ldv_statevar_6 == 31) { goto case_31; } else { } if (ldv_statevar_6 == 34) { goto case_34; } else { } if (ldv_statevar_6 == 36) { goto case_36; } else { } if (ldv_statevar_6 == 37) { goto case_37; } else { } if (ldv_statevar_6 == 39) { goto case_39; } else { } if (ldv_statevar_6 == 42) { goto case_42; } else { } if (ldv_statevar_6 == 44) { goto case_44; } else { } if (ldv_statevar_6 == 46) { goto case_46; } else { } if (ldv_statevar_6 == 49) { goto case_49; } else { } if (ldv_statevar_6 == 52) { goto case_52; } else { } if (ldv_statevar_6 == 54) { goto case_54; } else { } if (ldv_statevar_6 == 56) { goto case_56; } else { } if (ldv_statevar_6 == 59) { goto case_59; } else { } if (ldv_statevar_6 == 62) { goto case_62; } else { } if (ldv_statevar_6 == 65) { goto case_65; } else { } if (ldv_statevar_6 == 67) { goto case_67; } else { } if (ldv_statevar_6 == 68) { goto case_68; } else { } if (ldv_statevar_6 == 69) { goto case_69; } else { } if (ldv_statevar_6 == 70) { goto case_70; } else { } if (ldv_statevar_6 == 71) { goto case_71; } else { } if (ldv_statevar_6 == 72) { goto case_72; } else { } if (ldv_statevar_6 == 73) { goto case_73; } else { } if (ldv_statevar_6 == 75) { goto case_75; } else { } if (ldv_statevar_6 == 77) { goto case_77; } else { } if (ldv_statevar_6 == 78) { goto case_78; } else { } if (ldv_statevar_6 == 80) { goto case_80; } else { } if (ldv_statevar_6 == 83) { goto case_83; } else { } if (ldv_statevar_6 == 85) { goto case_85; } else { } if (ldv_statevar_6 == 87) { goto case_87; } else { } if (ldv_statevar_6 == 90) { goto case_90; } else { } if (ldv_statevar_6 == 93) { goto case_93; } else { } if (ldv_statevar_6 == 96) { goto case_96; } else { } if (ldv_statevar_6 == 98) { goto case_98; } else { } if (ldv_statevar_6 == 99) { goto case_99; } else { } if (ldv_statevar_6 == 100) { goto case_100; } else { } if (ldv_statevar_6 == 102) { goto case_102; } else { } if (ldv_statevar_6 == 105) { goto case_105; } else { } if (ldv_statevar_6 == 108) { goto case_108; } else { } if (ldv_statevar_6 == 110) { goto case_110; } else { } if (ldv_statevar_6 == 112) { goto case_112; } else { } if (ldv_statevar_6 == 114) { goto case_114; } else { } if (ldv_statevar_6 == 116) { goto case_116; } else { } if (ldv_statevar_6 == 119) { goto case_119; } else { } if (ldv_statevar_6 == 121) { goto case_121; } else { } if (ldv_statevar_6 == 122) { goto case_122; } else { } if (ldv_statevar_6 == 124) { goto case_124; } else { } if (ldv_statevar_6 == 127) { goto case_127; } else { } if (ldv_statevar_6 == 130) { goto case_130; } else { } if (ldv_statevar_6 == 133) { goto case_133; } else { } if (ldv_statevar_6 == 136) { goto case_136; } else { } if (ldv_statevar_6 == 138) { goto case_138; } else { } if (ldv_statevar_6 == 139) { goto case_139; } else { } if (ldv_statevar_6 == 140) { goto case_140; } else { } if (ldv_statevar_6 == 142) { goto case_142; } else { } if (ldv_statevar_6 == 145) { goto case_145; } else { } if (ldv_statevar_6 == 147) { goto case_147; } else { } if (ldv_statevar_6 == 149) { goto case_149; } else { } if (ldv_statevar_6 == 151) { goto case_151; } else { } if (ldv_statevar_6 == 152) { goto case_152; } else { } if (ldv_statevar_6 == 154) { goto case_154; } else { } if (ldv_statevar_6 == 157) { goto case_157; } else { } if (ldv_statevar_6 == 159) { goto case_159; } else { } if (ldv_statevar_6 == 160) { goto case_160; } else { } if (ldv_statevar_6 == 161) { goto case_161; } else { } if (ldv_statevar_6 == 162) { goto case_162; } else { } if (ldv_statevar_6 == 163) { goto case_163; } else { } if (ldv_statevar_6 == 164) { goto case_164; } else { } if (ldv_statevar_6 == 165) { goto case_165; } else { } if (ldv_statevar_6 == 167) { goto case_167; } else { } if (ldv_statevar_6 == 170) { goto case_170; } else { } if (ldv_statevar_6 == 173) { goto case_173; } else { } if (ldv_statevar_6 == 176) { goto case_176; } else { } if (ldv_statevar_6 == 179) { goto case_179; } else { } if (ldv_statevar_6 == 182) { goto case_182; } else { } if (ldv_statevar_6 == 185) { goto case_185; } else { } if (ldv_statevar_6 == 188) { goto case_188; } else { } if (ldv_statevar_6 == 191) { goto case_191; } else { } goto switch_default; case_1: /* CIL Label */ ; goto ldv_63102; case_2: /* CIL Label */ { ldv_statevar_6 = ldv_switch_1(); } goto ldv_63102; case_3: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_6_3(ldv_6_callback_get_channels, ldv_6_container_net_device, ldv_6_container_struct_ethtool_channels_ptr); ldv_statevar_6 = 2; } goto ldv_63102; case_4: /* CIL Label */ { ldv_statevar_6 = ldv_switch_1(); } goto ldv_63102; case_5: /* CIL Label */ ; goto ldv_63102; case_7: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_6_7(ldv_6_callback_get_coalesce, ldv_6_container_net_device, ldv_6_container_struct_ethtool_coalesce_ptr); ldv_statevar_6 = 2; } goto ldv_63102; case_8: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_6_8(ldv_6_callback_get_drvinfo, ldv_6_container_net_device, ldv_6_container_struct_ethtool_drvinfo_ptr); ldv_statevar_6 = 2; } goto ldv_63102; case_10: /* CIL Label */ { tmp = ldv_xmalloc(1UL); ldv_6_ldv_param_9_2_default = (unsigned char *)tmp; ldv_dummy_resourceless_instance_callback_6_9(ldv_6_callback_get_eeprom, ldv_6_container_net_device, ldv_6_container_struct_ethtool_eeprom_ptr, ldv_6_ldv_param_9_2_default); ldv_free((void *)ldv_6_ldv_param_9_2_default); ldv_statevar_6 = 2; } goto ldv_63102; case_12: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_6_12(ldv_6_callback_get_eeprom_len, ldv_6_container_net_device); ldv_statevar_6 = 2; } goto ldv_63102; case_14: /* CIL Label */ { tmp___0 = ldv_xmalloc(8UL); ldv_6_ldv_param_13_2_default = (unsigned long long *)tmp___0; ldv_dummy_resourceless_instance_callback_6_13(ldv_6_callback_get_ethtool_stats, ldv_6_container_net_device, ldv_6_container_struct_ethtool_stats_ptr, ldv_6_ldv_param_13_2_default); ldv_free((void *)ldv_6_ldv_param_13_2_default); ldv_statevar_6 = 2; } goto ldv_63102; case_16: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_6_16(ldv_6_callback_get_link, ldv_6_container_net_device); ldv_statevar_6 = 2; } goto ldv_63102; case_18: /* CIL Label */ { tmp___1 = ldv_xmalloc(1UL); ldv_6_ldv_param_17_2_default = (unsigned char *)tmp___1; ldv_dummy_resourceless_instance_callback_6_17(ldv_6_callback_get_module_eeprom, ldv_6_container_net_device, ldv_6_container_struct_ethtool_eeprom_ptr, ldv_6_ldv_param_17_2_default); ldv_free((void *)ldv_6_ldv_param_17_2_default); ldv_statevar_6 = 2; } goto ldv_63102; case_20: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_6_20(ldv_6_callback_get_module_info, ldv_6_container_net_device, ldv_6_container_struct_ethtool_modinfo_ptr); ldv_statevar_6 = 2; } goto ldv_63102; case_21: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_6_21(ldv_6_callback_get_msglevel, ldv_6_container_net_device); ldv_statevar_6 = 2; } goto ldv_63102; case_22: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_6_22(ldv_6_callback_get_pauseparam, ldv_6_container_net_device, ldv_6_container_struct_ethtool_pauseparam_ptr); ldv_statevar_6 = 2; } goto ldv_63102; case_23: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_6_23(ldv_6_callback_get_regs, ldv_6_container_net_device, ldv_6_container_struct_ethtool_regs_ptr, (void *)ldv_6_container_func_2_ptr); ldv_statevar_6 = 2; } goto ldv_63102; case_24: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_6_24(ldv_6_callback_get_regs_len, ldv_6_container_net_device); ldv_statevar_6 = 2; } goto ldv_63102; case_25: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_6_25(ldv_6_callback_get_ringparam, ldv_6_container_net_device, ldv_6_container_struct_ethtool_ringparam_ptr); ldv_statevar_6 = 2; } goto ldv_63102; case_27: /* CIL Label */ { tmp___2 = ldv_xmalloc(4UL); ldv_6_ldv_param_26_2_default = (unsigned int *)tmp___2; ldv_dummy_resourceless_instance_callback_6_26(ldv_6_callback_get_rxnfc, ldv_6_container_net_device, ldv_6_container_struct_ethtool_rxnfc_ptr, ldv_6_ldv_param_26_2_default); ldv_free((void *)ldv_6_ldv_param_26_2_default); ldv_statevar_6 = 2; } goto ldv_63102; case_29: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_6_29(ldv_6_callback_get_settings, ldv_6_container_net_device, ldv_6_container_struct_ethtool_cmd_ptr); ldv_statevar_6 = 2; } goto ldv_63102; case_31: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_6_30(ldv_6_callback_get_sset_count, ldv_6_container_net_device, ldv_6_ldv_param_30_1_default); ldv_statevar_6 = 2; } goto ldv_63102; case_34: /* CIL Label */ { tmp___3 = ldv_xmalloc(1UL); ldv_6_ldv_param_33_2_default = (unsigned char *)tmp___3; ldv_dummy_resourceless_instance_callback_6_33(ldv_6_callback_get_strings, ldv_6_container_net_device, ldv_6_ldv_param_33_1_default, ldv_6_ldv_param_33_2_default); ldv_free((void *)ldv_6_ldv_param_33_2_default); ldv_statevar_6 = 2; } goto ldv_63102; case_36: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_6_36(ldv_6_callback_get_ts_info, ldv_6_container_net_device, ldv_6_container_struct_ethtool_ts_info_ptr); ldv_statevar_6 = 2; } goto ldv_63102; case_37: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_6_37(ldv_6_callback_get_wol, ldv_6_container_net_device, ldv_6_container_struct_ethtool_wolinfo_ptr); ldv_statevar_6 = 2; } goto ldv_63102; case_39: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_6_38(ldv_6_callback_getapp, ldv_6_container_net_device, (int )ldv_6_ldv_param_38_1_default, (int )ldv_6_ldv_param_38_2_default); ldv_statevar_6 = 2; } goto ldv_63102; case_42: /* CIL Label */ { tmp___4 = ldv_xmalloc(1UL); ldv_6_ldv_param_41_2_default = (unsigned char *)tmp___4; ldv_dummy_resourceless_instance_callback_6_41(ldv_6_callback_getcap, ldv_6_container_net_device, ldv_6_ldv_param_41_1_default, ldv_6_ldv_param_41_2_default); ldv_free((void *)ldv_6_ldv_param_41_2_default); ldv_statevar_6 = 2; } goto ldv_63102; case_44: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_6_44(ldv_6_callback_getdcbx, ldv_6_container_net_device); ldv_statevar_6 = 2; } goto ldv_63102; case_46: /* CIL Label */ { tmp___5 = ldv_xmalloc(1UL); ldv_6_ldv_param_45_2_default = (unsigned char *)tmp___5; ldv_dummy_resourceless_instance_callback_6_45(ldv_6_callback_getnumtcs, ldv_6_container_net_device, ldv_6_ldv_param_45_1_default, ldv_6_ldv_param_45_2_default); ldv_free((void *)ldv_6_ldv_param_45_2_default); ldv_statevar_6 = 2; } goto ldv_63102; case_49: /* CIL Label */ { tmp___6 = ldv_xmalloc(1UL); ldv_6_ldv_param_48_1_default = (unsigned char *)tmp___6; ldv_dummy_resourceless_instance_callback_6_48(ldv_6_callback_getpermhwaddr, ldv_6_container_net_device, ldv_6_ldv_param_48_1_default); ldv_free((void *)ldv_6_ldv_param_48_1_default); ldv_statevar_6 = 2; } goto ldv_63102; case_52: /* CIL Label */ { tmp___7 = ldv_xmalloc(1UL); ldv_6_ldv_param_51_2_default = (unsigned char *)tmp___7; ldv_dummy_resourceless_instance_callback_6_51(ldv_6_callback_getpfccfg, ldv_6_container_net_device, ldv_6_ldv_param_51_1_default, ldv_6_ldv_param_51_2_default); ldv_free((void *)ldv_6_ldv_param_51_2_default); ldv_statevar_6 = 2; } goto ldv_63102; case_54: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_6_54(ldv_6_callback_getpfcstate, ldv_6_container_net_device); ldv_statevar_6 = 2; } goto ldv_63102; case_56: /* CIL Label */ { tmp___8 = ldv_xmalloc(1UL); ldv_6_ldv_param_55_2_default = (unsigned char *)tmp___8; ldv_dummy_resourceless_instance_callback_6_55(ldv_6_callback_getpgbwgcfgrx, ldv_6_container_net_device, ldv_6_ldv_param_55_1_default, ldv_6_ldv_param_55_2_default); ldv_free((void *)ldv_6_ldv_param_55_2_default); ldv_statevar_6 = 2; } goto ldv_63102; case_59: /* CIL Label */ { tmp___9 = ldv_xmalloc(1UL); ldv_6_ldv_param_58_2_default = (unsigned char *)tmp___9; ldv_dummy_resourceless_instance_callback_6_58(ldv_6_callback_getpgbwgcfgtx, ldv_6_container_net_device, ldv_6_ldv_param_58_1_default, ldv_6_ldv_param_58_2_default); ldv_free((void *)ldv_6_ldv_param_58_2_default); ldv_statevar_6 = 2; } goto ldv_63102; case_62: /* CIL Label */ { tmp___10 = ldv_xmalloc(1UL); ldv_6_ldv_param_61_2_default = (unsigned char *)tmp___10; tmp___11 = ldv_xmalloc(1UL); ldv_6_ldv_param_61_3_default = (unsigned char *)tmp___11; tmp___12 = ldv_xmalloc(1UL); ldv_6_ldv_param_61_4_default = (unsigned char *)tmp___12; tmp___13 = ldv_xmalloc(1UL); ldv_6_ldv_param_61_5_default = (unsigned char *)tmp___13; ldv_dummy_resourceless_instance_callback_6_61(ldv_6_callback_getpgtccfgrx, ldv_6_container_net_device, ldv_6_ldv_param_61_1_default, ldv_6_ldv_param_61_2_default, ldv_6_ldv_param_61_3_default, ldv_6_ldv_param_61_4_default, ldv_6_ldv_param_61_5_default); ldv_free((void *)ldv_6_ldv_param_61_2_default); ldv_free((void *)ldv_6_ldv_param_61_3_default); ldv_free((void *)ldv_6_ldv_param_61_4_default); ldv_free((void *)ldv_6_ldv_param_61_5_default); ldv_statevar_6 = 2; } goto ldv_63102; case_65: /* CIL Label */ { tmp___14 = ldv_xmalloc(1UL); ldv_6_ldv_param_64_2_default = (unsigned char *)tmp___14; tmp___15 = ldv_xmalloc(1UL); ldv_6_ldv_param_64_3_default = (unsigned char *)tmp___15; tmp___16 = ldv_xmalloc(1UL); ldv_6_ldv_param_64_4_default = (unsigned char *)tmp___16; tmp___17 = ldv_xmalloc(1UL); ldv_6_ldv_param_64_5_default = (unsigned char *)tmp___17; ldv_dummy_resourceless_instance_callback_6_64(ldv_6_callback_getpgtccfgtx, ldv_6_container_net_device, ldv_6_ldv_param_64_1_default, ldv_6_ldv_param_64_2_default, ldv_6_ldv_param_64_3_default, ldv_6_ldv_param_64_4_default, ldv_6_ldv_param_64_5_default); ldv_free((void *)ldv_6_ldv_param_64_2_default); ldv_free((void *)ldv_6_ldv_param_64_3_default); ldv_free((void *)ldv_6_ldv_param_64_4_default); ldv_free((void *)ldv_6_ldv_param_64_5_default); ldv_statevar_6 = 2; } goto ldv_63102; case_67: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_6_67(ldv_6_callback_getstate, ldv_6_container_net_device); ldv_statevar_6 = 2; } goto ldv_63102; case_68: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_6_68(ldv_6_callback_ieee_delapp, ldv_6_container_net_device, ldv_6_container_struct_dcb_app_ptr); ldv_statevar_6 = 2; } goto ldv_63102; case_69: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_6_69(ldv_6_callback_ieee_getets, ldv_6_container_net_device, ldv_6_container_struct_ieee_ets_ptr); ldv_statevar_6 = 2; } goto ldv_63102; case_70: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_6_70(ldv_6_callback_ieee_getpfc, ldv_6_container_net_device, ldv_6_container_struct_ieee_pfc_ptr); ldv_statevar_6 = 2; } goto ldv_63102; case_71: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_6_71(ldv_6_callback_ieee_setapp, ldv_6_container_net_device, ldv_6_container_struct_dcb_app_ptr); ldv_statevar_6 = 2; } goto ldv_63102; case_72: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_6_72(ldv_6_callback_ieee_setets, ldv_6_container_net_device, ldv_6_container_struct_ieee_ets_ptr); ldv_statevar_6 = 2; } goto ldv_63102; case_73: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_6_73(ldv_6_callback_ieee_setpfc, ldv_6_container_net_device, ldv_6_container_struct_ieee_pfc_ptr); ldv_statevar_6 = 2; } goto ldv_63102; case_75: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_6_74(ldv_6_callback_ndo_bridge_getlink, ldv_6_container_struct_sk_buff_ptr, ldv_6_ldv_param_74_1_default, ldv_6_ldv_param_74_2_default, ldv_6_container_net_device, ldv_6_ldv_param_74_4_default); ldv_statevar_6 = 2; } goto ldv_63102; case_77: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_6_77(ldv_6_callback_ndo_bridge_setlink, ldv_6_container_net_device, ldv_6_container_struct_nlmsghdr_ptr); ldv_statevar_6 = 2; } goto ldv_63102; case_78: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_6_78(ldv_6_callback_ndo_busy_poll, ldv_6_container_struct_napi_struct_ptr); ldv_statevar_6 = 2; } goto ldv_63102; case_80: /* CIL Label */ { ldv_assume(ldv_statevar_15 == 2); ldv_dummy_resourceless_instance_callback_6_79(ldv_6_callback_ndo_change_mtu, ldv_6_container_net_device, ldv_6_ldv_param_79_1_default); ldv_statevar_6 = 2; } goto ldv_63102; case_83: /* CIL Label */ { tmp___18 = ldv_xmalloc(3200UL); ldv_6_ldv_param_82_1_default = (struct net_device *)tmp___18; ldv_dummy_resourceless_instance_callback_6_82(ldv_6_callback_ndo_dfwd_add_station, ldv_6_container_net_device, ldv_6_ldv_param_82_1_default); ldv_free((void *)ldv_6_ldv_param_82_1_default); ldv_statevar_6 = 2; } goto ldv_63102; case_85: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_6_85(ldv_6_callback_ndo_dfwd_del_station, ldv_6_container_net_device, (void *)ldv_6_container_func_2_ptr); ldv_statevar_6 = 2; } goto ldv_63102; case_87: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_6_86(ldv_6_callback_ndo_do_ioctl, ldv_6_container_net_device, ldv_6_container_struct_ifreq_ptr, ldv_6_ldv_param_86_2_default); ldv_statevar_6 = 2; } goto ldv_63102; case_90: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_6_89(ldv_6_callback_ndo_fcoe_ddp_done, ldv_6_container_net_device, (int )ldv_6_ldv_param_89_1_default); ldv_statevar_6 = 2; } goto ldv_63102; case_93: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_6_92(ldv_6_callback_ndo_fcoe_ddp_setup, ldv_6_container_net_device, (int )ldv_6_ldv_param_92_1_default, ldv_6_container_struct_scatterlist_ptr, ldv_6_ldv_param_92_3_default); ldv_statevar_6 = 2; } goto ldv_63102; case_96: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_6_95(ldv_6_callback_ndo_fcoe_ddp_target, ldv_6_container_net_device, (int )ldv_6_ldv_param_95_1_default, ldv_6_container_struct_scatterlist_ptr, ldv_6_ldv_param_95_3_default); ldv_statevar_6 = 2; } goto ldv_63102; case_98: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_6_98(ldv_6_callback_ndo_fcoe_disable, ldv_6_container_net_device); ldv_statevar_6 = 2; } goto ldv_63102; case_99: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_6_99(ldv_6_callback_ndo_fcoe_enable, ldv_6_container_net_device); ldv_statevar_6 = 2; } goto ldv_63102; case_100: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_6_100(ldv_6_callback_ndo_fcoe_get_hbainfo, ldv_6_container_net_device, ldv_6_container_struct_netdev_fcoe_hbainfo_ptr); ldv_statevar_6 = 2; } goto ldv_63102; case_102: /* CIL Label */ { tmp___19 = ldv_xmalloc(8UL); ldv_6_ldv_param_101_1_default = (unsigned long long *)tmp___19; ldv_dummy_resourceless_instance_callback_6_101(ldv_6_callback_ndo_fcoe_get_wwn, ldv_6_container_net_device, ldv_6_ldv_param_101_1_default, ldv_6_ldv_param_101_2_default); ldv_free((void *)ldv_6_ldv_param_101_1_default); ldv_statevar_6 = 2; } goto ldv_63102; case_105: /* CIL Label */ { tmp___20 = ldv_xmalloc(1UL); ldv_6_ldv_param_104_3_default = (unsigned char *)tmp___20; ldv_dummy_resourceless_instance_callback_6_104(ldv_6_callback_ndo_fdb_add, ldv_6_container_struct_ndmsg_ptr, ldv_6_container_struct_nlattr_ptr_ptr, ldv_6_container_net_device, ldv_6_ldv_param_104_3_default, (int )ldv_6_ldv_param_104_4_default); ldv_free((void *)ldv_6_ldv_param_104_3_default); ldv_statevar_6 = 2; } goto ldv_63102; case_108: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_6_107(ldv_6_callback_ndo_fix_features, ldv_6_container_net_device, ldv_6_ldv_param_107_1_default); ldv_statevar_6 = 2; } goto ldv_63102; case_110: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_6_110(ldv_6_callback_ndo_get_stats64, ldv_6_container_net_device, ldv_6_container_struct_rtnl_link_stats64_ptr); ldv_statevar_6 = 2; } goto ldv_63102; case_112: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_6_111(ldv_6_callback_ndo_get_vf_config, ldv_6_container_net_device, ldv_6_ldv_param_111_1_default, ldv_6_container_struct_ifla_vf_info_ptr); ldv_statevar_6 = 2; } goto ldv_63102; case_114: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_6_114(ldv_6_callback_ndo_poll_controller, ldv_6_container_net_device); ldv_statevar_6 = 2; } goto ldv_63102; case_116: /* CIL Label */ { tmp___21 = ldv_xmalloc(1UL); ldv_6_ldv_param_115_3_default = (unsigned short (*)(struct net_device * , struct sk_buff * ))tmp___21; ldv_dummy_resourceless_instance_callback_6_115(ldv_6_callback_ndo_select_queue, ldv_6_container_net_device, ldv_6_container_struct_sk_buff_ptr, (void *)ldv_6_container_func_2_ptr, ldv_6_ldv_param_115_3_default); ldv_free((void *)ldv_6_ldv_param_115_3_default); ldv_statevar_6 = 2; } goto ldv_63102; case_119: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_6_118(ldv_6_callback_ndo_set_features, ldv_6_container_net_device, ldv_6_ldv_param_118_1_default); ldv_statevar_6 = 2; } goto ldv_63102; case_121: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_6_121(ldv_6_callback_ndo_set_mac_address, ldv_6_container_net_device, (void *)ldv_6_container_func_2_ptr); ldv_statevar_6 = 2; } goto ldv_63102; case_122: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_6_122(ldv_6_callback_ndo_set_rx_mode, ldv_6_container_net_device); ldv_statevar_6 = 2; } goto ldv_63102; case_124: /* CIL Label */ { tmp___22 = ldv_xmalloc(1UL); ldv_6_ldv_param_123_2_default = (unsigned char *)tmp___22; ldv_dummy_resourceless_instance_callback_6_123(ldv_6_callback_ndo_set_vf_mac, ldv_6_container_net_device, ldv_6_ldv_param_123_1_default, ldv_6_ldv_param_123_2_default); ldv_free((void *)ldv_6_ldv_param_123_2_default); ldv_statevar_6 = 2; } goto ldv_63102; case_127: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_6_126(ldv_6_callback_ndo_set_vf_spoofchk, ldv_6_container_net_device, ldv_6_ldv_param_126_1_default, (int )ldv_6_ldv_param_126_2_default); ldv_statevar_6 = 2; } goto ldv_63102; case_130: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_6_129(ldv_6_callback_ndo_set_vf_tx_rate, ldv_6_container_net_device, ldv_6_ldv_param_129_1_default, ldv_6_ldv_param_129_2_default); ldv_statevar_6 = 2; } goto ldv_63102; case_133: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_6_132(ldv_6_callback_ndo_set_vf_vlan, ldv_6_container_net_device, ldv_6_ldv_param_132_1_default, (int )ldv_6_ldv_param_132_2_default, (int )ldv_6_ldv_param_132_3_default); ldv_statevar_6 = 2; } goto ldv_63102; case_136: /* CIL Label */ { ldv_assume(((((((((ldv_statevar_2 == 2 || ldv_statevar_2 == 6) || ldv_statevar_3 == 6) || ldv_statevar_3 == 2) || ldv_statevar_4 == 6) || ldv_statevar_4 == 2) || ldv_statevar_5 == 2) || ldv_statevar_5 == 6) || ldv_statevar_15 == 3) || ldv_statevar_15 == 2); ldv_dummy_resourceless_instance_callback_6_135(ldv_6_callback_ndo_setup_tc, ldv_6_container_net_device, (int )ldv_6_ldv_param_135_1_default); ldv_statevar_6 = 2; } goto ldv_63102; case_138: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_6_138(ldv_6_callback_ndo_start_xmit, ldv_6_container_struct_sk_buff_ptr, ldv_6_container_net_device); ldv_statevar_6 = 2; } goto ldv_63102; case_139: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_6_139(ldv_6_callback_ndo_tx_timeout, ldv_6_container_net_device); ldv_statevar_6 = 2; } goto ldv_63102; case_140: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_6_140(ldv_6_callback_ndo_validate_addr, ldv_6_container_net_device); ldv_statevar_6 = 2; } goto ldv_63102; case_142: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_6_141(ldv_6_callback_ndo_vlan_rx_add_vid, ldv_6_container_net_device, (int )ldv_6_ldv_param_141_1_default, (int )ldv_6_ldv_param_141_2_default); ldv_statevar_6 = 2; } goto ldv_63102; case_145: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_6_144(ldv_6_callback_ndo_vlan_rx_kill_vid, ldv_6_container_net_device, (int )ldv_6_ldv_param_144_1_default, (int )ldv_6_ldv_param_144_2_default); ldv_statevar_6 = 2; } goto ldv_63102; case_147: /* CIL Label */ { ldv_assume(ldv_statevar_15 == 2); ldv_dummy_resourceless_instance_callback_6_147(ldv_6_callback_nway_reset, ldv_6_container_net_device); ldv_statevar_6 = 2; } goto ldv_63102; case_149: /* CIL Label */ { tmp___23 = ldv_xmalloc(8UL); ldv_6_ldv_param_148_2_default = (unsigned long long *)tmp___23; ldv_assume(((((((ldv_statevar_2 == 2 || ldv_statevar_2 == 6) || ldv_statevar_3 == 6) || ldv_statevar_3 == 2) || ldv_statevar_4 == 6) || ldv_statevar_4 == 2) || ldv_statevar_5 == 2) || ldv_statevar_5 == 6); ldv_dummy_resourceless_instance_callback_6_148(ldv_6_callback_self_test, ldv_6_container_net_device, ldv_6_container_struct_ethtool_test_ptr, ldv_6_ldv_param_148_2_default); ldv_free((void *)ldv_6_ldv_param_148_2_default); ldv_statevar_6 = 2; } goto ldv_63102; case_151: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_6_151(ldv_6_callback_set_channels, ldv_6_container_net_device, ldv_6_container_struct_ethtool_channels_ptr); ldv_statevar_6 = 2; } goto ldv_63102; case_152: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_6_152(ldv_6_callback_set_coalesce, ldv_6_container_net_device, ldv_6_container_struct_ethtool_coalesce_ptr); ldv_statevar_6 = 2; } goto ldv_63102; case_154: /* CIL Label */ { tmp___24 = ldv_xmalloc(1UL); ldv_6_ldv_param_153_2_default = (unsigned char *)tmp___24; ldv_dummy_resourceless_instance_callback_6_153(ldv_6_callback_set_eeprom, ldv_6_container_net_device, ldv_6_container_struct_ethtool_eeprom_ptr, ldv_6_ldv_param_153_2_default); ldv_free((void *)ldv_6_ldv_param_153_2_default); ldv_statevar_6 = 2; } goto ldv_63102; case_157: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_6_156(ldv_6_callback_set_msglevel, ldv_6_container_net_device, ldv_6_ldv_param_156_1_default); ldv_statevar_6 = 2; } goto ldv_63102; case_159: /* CIL Label */ { ldv_assume(ldv_statevar_15 == 2); ldv_dummy_resourceless_instance_callback_6_159(ldv_6_callback_set_pauseparam, ldv_6_container_net_device, ldv_6_container_struct_ethtool_pauseparam_ptr); ldv_statevar_6 = 2; } goto ldv_63102; case_160: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_6_160(ldv_6_callback_set_phys_id, ldv_6_container_net_device, ldv_6_container_enum_ethtool_phys_id_state); ldv_statevar_6 = 2; } goto ldv_63102; case_161: /* CIL Label */ { ldv_assume((unsigned int )ldv_statevar_15 - 2U <= 1U); ldv_dummy_resourceless_instance_callback_6_161(ldv_6_callback_set_ringparam, ldv_6_container_net_device, ldv_6_container_struct_ethtool_ringparam_ptr); ldv_statevar_6 = 2; } goto ldv_63102; case_162: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_6_162(ldv_6_callback_set_rxnfc, ldv_6_container_net_device, ldv_6_container_struct_ethtool_rxnfc_ptr); ldv_statevar_6 = 2; } goto ldv_63102; case_163: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_6_163(ldv_6_callback_set_settings, ldv_6_container_net_device, ldv_6_container_struct_ethtool_cmd_ptr); ldv_statevar_6 = 2; } goto ldv_63102; case_164: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_6_164(ldv_6_callback_set_wol, ldv_6_container_net_device, ldv_6_container_struct_ethtool_wolinfo_ptr); ldv_statevar_6 = 2; } goto ldv_63102; case_165: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_6_165(ldv_6_callback_setall, ldv_6_container_net_device); ldv_statevar_6 = 2; } goto ldv_63102; case_167: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_6_166(ldv_6_callback_setdcbx, ldv_6_container_net_device, (int )ldv_6_ldv_param_166_1_default); ldv_statevar_6 = 2; } goto ldv_63102; case_170: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_6_169(ldv_6_callback_setnumtcs, ldv_6_container_net_device, ldv_6_ldv_param_169_1_default, (int )ldv_6_ldv_param_169_2_default); ldv_statevar_6 = 2; } goto ldv_63102; case_173: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_6_172(ldv_6_callback_setpfccfg, ldv_6_container_net_device, ldv_6_ldv_param_172_1_default, (int )ldv_6_ldv_param_172_2_default); ldv_statevar_6 = 2; } goto ldv_63102; case_176: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_6_175(ldv_6_callback_setpfcstate, ldv_6_container_net_device, (int )ldv_6_ldv_param_175_1_default); ldv_statevar_6 = 2; } goto ldv_63102; case_179: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_6_178(ldv_6_callback_setpgbwgcfgrx, ldv_6_container_net_device, ldv_6_ldv_param_178_1_default, (int )ldv_6_ldv_param_178_2_default); ldv_statevar_6 = 2; } goto ldv_63102; case_182: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_6_181(ldv_6_callback_setpgbwgcfgtx, ldv_6_container_net_device, ldv_6_ldv_param_181_1_default, (int )ldv_6_ldv_param_181_2_default); ldv_statevar_6 = 2; } goto ldv_63102; case_185: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_6_184(ldv_6_callback_setpgtccfgrx, ldv_6_container_net_device, ldv_6_ldv_param_184_1_default, (int )ldv_6_ldv_param_184_2_default, (int )ldv_6_ldv_param_184_3_default, (int )ldv_6_ldv_param_184_4_default, (int )ldv_6_ldv_param_184_5_default); ldv_statevar_6 = 2; } goto ldv_63102; case_188: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_6_187(ldv_6_callback_setpgtccfgtx, ldv_6_container_net_device, ldv_6_ldv_param_187_1_default, (int )ldv_6_ldv_param_187_2_default, (int )ldv_6_ldv_param_187_3_default, (int )ldv_6_ldv_param_187_4_default, (int )ldv_6_ldv_param_187_5_default); ldv_statevar_6 = 2; } goto ldv_63102; case_191: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_6_190(ldv_6_callback_setstate, ldv_6_container_net_device, (int )ldv_6_ldv_param_190_1_default); ldv_statevar_6 = 2; } goto ldv_63102; switch_default: /* CIL Label */ ; switch_break: /* CIL Label */ ; } ldv_63102: ; return; } } void ldv_pci_instance_callback_7_10(unsigned int (*arg0)(struct pci_dev * , enum pci_channel_state ) , struct pci_dev *arg1 , enum pci_channel_state arg2 ) { { { ixgbe_io_error_detected(arg1, (pci_channel_state_t )arg2); } return; } } void ldv_pci_instance_callback_7_23(void (*arg0)(struct pci_dev * ) , struct pci_dev *arg1 ) { { { ixgbe_io_resume(arg1); } return; } } void ldv_pci_instance_callback_7_24(unsigned int (*arg0)(struct pci_dev * ) , struct pci_dev *arg1 ) { { { ixgbe_io_slot_reset(arg1); } return; } } void ldv_pci_instance_callback_7_25(int (*arg0)(struct pci_dev * , int ) , struct pci_dev *arg1 , int arg2 ) { { { ixgbe_pci_sriov_configure(arg1, arg2); } return; } } int ldv_pci_instance_probe_7_17(int (*arg0)(struct pci_dev * , struct pci_device_id * ) , struct pci_dev *arg1 , struct pci_device_id *arg2 ) { int tmp ; { { tmp = ixgbe_probe(arg1, (struct pci_device_id const *)arg2); } return (tmp); } } void ldv_pci_instance_release_7_2(void (*arg0)(struct pci_dev * ) , struct pci_dev *arg1 ) { { { ixgbe_remove(arg1); } return; } } void ldv_pci_instance_resume_7_5(int (*arg0)(struct pci_dev * ) , struct pci_dev *arg1 ) { { { ixgbe_resume(arg1); } return; } } void ldv_pci_instance_resume_early_7_6(int (*arg0)(struct pci_dev * ) , struct pci_dev *arg1 ) { { { (*arg0)(arg1); } return; } } void ldv_pci_instance_shutdown_7_3(void (*arg0)(struct pci_dev * ) , struct pci_dev *arg1 ) { { { ixgbe_shutdown(arg1); } return; } } int ldv_pci_instance_suspend_7_8(int (*arg0)(struct pci_dev * , struct pm_message ) , struct pci_dev *arg1 , struct pm_message arg2 ) { int tmp ; { { tmp = ixgbe_suspend(arg1, arg2); } return (tmp); } } int ldv_pci_instance_suspend_late_7_7(int (*arg0)(struct pci_dev * , struct pm_message ) , struct pci_dev *arg1 , struct pm_message arg2 ) { int tmp ; { { tmp = (*arg0)(arg1, arg2); } return (tmp); } } void ldv_pci_pci_instance_7(void *arg0 ) { int tmp ; int tmp___0 ; int tmp___1 ; void *tmp___2 ; void *tmp___3 ; int tmp___4 ; { { if (ldv_statevar_7 == 1) { goto case_1; } else { } if (ldv_statevar_7 == 2) { goto case_2; } else { } if (ldv_statevar_7 == 3) { goto case_3; } else { } if (ldv_statevar_7 == 4) { goto case_4; } else { } if (ldv_statevar_7 == 5) { goto case_5; } else { } if (ldv_statevar_7 == 6) { goto case_6; } else { } if (ldv_statevar_7 == 7) { goto case_7; } else { } if (ldv_statevar_7 == 8) { goto case_8; } else { } if (ldv_statevar_7 == 9) { goto case_9; } else { } if (ldv_statevar_7 == 10) { goto case_10; } else { } if (ldv_statevar_7 == 12) { goto case_12; } else { } if (ldv_statevar_7 == 14) { goto case_14; } else { } if (ldv_statevar_7 == 16) { goto case_16; } else { } if (ldv_statevar_7 == 17) { goto case_17; } else { } if (ldv_statevar_7 == 19) { goto case_19; } else { } if (ldv_statevar_7 == 20) { goto case_20; } else { } if (ldv_statevar_7 == 23) { goto case_23; } else { } if (ldv_statevar_7 == 24) { goto case_24; } else { } if (ldv_statevar_7 == 26) { goto case_26; } else { } goto switch_default; case_1: /* CIL Label */ { tmp = ldv_undef_int(); } if (tmp != 0) { ldv_statevar_7 = 12; } else { ldv_statevar_7 = 17; } goto ldv_63271; case_2: /* CIL Label */ { ldv_assume(ldv_statevar_6 == 1); ldv_pci_instance_release_7_2(ldv_7_container_pci_driver->remove, ldv_7_resource_dev); ldv_statevar_7 = 1; } goto ldv_63271; case_3: /* CIL Label */ { ldv_assume((((ldv_statevar_2 == 2 || ldv_statevar_3 == 2) || ldv_statevar_4 == 2) || ldv_statevar_5 == 2) || ldv_statevar_15 == 2); ldv_pci_instance_shutdown_7_3(ldv_7_container_pci_driver->shutdown, ldv_7_resource_dev); ldv_statevar_7 = 2; } goto ldv_63271; case_4: /* CIL Label */ { ldv_statevar_7 = ldv_switch_2(); } goto ldv_63271; case_5: /* CIL Label */ { ldv_assume((((((((ldv_statevar_2 == 2 || ldv_statevar_2 == 6) || ldv_statevar_3 == 6) || ldv_statevar_3 == 2) || ldv_statevar_4 == 6) || ldv_statevar_4 == 2) || ldv_statevar_5 == 2) || ldv_statevar_5 == 6) || ldv_statevar_15 == 3); ldv_pci_instance_resume_7_5(ldv_7_container_pci_driver->resume, ldv_7_resource_dev); ldv_statevar_7 = 4; } goto ldv_63271; case_6: /* CIL Label */ ; if ((unsigned long )ldv_7_container_pci_driver->resume_early != (unsigned long )((int (*)(struct pci_dev * ))0)) { { ldv_pci_instance_resume_early_7_6(ldv_7_container_pci_driver->resume_early, ldv_7_resource_dev); } } else { } ldv_statevar_7 = 5; goto ldv_63271; case_7: /* CIL Label */ ; if ((unsigned long )ldv_7_container_pci_driver->suspend_late != (unsigned long )((int (*)(struct pci_dev * , pm_message_t ))0)) { { ldv_7_ret_default = ldv_pci_instance_suspend_late_7_7(ldv_7_container_pci_driver->suspend_late, ldv_7_resource_dev, ldv_7_resource_pm_message); } } else { } { ldv_7_ret_default = ldv_filter_err_code(ldv_7_ret_default); ldv_statevar_7 = 6; } goto ldv_63271; case_8: /* CIL Label */ { ldv_assume((((ldv_statevar_2 == 2 || ldv_statevar_3 == 2) || ldv_statevar_4 == 2) || ldv_statevar_5 == 2) || ldv_statevar_15 == 2); ldv_7_ret_default = ldv_pci_instance_suspend_7_8(ldv_7_container_pci_driver->suspend, ldv_7_resource_dev, ldv_7_resource_pm_message); ldv_7_ret_default = ldv_filter_err_code(ldv_7_ret_default); ldv_statevar_7 = 7; } goto ldv_63271; case_9: /* CIL Label */ { ldv_statevar_7 = ldv_switch_2(); } goto ldv_63271; case_10: /* CIL Label */ { ldv_assume(ldv_statevar_15 == 2); ldv_pci_instance_callback_7_10(ldv_7_callback_error_detected, ldv_7_resource_dev, ldv_7_resource_enum_pci_channel_state); ldv_statevar_7 = 9; } goto ldv_63271; case_12: /* CIL Label */ { ldv_free((void *)ldv_7_resource_dev); ldv_free((void *)ldv_7_resource_struct_pci_device_id_ptr); ldv_7_ret_default = 1; ldv_statevar_7 = 20; } goto ldv_63271; case_14: /* CIL Label */ { ldv_assume(ldv_7_ret_default != 0); tmp___0 = ldv_undef_int(); } if (tmp___0 != 0) { ldv_statevar_7 = 12; } else { ldv_statevar_7 = 17; } goto ldv_63271; case_16: /* CIL Label */ { ldv_assume(ldv_7_ret_default == 0); ldv_statevar_7 = ldv_switch_2(); } goto ldv_63271; case_17: /* CIL Label */ { ldv_assume(ldv_statevar_6 == 5); ldv_pre_probe(); ldv_7_ret_default = ldv_pci_instance_probe_7_17((int (*)(struct pci_dev * , struct pci_device_id * ))ldv_7_container_pci_driver->probe, ldv_7_resource_dev, ldv_7_resource_struct_pci_device_id_ptr); ldv_7_ret_default = ldv_ldv_post_probe_40(ldv_7_ret_default); tmp___1 = ldv_undef_int(); } if (tmp___1 != 0) { ldv_statevar_7 = 14; } else { ldv_statevar_7 = 16; } goto ldv_63271; case_19: /* CIL Label */ { tmp___2 = ldv_xmalloc(2936UL); ldv_7_resource_dev = (struct pci_dev *)tmp___2; tmp___3 = ldv_xmalloc(32UL); ldv_7_resource_struct_pci_device_id_ptr = (struct pci_device_id *)tmp___3; tmp___4 = ldv_undef_int(); } if (tmp___4 != 0) { ldv_statevar_7 = 12; } else { ldv_statevar_7 = 17; } goto ldv_63271; case_20: /* CIL Label */ ; goto ldv_63271; case_23: /* CIL Label */ { ldv_assume(ldv_statevar_15 == 3); ldv_pci_instance_callback_7_23(ldv_7_callback_func_1_ptr, ldv_7_resource_dev); ldv_statevar_7 = 9; } goto ldv_63271; case_24: /* CIL Label */ { ldv_pci_instance_callback_7_24(ldv_7_callback_slot_reset, ldv_7_resource_dev); ldv_statevar_7 = 9; } goto ldv_63271; case_26: /* CIL Label */ { ldv_pci_instance_callback_7_25(ldv_7_callback_sriov_configure, ldv_7_resource_dev, ldv_7_ldv_param_25_1_default); ldv_statevar_7 = 9; } goto ldv_63271; switch_default: /* CIL Label */ ; switch_break: /* CIL Label */ ; } ldv_63271: ; return; } } void ldv_pci_unregister_driver(void *arg0 , struct pci_driver *arg1 ) { struct pci_driver *ldv_27_pci_driver_pci_driver ; { { ldv_27_pci_driver_pci_driver = arg1; ldv_assume(ldv_statevar_7 == 12); ldv_dispatch_deregister_27_1(ldv_27_pci_driver_pci_driver); } return; return; } } int ldv_register_netdev(int arg0 , struct net_device *arg1 ) { struct net_device *ldv_21_netdev_net_device ; int ldv_21_ret_default ; int tmp ; int tmp___0 ; { { ldv_21_ret_default = 1; ldv_21_ret_default = ldv_pre_register_netdev(); ldv_21_netdev_net_device = arg1; tmp___0 = ldv_undef_int(); } if (tmp___0 != 0) { { ldv_assume(ldv_21_ret_default == 0); ldv_assume((((((((ldv_statevar_2 == 2 || ldv_statevar_2 == 6) || ldv_statevar_3 == 6) || ldv_statevar_3 == 2) || ldv_statevar_4 == 6) || ldv_statevar_4 == 2) || ldv_statevar_5 == 2) || ldv_statevar_5 == 6) || ldv_statevar_15 == 3); ldv_21_ret_default = ldv_register_netdev_open_21_6((ldv_21_netdev_net_device->netdev_ops)->ndo_open, ldv_21_netdev_net_device); tmp = ldv_undef_int(); } if (tmp != 0) { { ldv_assume(ldv_21_ret_default == 0); ldv_assume(ldv_statevar_6 == 5); ldv_dispatch_register_21_4(ldv_21_netdev_net_device); } } else { { ldv_assume(ldv_21_ret_default != 0); } } } else { { ldv_assume(ldv_21_ret_default != 0); } } return (ldv_21_ret_default); return (arg0); return (arg0); } } int ldv_register_netdev_open_21_6(int (*arg0)(struct net_device * ) , struct net_device *arg1 ) { int tmp ; { { tmp = ixgbe_open(arg1); } return (tmp); } } int ldv_request_irq(int arg0 , unsigned int arg1 , enum irqreturn (*arg2)(int , void * ) , unsigned long arg3 , char *arg4 , void *arg5 ) { enum irqreturn (*ldv_24_callback_handler)(int , void * ) ; void *ldv_24_data_data ; int ldv_24_line_line ; enum irqreturn (*ldv_24_thread_thread)(int , void * ) ; int tmp ; { { tmp = ldv_undef_int(); } if (tmp != 0) { { ldv_assume(arg0 == 0); ldv_24_line_line = (int )arg1; ldv_24_callback_handler = arg2; ldv_24_thread_thread = (enum irqreturn (*)(int , void * ))0; ldv_24_data_data = arg5; ldv_assume(((ldv_statevar_2 == 6 || ldv_statevar_3 == 6) || ldv_statevar_4 == 6) || ldv_statevar_5 == 6); ldv_dispatch_irq_register_24_2(ldv_24_line_line, ldv_24_callback_handler, ldv_24_thread_thread, ldv_24_data_data); } return (arg0); } else { { ldv_assume(arg0 != 0); } return (arg0); } return (arg0); } } void ldv_struct_ixgbe_phy_operations_dummy_resourceless_instance_10(void *arg0 ) { int tmp ; int tmp___0 ; void *tmp___1 ; void *tmp___2 ; void *tmp___3 ; void *tmp___4 ; void *tmp___5 ; void *tmp___6 ; void *tmp___7 ; void *tmp___8 ; void *tmp___9 ; void *tmp___10 ; void *tmp___11 ; void *tmp___12 ; void *tmp___13 ; void *tmp___14 ; void *tmp___15 ; void *tmp___16 ; void *tmp___17 ; void *tmp___18 ; void *tmp___19 ; void *tmp___20 ; void *tmp___21 ; void *tmp___22 ; void *tmp___23 ; void *tmp___24 ; { { if (ldv_statevar_10 == 1) { goto case_1; } else { } if (ldv_statevar_10 == 2) { goto case_2; } else { } if (ldv_statevar_10 == 3) { goto case_3; } else { } if (ldv_statevar_10 == 4) { goto case_4; } else { } if (ldv_statevar_10 == 5) { goto case_5; } else { } if (ldv_statevar_10 == 7) { goto case_7; } else { } if (ldv_statevar_10 == 10) { goto case_10; } else { } if (ldv_statevar_10 == 13) { goto case_13; } else { } if (ldv_statevar_10 == 15) { goto case_15; } else { } if (ldv_statevar_10 == 17) { goto case_17; } else { } if (ldv_statevar_10 == 20) { goto case_20; } else { } if (ldv_statevar_10 == 23) { goto case_23; } else { } if (ldv_statevar_10 == 26) { goto case_26; } else { } if (ldv_statevar_10 == 28) { goto case_28; } else { } if (ldv_statevar_10 == 29) { goto case_29; } else { } if (ldv_statevar_10 == 31) { goto case_31; } else { } if (ldv_statevar_10 == 33) { goto case_33; } else { } if (ldv_statevar_10 == 35) { goto case_35; } else { } if (ldv_statevar_10 == 37) { goto case_37; } else { } if (ldv_statevar_10 == 38) { goto case_38; } else { } if (ldv_statevar_10 == 39) { goto case_39; } else { } if (ldv_statevar_10 == 40) { goto case_40; } else { } if (ldv_statevar_10 == 42) { goto case_42; } else { } if (ldv_statevar_10 == 44) { goto case_44; } else { } if (ldv_statevar_10 == 45) { goto case_45; } else { } if (ldv_statevar_10 == 47) { goto case_47; } else { } if (ldv_statevar_10 == 50) { goto case_50; } else { } if (ldv_statevar_10 == 52) { goto case_52; } else { } if (ldv_statevar_10 == 54) { goto case_54; } else { } if (ldv_statevar_10 == 57) { goto case_57; } else { } if (ldv_statevar_10 == 59) { goto case_59; } else { } if (ldv_statevar_10 == 61) { goto case_61; } else { } if (ldv_statevar_10 == 63) { goto case_63; } else { } if (ldv_statevar_10 == 64) { goto case_64; } else { } if (ldv_statevar_10 == 66) { goto case_66; } else { } if (ldv_statevar_10 == 68) { goto case_68; } else { } if (ldv_statevar_10 == 69) { goto case_69; } else { } if (ldv_statevar_10 == 70) { goto case_70; } else { } if (ldv_statevar_10 == 71) { goto case_71; } else { } if (ldv_statevar_10 == 72) { goto case_72; } else { } if (ldv_statevar_10 == 73) { goto case_73; } else { } if (ldv_statevar_10 == 74) { goto case_74; } else { } if (ldv_statevar_10 == 75) { goto case_75; } else { } if (ldv_statevar_10 == 77) { goto case_77; } else { } if (ldv_statevar_10 == 80) { goto case_80; } else { } if (ldv_statevar_10 == 82) { goto case_82; } else { } if (ldv_statevar_10 == 84) { goto case_84; } else { } if (ldv_statevar_10 == 87) { goto case_87; } else { } if (ldv_statevar_10 == 90) { goto case_90; } else { } if (ldv_statevar_10 == 93) { goto case_93; } else { } if (ldv_statevar_10 == 96) { goto case_96; } else { } if (ldv_statevar_10 == 99) { goto case_99; } else { } if (ldv_statevar_10 == 102) { goto case_102; } else { } if (ldv_statevar_10 == 105) { goto case_105; } else { } if (ldv_statevar_10 == 108) { goto case_108; } else { } if (ldv_statevar_10 == 111) { goto case_111; } else { } if (ldv_statevar_10 == 113) { goto case_113; } else { } if (ldv_statevar_10 == 114) { goto case_114; } else { } if (ldv_statevar_10 == 116) { goto case_116; } else { } if (ldv_statevar_10 == 118) { goto case_118; } else { } if (ldv_statevar_10 == 120) { goto case_120; } else { } if (ldv_statevar_10 == 123) { goto case_123; } else { } if (ldv_statevar_10 == 126) { goto case_126; } else { } if (ldv_statevar_10 == 129) { goto case_129; } else { } if (ldv_statevar_10 == 132) { goto case_132; } else { } if (ldv_statevar_10 == 135) { goto case_135; } else { } if (ldv_statevar_10 == 138) { goto case_138; } else { } if (ldv_statevar_10 == 140) { goto case_140; } else { } if (ldv_statevar_10 == 142) { goto case_142; } else { } if (ldv_statevar_10 == 144) { goto case_144; } else { } if (ldv_statevar_10 == 145) { goto case_145; } else { } if (ldv_statevar_10 == 146) { goto case_146; } else { } if (ldv_statevar_10 == 147) { goto case_147; } else { } if (ldv_statevar_10 == 148) { goto case_148; } else { } if (ldv_statevar_10 == 149) { goto case_149; } else { } if (ldv_statevar_10 == 151) { goto case_151; } else { } if (ldv_statevar_10 == 154) { goto case_154; } else { } if (ldv_statevar_10 == 157) { goto case_157; } else { } if (ldv_statevar_10 == 160) { goto case_160; } else { } if (ldv_statevar_10 == 163) { goto case_163; } else { } if (ldv_statevar_10 == 166) { goto case_166; } else { } if (ldv_statevar_10 == 169) { goto case_169; } else { } if (ldv_statevar_10 == 172) { goto case_172; } else { } if (ldv_statevar_10 == 175) { goto case_175; } else { } goto switch_default; case_1: /* CIL Label */ ; goto ldv_63329; case_2: /* CIL Label */ { tmp = ldv_undef_int(); } if (tmp != 0) { ldv_statevar_10 = 1; } else { ldv_statevar_10 = 7; } goto ldv_63329; case_3: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_10_3(ldv_10_callback_acquire_swfw_sync, ldv_10_container_struct_ixgbe_hw_ptr, (int )ldv_10_ldv_param_3_1_default); ldv_statevar_10 = 2; } goto ldv_63329; case_4: /* CIL Label */ { tmp___0 = ldv_undef_int(); } if (tmp___0 != 0) { ldv_statevar_10 = 1; } else { ldv_statevar_10 = 7; } goto ldv_63329; case_5: /* CIL Label */ ; goto ldv_63329; case_7: /* CIL Label */ { ldv_statevar_10 = ldv_switch_3(); } goto ldv_63329; case_10: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_10_9(ldv_10_callback_blink_led_start, ldv_10_container_struct_ixgbe_hw_ptr, ldv_10_ldv_param_9_1_default); ldv_statevar_10 = 2; } goto ldv_63329; case_13: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_10_12(ldv_10_callback_blink_led_stop, ldv_10_container_struct_ixgbe_hw_ptr, ldv_10_ldv_param_12_1_default); ldv_statevar_10 = 2; } goto ldv_63329; case_15: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_10_15(ldv_10_callback_calc_checksum, ldv_10_container_struct_ixgbe_hw_ptr); ldv_statevar_10 = 2; } goto ldv_63329; case_17: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_10_16(ldv_10_callback_check_for_ack, ldv_10_container_struct_ixgbe_hw_ptr, (int )ldv_10_ldv_param_16_1_default); ldv_statevar_10 = 2; } goto ldv_63329; case_20: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_10_19(ldv_10_callback_check_for_msg, ldv_10_container_struct_ixgbe_hw_ptr, (int )ldv_10_ldv_param_19_1_default); ldv_statevar_10 = 2; } goto ldv_63329; case_23: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_10_22(ldv_10_callback_check_for_rst, ldv_10_container_struct_ixgbe_hw_ptr, (int )ldv_10_ldv_param_22_1_default); ldv_statevar_10 = 2; } goto ldv_63329; case_26: /* CIL Label */ { tmp___1 = ldv_xmalloc(4UL); ldv_10_ldv_param_25_1_default = (unsigned int *)tmp___1; tmp___2 = ldv_xmalloc(1UL); ldv_10_ldv_param_25_2_default = (_Bool *)tmp___2; ldv_dummy_resourceless_instance_callback_10_25(ldv_10_callback_check_link, ldv_10_container_struct_ixgbe_hw_ptr, ldv_10_ldv_param_25_1_default, ldv_10_ldv_param_25_2_default, (int )ldv_10_ldv_param_25_3_default); ldv_free((void *)ldv_10_ldv_param_25_1_default); ldv_free((void *)ldv_10_ldv_param_25_2_default); ldv_statevar_10 = 2; } goto ldv_63329; case_28: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_10_28(ldv_10_callback_check_overtemp, ldv_10_container_struct_ixgbe_hw_ptr); ldv_statevar_10 = 2; } goto ldv_63329; case_29: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_10_29(ldv_10_callback_clear_hw_cntrs, ldv_10_container_struct_ixgbe_hw_ptr); ldv_statevar_10 = 2; } goto ldv_63329; case_31: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_10_30(ldv_10_callback_clear_rar, ldv_10_container_struct_ixgbe_hw_ptr, ldv_10_ldv_param_30_1_default); ldv_statevar_10 = 2; } goto ldv_63329; case_33: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_10_33(ldv_10_callback_clear_vfta, ldv_10_container_struct_ixgbe_hw_ptr); ldv_statevar_10 = 2; } goto ldv_63329; case_35: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_10_34(ldv_10_callback_clear_vmdq, ldv_10_container_struct_ixgbe_hw_ptr, ldv_10_ldv_param_34_1_default, ldv_10_ldv_param_34_2_default); ldv_statevar_10 = 2; } goto ldv_63329; case_37: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_10_37(ldv_10_callback_disable_mc, ldv_10_container_struct_ixgbe_hw_ptr); ldv_statevar_10 = 2; } goto ldv_63329; case_38: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_10_38(ldv_10_callback_disable_rx_buff, ldv_10_container_struct_ixgbe_hw_ptr); ldv_statevar_10 = 2; } goto ldv_63329; case_39: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_10_39(ldv_10_callback_enable_mc, ldv_10_container_struct_ixgbe_hw_ptr); ldv_statevar_10 = 2; } goto ldv_63329; case_40: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_10_40(ldv_10_callback_enable_rx_buff, ldv_10_container_struct_ixgbe_hw_ptr); ldv_statevar_10 = 2; } goto ldv_63329; case_42: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_10_41(ldv_10_callback_enable_rx_dma, ldv_10_container_struct_ixgbe_hw_ptr, ldv_10_ldv_param_41_1_default); ldv_statevar_10 = 2; } goto ldv_63329; case_44: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_10_44(ldv_10_callback_fc_enable, ldv_10_container_struct_ixgbe_hw_ptr); ldv_statevar_10 = 2; } goto ldv_63329; case_45: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_10_45(ldv_10_callback_get_bus_info, ldv_10_container_struct_ixgbe_hw_ptr); ldv_statevar_10 = 2; } goto ldv_63329; case_47: /* CIL Label */ { tmp___3 = ldv_xmalloc(2UL); ldv_10_ldv_param_46_1_default = (unsigned short *)tmp___3; ldv_dummy_resourceless_instance_callback_10_46(ldv_10_callback_get_device_caps, ldv_10_container_struct_ixgbe_hw_ptr, ldv_10_ldv_param_46_1_default); ldv_free((void *)ldv_10_ldv_param_46_1_default); ldv_statevar_10 = 2; } goto ldv_63329; case_50: /* CIL Label */ { tmp___4 = ldv_xmalloc(2UL); ldv_10_ldv_param_49_1_default = (unsigned short *)tmp___4; ldv_dummy_resourceless_instance_callback_10_49(ldv_10_callback_get_firmware_version, ldv_10_container_struct_ixgbe_hw_ptr, ldv_10_ldv_param_49_1_default); ldv_free((void *)ldv_10_ldv_param_49_1_default); ldv_statevar_10 = 2; } goto ldv_63329; case_52: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_10_52(ldv_10_callback_get_invariants, ldv_10_container_struct_ixgbe_hw_ptr); ldv_statevar_10 = 2; } goto ldv_63329; case_54: /* CIL Label */ { tmp___5 = ldv_xmalloc(4UL); ldv_10_ldv_param_53_1_default = (unsigned int *)tmp___5; tmp___6 = ldv_xmalloc(1UL); ldv_10_ldv_param_53_2_default = (_Bool *)tmp___6; ldv_dummy_resourceless_instance_callback_10_53(ldv_10_callback_get_link_capabilities, ldv_10_container_struct_ixgbe_hw_ptr, ldv_10_ldv_param_53_1_default, ldv_10_ldv_param_53_2_default); ldv_free((void *)ldv_10_ldv_param_53_1_default); ldv_free((void *)ldv_10_ldv_param_53_2_default); ldv_statevar_10 = 2; } goto ldv_63329; case_57: /* CIL Label */ { tmp___7 = ldv_xmalloc(1UL); ldv_10_ldv_param_56_1_default = (unsigned char *)tmp___7; ldv_dummy_resourceless_instance_callback_10_56(ldv_10_callback_get_mac_addr, ldv_10_container_struct_ixgbe_hw_ptr, ldv_10_ldv_param_56_1_default); ldv_free((void *)ldv_10_ldv_param_56_1_default); ldv_statevar_10 = 2; } goto ldv_63329; case_59: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_10_59(ldv_10_callback_get_media_type, ldv_10_container_struct_ixgbe_hw_ptr); ldv_statevar_10 = 2; } goto ldv_63329; case_61: /* CIL Label */ { tmp___8 = ldv_xmalloc(1UL); ldv_10_ldv_param_60_1_default = (unsigned char *)tmp___8; ldv_dummy_resourceless_instance_callback_10_60(ldv_10_callback_get_san_mac_addr, ldv_10_container_struct_ixgbe_hw_ptr, ldv_10_ldv_param_60_1_default); ldv_free((void *)ldv_10_ldv_param_60_1_default); ldv_statevar_10 = 2; } goto ldv_63329; case_63: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_10_63(ldv_10_callback_get_supported_physical_layer, ldv_10_container_struct_ixgbe_hw_ptr); ldv_statevar_10 = 2; } goto ldv_63329; case_64: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_10_64(ldv_10_callback_get_thermal_sensor_data, ldv_10_container_struct_ixgbe_hw_ptr); ldv_statevar_10 = 2; } goto ldv_63329; case_66: /* CIL Label */ { tmp___9 = ldv_xmalloc(2UL); ldv_10_ldv_param_65_1_default = (unsigned short *)tmp___9; tmp___10 = ldv_xmalloc(2UL); ldv_10_ldv_param_65_2_default = (unsigned short *)tmp___10; ldv_dummy_resourceless_instance_callback_10_65(ldv_10_callback_get_wwn_prefix, ldv_10_container_struct_ixgbe_hw_ptr, ldv_10_ldv_param_65_1_default, ldv_10_ldv_param_65_2_default); ldv_free((void *)ldv_10_ldv_param_65_1_default); ldv_free((void *)ldv_10_ldv_param_65_2_default); ldv_statevar_10 = 2; } goto ldv_63329; case_68: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_10_68(ldv_10_callback_identify, ldv_10_container_struct_ixgbe_hw_ptr); ldv_statevar_10 = 2; } goto ldv_63329; case_69: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_10_69(ldv_10_callback_identify_sfp, ldv_10_container_struct_ixgbe_hw_ptr); ldv_statevar_10 = 2; } goto ldv_63329; case_70: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_10_70(ldv_10_callback_init, ldv_10_container_struct_ixgbe_hw_ptr); ldv_statevar_10 = 2; } goto ldv_63329; case_71: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_10_71(ldv_10_callback_init_hw, ldv_10_container_struct_ixgbe_hw_ptr); ldv_statevar_10 = 2; } goto ldv_63329; case_72: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_10_72(ldv_10_callback_init_params, ldv_10_container_struct_ixgbe_hw_ptr); ldv_statevar_10 = 2; } goto ldv_63329; case_73: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_10_73(ldv_10_callback_init_rx_addrs, ldv_10_container_struct_ixgbe_hw_ptr); ldv_statevar_10 = 2; } goto ldv_63329; case_74: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_10_74(ldv_10_callback_init_thermal_sensor_thresh, ldv_10_container_struct_ixgbe_hw_ptr); ldv_statevar_10 = 2; } goto ldv_63329; case_75: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_10_75(ldv_10_callback_init_uta_tables, ldv_10_container_struct_ixgbe_hw_ptr); ldv_statevar_10 = 2; } goto ldv_63329; case_77: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_10_76(ldv_10_callback_led_off, ldv_10_container_struct_ixgbe_hw_ptr, ldv_10_ldv_param_76_1_default); ldv_statevar_10 = 2; } goto ldv_63329; case_80: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_10_79(ldv_10_callback_led_on, ldv_10_container_struct_ixgbe_hw_ptr, ldv_10_ldv_param_79_1_default); ldv_statevar_10 = 2; } goto ldv_63329; case_82: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_10_82(ldv_10_callback_mng_fw_enabled, ldv_10_container_struct_ixgbe_hw_ptr); ldv_statevar_10 = 2; } goto ldv_63329; case_84: /* CIL Label */ { tmp___11 = ldv_xmalloc(4UL); ldv_10_ldv_param_83_1_default = (unsigned int *)tmp___11; ldv_dummy_resourceless_instance_callback_10_83(ldv_10_callback_read, ldv_10_container_struct_ixgbe_hw_ptr, ldv_10_ldv_param_83_1_default, (int )ldv_10_ldv_param_83_2_default, (int )ldv_10_ldv_param_83_3_default); ldv_free((void *)ldv_10_ldv_param_83_1_default); ldv_statevar_10 = 2; } goto ldv_63329; case_87: /* CIL Label */ { tmp___12 = ldv_xmalloc(1UL); ldv_10_ldv_param_86_2_default = (unsigned char *)tmp___12; ldv_dummy_resourceless_instance_callback_10_86(ldv_10_callback_read_analog_reg8, ldv_10_container_struct_ixgbe_hw_ptr, ldv_10_ldv_param_86_1_default, ldv_10_ldv_param_86_2_default); ldv_free((void *)ldv_10_ldv_param_86_2_default); ldv_statevar_10 = 2; } goto ldv_63329; case_90: /* CIL Label */ { tmp___13 = ldv_xmalloc(2UL); ldv_10_ldv_param_89_3_default = (unsigned short *)tmp___13; ldv_dummy_resourceless_instance_callback_10_89(ldv_10_callback_read_buffer, ldv_10_container_struct_ixgbe_hw_ptr, (int )ldv_10_ldv_param_89_1_default, (int )ldv_10_ldv_param_89_2_default, ldv_10_ldv_param_89_3_default); ldv_free((void *)ldv_10_ldv_param_89_3_default); ldv_statevar_10 = 2; } goto ldv_63329; case_93: /* CIL Label */ { tmp___14 = ldv_xmalloc(1UL); ldv_10_ldv_param_92_3_default = (unsigned char *)tmp___14; ldv_dummy_resourceless_instance_callback_10_92(ldv_10_callback_read_i2c_byte, ldv_10_container_struct_ixgbe_hw_ptr, (int )ldv_10_ldv_param_92_1_default, (int )ldv_10_ldv_param_92_2_default, ldv_10_ldv_param_92_3_default); ldv_free((void *)ldv_10_ldv_param_92_3_default); ldv_statevar_10 = 2; } goto ldv_63329; case_96: /* CIL Label */ { tmp___15 = ldv_xmalloc(1UL); ldv_10_ldv_param_95_2_default = (unsigned char *)tmp___15; ldv_dummy_resourceless_instance_callback_10_95(ldv_10_callback_read_i2c_eeprom, ldv_10_container_struct_ixgbe_hw_ptr, (int )ldv_10_ldv_param_95_1_default, ldv_10_ldv_param_95_2_default); ldv_free((void *)ldv_10_ldv_param_95_2_default); ldv_statevar_10 = 2; } goto ldv_63329; case_99: /* CIL Label */ { tmp___16 = ldv_xmalloc(1UL); ldv_10_ldv_param_98_2_default = (unsigned char *)tmp___16; ldv_dummy_resourceless_instance_callback_10_98(ldv_10_callback_read_i2c_sff8472, ldv_10_container_struct_ixgbe_hw_ptr, (int )ldv_10_ldv_param_98_1_default, ldv_10_ldv_param_98_2_default); ldv_free((void *)ldv_10_ldv_param_98_2_default); ldv_statevar_10 = 2; } goto ldv_63329; case_102: /* CIL Label */ { tmp___17 = ldv_xmalloc(4UL); ldv_10_ldv_param_101_1_default = (unsigned int *)tmp___17; ldv_dummy_resourceless_instance_callback_10_101(ldv_10_callback_read_posted, ldv_10_container_struct_ixgbe_hw_ptr, ldv_10_ldv_param_101_1_default, (int )ldv_10_ldv_param_101_2_default, (int )ldv_10_ldv_param_101_3_default); ldv_free((void *)ldv_10_ldv_param_101_1_default); ldv_statevar_10 = 2; } goto ldv_63329; case_105: /* CIL Label */ { tmp___18 = ldv_xmalloc(2UL); ldv_10_ldv_param_104_3_default = (unsigned short *)tmp___18; ldv_dummy_resourceless_instance_callback_10_104(ldv_10_callback_read_reg, ldv_10_container_struct_ixgbe_hw_ptr, ldv_10_ldv_param_104_1_default, ldv_10_ldv_param_104_2_default, ldv_10_ldv_param_104_3_default); ldv_free((void *)ldv_10_ldv_param_104_3_default); ldv_statevar_10 = 2; } goto ldv_63329; case_108: /* CIL Label */ { tmp___19 = ldv_xmalloc(2UL); ldv_10_ldv_param_107_3_default = (unsigned short *)tmp___19; ldv_dummy_resourceless_instance_callback_10_107(ldv_10_callback_read_reg_mdi, ldv_10_container_struct_ixgbe_hw_ptr, ldv_10_ldv_param_107_1_default, ldv_10_ldv_param_107_2_default, ldv_10_ldv_param_107_3_default); ldv_free((void *)ldv_10_ldv_param_107_3_default); ldv_statevar_10 = 2; } goto ldv_63329; case_111: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_10_110(ldv_10_callback_release_swfw_sync, ldv_10_container_struct_ixgbe_hw_ptr, (int )ldv_10_ldv_param_110_1_default); ldv_statevar_10 = 2; } goto ldv_63329; case_113: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_10_113(ldv_10_callback_reset, ldv_10_container_struct_ixgbe_hw_ptr); ldv_statevar_10 = 2; } goto ldv_63329; case_114: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_10_114(ldv_10_callback_reset_hw, ldv_10_container_struct_ixgbe_hw_ptr); ldv_statevar_10 = 2; } goto ldv_63329; case_116: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_10_115(ldv_10_callback_set_fw_drv_ver, ldv_10_container_struct_ixgbe_hw_ptr, (int )ldv_10_ldv_param_115_1_default, (int )ldv_10_ldv_param_115_2_default, (int )ldv_10_ldv_param_115_3_default, (int )ldv_10_ldv_param_115_4_default); ldv_statevar_10 = 2; } goto ldv_63329; case_118: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_10_118(ldv_10_callback_set_lan_id, ldv_10_container_struct_ixgbe_hw_ptr); ldv_statevar_10 = 2; } goto ldv_63329; case_120: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_10_119(ldv_10_callback_set_mac_anti_spoofing, ldv_10_container_struct_ixgbe_hw_ptr, (int )ldv_10_ldv_param_119_1_default, ldv_10_ldv_param_119_2_default); ldv_statevar_10 = 2; } goto ldv_63329; case_123: /* CIL Label */ { tmp___20 = ldv_xmalloc(1UL); ldv_10_ldv_param_122_2_default = (unsigned char *)tmp___20; ldv_dummy_resourceless_instance_callback_10_122(ldv_10_callback_set_rar, ldv_10_container_struct_ixgbe_hw_ptr, ldv_10_ldv_param_122_1_default, ldv_10_ldv_param_122_2_default, ldv_10_ldv_param_122_3_default, ldv_10_ldv_param_122_4_default); ldv_free((void *)ldv_10_ldv_param_122_2_default); ldv_statevar_10 = 2; } goto ldv_63329; case_126: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_10_125(ldv_10_callback_set_rxpba, ldv_10_container_struct_ixgbe_hw_ptr, ldv_10_ldv_param_125_1_default, ldv_10_ldv_param_125_2_default, ldv_10_ldv_param_125_3_default); ldv_statevar_10 = 2; } goto ldv_63329; case_129: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_10_128(ldv_10_callback_set_vfta, ldv_10_container_struct_ixgbe_hw_ptr, ldv_10_ldv_param_128_1_default, ldv_10_ldv_param_128_2_default, (int )ldv_10_ldv_param_128_3_default); ldv_statevar_10 = 2; } goto ldv_63329; case_132: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_10_131(ldv_10_callback_set_vlan_anti_spoofing, ldv_10_container_struct_ixgbe_hw_ptr, (int )ldv_10_ldv_param_131_1_default, ldv_10_ldv_param_131_2_default); ldv_statevar_10 = 2; } goto ldv_63329; case_135: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_10_134(ldv_10_callback_set_vmdq, ldv_10_container_struct_ixgbe_hw_ptr, ldv_10_ldv_param_134_1_default, ldv_10_ldv_param_134_2_default); ldv_statevar_10 = 2; } goto ldv_63329; case_138: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_10_137(ldv_10_callback_set_vmdq_san_mac, ldv_10_container_struct_ixgbe_hw_ptr, ldv_10_ldv_param_137_1_default); ldv_statevar_10 = 2; } goto ldv_63329; case_140: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_10_140(ldv_10_callback_setup_link, ldv_10_container_struct_ixgbe_hw_ptr); ldv_statevar_10 = 2; } goto ldv_63329; case_142: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_10_141(ldv_10_callback_setup_link_speed, ldv_10_container_struct_ixgbe_hw_ptr, ldv_10_ldv_param_141_1_default, (int )ldv_10_ldv_param_141_2_default); ldv_statevar_10 = 2; } goto ldv_63329; case_144: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_10_144(ldv_10_callback_setup_sfp, ldv_10_container_struct_ixgbe_hw_ptr); ldv_statevar_10 = 2; } goto ldv_63329; case_145: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_10_145(ldv_10_callback_start_hw, ldv_10_container_struct_ixgbe_hw_ptr); ldv_statevar_10 = 2; } goto ldv_63329; case_146: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_10_146(ldv_10_callback_stop_adapter, ldv_10_container_struct_ixgbe_hw_ptr); ldv_statevar_10 = 2; } goto ldv_63329; case_147: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_10_147(ldv_10_callback_stop_link_on_d3, ldv_10_container_struct_ixgbe_hw_ptr); ldv_statevar_10 = 2; } goto ldv_63329; case_148: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_10_148(ldv_10_callback_update_checksum, ldv_10_container_struct_ixgbe_hw_ptr); ldv_statevar_10 = 2; } goto ldv_63329; case_149: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_10_149(ldv_10_callback_update_mc_addr_list, ldv_10_container_struct_ixgbe_hw_ptr, ldv_10_container_struct_net_device_ptr); ldv_statevar_10 = 2; } goto ldv_63329; case_151: /* CIL Label */ { tmp___21 = ldv_xmalloc(2UL); ldv_10_ldv_param_150_1_default = (unsigned short *)tmp___21; ldv_dummy_resourceless_instance_callback_10_150(ldv_10_callback_validate_checksum, ldv_10_container_struct_ixgbe_hw_ptr, ldv_10_ldv_param_150_1_default); ldv_free((void *)ldv_10_ldv_param_150_1_default); ldv_statevar_10 = 2; } goto ldv_63329; case_154: /* CIL Label */ { tmp___22 = ldv_xmalloc(4UL); ldv_10_ldv_param_153_1_default = (unsigned int *)tmp___22; ldv_dummy_resourceless_instance_callback_10_153(ldv_10_callback_write, ldv_10_container_struct_ixgbe_hw_ptr, ldv_10_ldv_param_153_1_default, (int )ldv_10_ldv_param_153_2_default, (int )ldv_10_ldv_param_153_3_default); ldv_free((void *)ldv_10_ldv_param_153_1_default); ldv_statevar_10 = 2; } goto ldv_63329; case_157: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_10_156(ldv_10_callback_write_analog_reg8, ldv_10_container_struct_ixgbe_hw_ptr, ldv_10_ldv_param_156_1_default, (int )ldv_10_ldv_param_156_2_default); ldv_statevar_10 = 2; } goto ldv_63329; case_160: /* CIL Label */ { tmp___23 = ldv_xmalloc(2UL); ldv_10_ldv_param_159_3_default = (unsigned short *)tmp___23; ldv_dummy_resourceless_instance_callback_10_159(ldv_10_callback_write_buffer, ldv_10_container_struct_ixgbe_hw_ptr, (int )ldv_10_ldv_param_159_1_default, (int )ldv_10_ldv_param_159_2_default, ldv_10_ldv_param_159_3_default); ldv_free((void *)ldv_10_ldv_param_159_3_default); ldv_statevar_10 = 2; } goto ldv_63329; case_163: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_10_162(ldv_10_callback_write_i2c_byte, ldv_10_container_struct_ixgbe_hw_ptr, (int )ldv_10_ldv_param_162_1_default, (int )ldv_10_ldv_param_162_2_default, (int )ldv_10_ldv_param_162_3_default); ldv_statevar_10 = 2; } goto ldv_63329; case_166: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_10_165(ldv_10_callback_write_i2c_eeprom, ldv_10_container_struct_ixgbe_hw_ptr, (int )ldv_10_ldv_param_165_1_default, (int )ldv_10_ldv_param_165_2_default); ldv_statevar_10 = 2; } goto ldv_63329; case_169: /* CIL Label */ { tmp___24 = ldv_xmalloc(4UL); ldv_10_ldv_param_168_1_default = (unsigned int *)tmp___24; ldv_dummy_resourceless_instance_callback_10_168(ldv_10_callback_write_posted, ldv_10_container_struct_ixgbe_hw_ptr, ldv_10_ldv_param_168_1_default, (int )ldv_10_ldv_param_168_2_default, (int )ldv_10_ldv_param_168_3_default); ldv_free((void *)ldv_10_ldv_param_168_1_default); ldv_statevar_10 = 2; } goto ldv_63329; case_172: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_10_171(ldv_10_callback_write_reg, ldv_10_container_struct_ixgbe_hw_ptr, ldv_10_ldv_param_171_1_default, ldv_10_ldv_param_171_2_default, (int )ldv_10_ldv_param_171_3_default); ldv_statevar_10 = 2; } goto ldv_63329; case_175: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_10_174(ldv_10_callback_write_reg_mdi, ldv_10_container_struct_ixgbe_hw_ptr, ldv_10_ldv_param_174_1_default, ldv_10_ldv_param_174_2_default, (int )ldv_10_ldv_param_174_3_default); ldv_statevar_10 = 2; } goto ldv_63329; switch_default: /* CIL Label */ ; switch_break: /* CIL Label */ ; } ldv_63329: ; return; } } void ldv_struct_ixgbe_phy_operations_dummy_resourceless_instance_11(void *arg0 ) { int tmp ; int tmp___0 ; void *tmp___1 ; void *tmp___2 ; void *tmp___3 ; void *tmp___4 ; void *tmp___5 ; void *tmp___6 ; void *tmp___7 ; void *tmp___8 ; void *tmp___9 ; void *tmp___10 ; void *tmp___11 ; void *tmp___12 ; void *tmp___13 ; void *tmp___14 ; void *tmp___15 ; void *tmp___16 ; void *tmp___17 ; void *tmp___18 ; void *tmp___19 ; void *tmp___20 ; void *tmp___21 ; void *tmp___22 ; void *tmp___23 ; void *tmp___24 ; { { if (ldv_statevar_11 == 1) { goto case_1; } else { } if (ldv_statevar_11 == 2) { goto case_2; } else { } if (ldv_statevar_11 == 3) { goto case_3; } else { } if (ldv_statevar_11 == 4) { goto case_4; } else { } if (ldv_statevar_11 == 5) { goto case_5; } else { } if (ldv_statevar_11 == 7) { goto case_7; } else { } if (ldv_statevar_11 == 10) { goto case_10; } else { } if (ldv_statevar_11 == 13) { goto case_13; } else { } if (ldv_statevar_11 == 15) { goto case_15; } else { } if (ldv_statevar_11 == 17) { goto case_17; } else { } if (ldv_statevar_11 == 20) { goto case_20; } else { } if (ldv_statevar_11 == 23) { goto case_23; } else { } if (ldv_statevar_11 == 26) { goto case_26; } else { } if (ldv_statevar_11 == 28) { goto case_28; } else { } if (ldv_statevar_11 == 29) { goto case_29; } else { } if (ldv_statevar_11 == 31) { goto case_31; } else { } if (ldv_statevar_11 == 33) { goto case_33; } else { } if (ldv_statevar_11 == 35) { goto case_35; } else { } if (ldv_statevar_11 == 37) { goto case_37; } else { } if (ldv_statevar_11 == 38) { goto case_38; } else { } if (ldv_statevar_11 == 39) { goto case_39; } else { } if (ldv_statevar_11 == 40) { goto case_40; } else { } if (ldv_statevar_11 == 42) { goto case_42; } else { } if (ldv_statevar_11 == 44) { goto case_44; } else { } if (ldv_statevar_11 == 45) { goto case_45; } else { } if (ldv_statevar_11 == 47) { goto case_47; } else { } if (ldv_statevar_11 == 50) { goto case_50; } else { } if (ldv_statevar_11 == 52) { goto case_52; } else { } if (ldv_statevar_11 == 54) { goto case_54; } else { } if (ldv_statevar_11 == 57) { goto case_57; } else { } if (ldv_statevar_11 == 59) { goto case_59; } else { } if (ldv_statevar_11 == 61) { goto case_61; } else { } if (ldv_statevar_11 == 63) { goto case_63; } else { } if (ldv_statevar_11 == 64) { goto case_64; } else { } if (ldv_statevar_11 == 66) { goto case_66; } else { } if (ldv_statevar_11 == 68) { goto case_68; } else { } if (ldv_statevar_11 == 69) { goto case_69; } else { } if (ldv_statevar_11 == 70) { goto case_70; } else { } if (ldv_statevar_11 == 71) { goto case_71; } else { } if (ldv_statevar_11 == 72) { goto case_72; } else { } if (ldv_statevar_11 == 73) { goto case_73; } else { } if (ldv_statevar_11 == 74) { goto case_74; } else { } if (ldv_statevar_11 == 75) { goto case_75; } else { } if (ldv_statevar_11 == 77) { goto case_77; } else { } if (ldv_statevar_11 == 80) { goto case_80; } else { } if (ldv_statevar_11 == 82) { goto case_82; } else { } if (ldv_statevar_11 == 84) { goto case_84; } else { } if (ldv_statevar_11 == 87) { goto case_87; } else { } if (ldv_statevar_11 == 90) { goto case_90; } else { } if (ldv_statevar_11 == 93) { goto case_93; } else { } if (ldv_statevar_11 == 96) { goto case_96; } else { } if (ldv_statevar_11 == 99) { goto case_99; } else { } if (ldv_statevar_11 == 102) { goto case_102; } else { } if (ldv_statevar_11 == 105) { goto case_105; } else { } if (ldv_statevar_11 == 108) { goto case_108; } else { } if (ldv_statevar_11 == 111) { goto case_111; } else { } if (ldv_statevar_11 == 113) { goto case_113; } else { } if (ldv_statevar_11 == 114) { goto case_114; } else { } if (ldv_statevar_11 == 116) { goto case_116; } else { } if (ldv_statevar_11 == 118) { goto case_118; } else { } if (ldv_statevar_11 == 120) { goto case_120; } else { } if (ldv_statevar_11 == 123) { goto case_123; } else { } if (ldv_statevar_11 == 126) { goto case_126; } else { } if (ldv_statevar_11 == 129) { goto case_129; } else { } if (ldv_statevar_11 == 132) { goto case_132; } else { } if (ldv_statevar_11 == 135) { goto case_135; } else { } if (ldv_statevar_11 == 138) { goto case_138; } else { } if (ldv_statevar_11 == 140) { goto case_140; } else { } if (ldv_statevar_11 == 142) { goto case_142; } else { } if (ldv_statevar_11 == 144) { goto case_144; } else { } if (ldv_statevar_11 == 145) { goto case_145; } else { } if (ldv_statevar_11 == 146) { goto case_146; } else { } if (ldv_statevar_11 == 147) { goto case_147; } else { } if (ldv_statevar_11 == 148) { goto case_148; } else { } if (ldv_statevar_11 == 149) { goto case_149; } else { } if (ldv_statevar_11 == 151) { goto case_151; } else { } if (ldv_statevar_11 == 154) { goto case_154; } else { } if (ldv_statevar_11 == 157) { goto case_157; } else { } if (ldv_statevar_11 == 160) { goto case_160; } else { } if (ldv_statevar_11 == 163) { goto case_163; } else { } if (ldv_statevar_11 == 166) { goto case_166; } else { } if (ldv_statevar_11 == 169) { goto case_169; } else { } if (ldv_statevar_11 == 172) { goto case_172; } else { } if (ldv_statevar_11 == 175) { goto case_175; } else { } goto switch_default; case_1: /* CIL Label */ ; goto ldv_63418; case_2: /* CIL Label */ { tmp = ldv_undef_int(); } if (tmp != 0) { ldv_statevar_11 = 1; } else { ldv_statevar_11 = 7; } goto ldv_63418; case_3: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_11_3(ldv_11_callback_acquire_swfw_sync, ldv_11_container_struct_ixgbe_hw_ptr, (int )ldv_11_ldv_param_3_1_default); ldv_statevar_11 = 2; } goto ldv_63418; case_4: /* CIL Label */ { tmp___0 = ldv_undef_int(); } if (tmp___0 != 0) { ldv_statevar_11 = 1; } else { ldv_statevar_11 = 7; } goto ldv_63418; case_5: /* CIL Label */ ; goto ldv_63418; case_7: /* CIL Label */ { ldv_statevar_11 = ldv_switch_3(); } goto ldv_63418; case_10: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_11_9(ldv_11_callback_blink_led_start, ldv_11_container_struct_ixgbe_hw_ptr, ldv_11_ldv_param_9_1_default); ldv_statevar_11 = 2; } goto ldv_63418; case_13: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_11_12(ldv_11_callback_blink_led_stop, ldv_11_container_struct_ixgbe_hw_ptr, ldv_11_ldv_param_12_1_default); ldv_statevar_11 = 2; } goto ldv_63418; case_15: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_11_15(ldv_11_callback_calc_checksum, ldv_11_container_struct_ixgbe_hw_ptr); ldv_statevar_11 = 2; } goto ldv_63418; case_17: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_11_16(ldv_11_callback_check_for_ack, ldv_11_container_struct_ixgbe_hw_ptr, (int )ldv_11_ldv_param_16_1_default); ldv_statevar_11 = 2; } goto ldv_63418; case_20: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_11_19(ldv_11_callback_check_for_msg, ldv_11_container_struct_ixgbe_hw_ptr, (int )ldv_11_ldv_param_19_1_default); ldv_statevar_11 = 2; } goto ldv_63418; case_23: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_11_22(ldv_11_callback_check_for_rst, ldv_11_container_struct_ixgbe_hw_ptr, (int )ldv_11_ldv_param_22_1_default); ldv_statevar_11 = 2; } goto ldv_63418; case_26: /* CIL Label */ { tmp___1 = ldv_xmalloc(4UL); ldv_11_ldv_param_25_1_default = (unsigned int *)tmp___1; tmp___2 = ldv_xmalloc(1UL); ldv_11_ldv_param_25_2_default = (_Bool *)tmp___2; ldv_dummy_resourceless_instance_callback_11_25(ldv_11_callback_check_link, ldv_11_container_struct_ixgbe_hw_ptr, ldv_11_ldv_param_25_1_default, ldv_11_ldv_param_25_2_default, (int )ldv_11_ldv_param_25_3_default); ldv_free((void *)ldv_11_ldv_param_25_1_default); ldv_free((void *)ldv_11_ldv_param_25_2_default); ldv_statevar_11 = 2; } goto ldv_63418; case_28: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_11_28(ldv_11_callback_check_overtemp, ldv_11_container_struct_ixgbe_hw_ptr); ldv_statevar_11 = 2; } goto ldv_63418; case_29: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_11_29(ldv_11_callback_clear_hw_cntrs, ldv_11_container_struct_ixgbe_hw_ptr); ldv_statevar_11 = 2; } goto ldv_63418; case_31: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_11_30(ldv_11_callback_clear_rar, ldv_11_container_struct_ixgbe_hw_ptr, ldv_11_ldv_param_30_1_default); ldv_statevar_11 = 2; } goto ldv_63418; case_33: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_11_33(ldv_11_callback_clear_vfta, ldv_11_container_struct_ixgbe_hw_ptr); ldv_statevar_11 = 2; } goto ldv_63418; case_35: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_11_34(ldv_11_callback_clear_vmdq, ldv_11_container_struct_ixgbe_hw_ptr, ldv_11_ldv_param_34_1_default, ldv_11_ldv_param_34_2_default); ldv_statevar_11 = 2; } goto ldv_63418; case_37: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_11_37(ldv_11_callback_disable_mc, ldv_11_container_struct_ixgbe_hw_ptr); ldv_statevar_11 = 2; } goto ldv_63418; case_38: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_11_38(ldv_11_callback_disable_rx_buff, ldv_11_container_struct_ixgbe_hw_ptr); ldv_statevar_11 = 2; } goto ldv_63418; case_39: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_11_39(ldv_11_callback_enable_mc, ldv_11_container_struct_ixgbe_hw_ptr); ldv_statevar_11 = 2; } goto ldv_63418; case_40: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_11_40(ldv_11_callback_enable_rx_buff, ldv_11_container_struct_ixgbe_hw_ptr); ldv_statevar_11 = 2; } goto ldv_63418; case_42: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_11_41(ldv_11_callback_enable_rx_dma, ldv_11_container_struct_ixgbe_hw_ptr, ldv_11_ldv_param_41_1_default); ldv_statevar_11 = 2; } goto ldv_63418; case_44: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_11_44(ldv_11_callback_fc_enable, ldv_11_container_struct_ixgbe_hw_ptr); ldv_statevar_11 = 2; } goto ldv_63418; case_45: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_11_45(ldv_11_callback_get_bus_info, ldv_11_container_struct_ixgbe_hw_ptr); ldv_statevar_11 = 2; } goto ldv_63418; case_47: /* CIL Label */ { tmp___3 = ldv_xmalloc(2UL); ldv_11_ldv_param_46_1_default = (unsigned short *)tmp___3; ldv_dummy_resourceless_instance_callback_11_46(ldv_11_callback_get_device_caps, ldv_11_container_struct_ixgbe_hw_ptr, ldv_11_ldv_param_46_1_default); ldv_free((void *)ldv_11_ldv_param_46_1_default); ldv_statevar_11 = 2; } goto ldv_63418; case_50: /* CIL Label */ { tmp___4 = ldv_xmalloc(2UL); ldv_11_ldv_param_49_1_default = (unsigned short *)tmp___4; ldv_dummy_resourceless_instance_callback_11_49(ldv_11_callback_get_firmware_version, ldv_11_container_struct_ixgbe_hw_ptr, ldv_11_ldv_param_49_1_default); ldv_free((void *)ldv_11_ldv_param_49_1_default); ldv_statevar_11 = 2; } goto ldv_63418; case_52: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_11_52(ldv_11_callback_get_invariants, ldv_11_container_struct_ixgbe_hw_ptr); ldv_statevar_11 = 2; } goto ldv_63418; case_54: /* CIL Label */ { tmp___5 = ldv_xmalloc(4UL); ldv_11_ldv_param_53_1_default = (unsigned int *)tmp___5; tmp___6 = ldv_xmalloc(1UL); ldv_11_ldv_param_53_2_default = (_Bool *)tmp___6; ldv_dummy_resourceless_instance_callback_11_53(ldv_11_callback_get_link_capabilities, ldv_11_container_struct_ixgbe_hw_ptr, ldv_11_ldv_param_53_1_default, ldv_11_ldv_param_53_2_default); ldv_free((void *)ldv_11_ldv_param_53_1_default); ldv_free((void *)ldv_11_ldv_param_53_2_default); ldv_statevar_11 = 2; } goto ldv_63418; case_57: /* CIL Label */ { tmp___7 = ldv_xmalloc(1UL); ldv_11_ldv_param_56_1_default = (unsigned char *)tmp___7; ldv_dummy_resourceless_instance_callback_11_56(ldv_11_callback_get_mac_addr, ldv_11_container_struct_ixgbe_hw_ptr, ldv_11_ldv_param_56_1_default); ldv_free((void *)ldv_11_ldv_param_56_1_default); ldv_statevar_11 = 2; } goto ldv_63418; case_59: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_11_59(ldv_11_callback_get_media_type, ldv_11_container_struct_ixgbe_hw_ptr); ldv_statevar_11 = 2; } goto ldv_63418; case_61: /* CIL Label */ { tmp___8 = ldv_xmalloc(1UL); ldv_11_ldv_param_60_1_default = (unsigned char *)tmp___8; ldv_dummy_resourceless_instance_callback_11_60(ldv_11_callback_get_san_mac_addr, ldv_11_container_struct_ixgbe_hw_ptr, ldv_11_ldv_param_60_1_default); ldv_free((void *)ldv_11_ldv_param_60_1_default); ldv_statevar_11 = 2; } goto ldv_63418; case_63: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_11_63(ldv_11_callback_get_supported_physical_layer, ldv_11_container_struct_ixgbe_hw_ptr); ldv_statevar_11 = 2; } goto ldv_63418; case_64: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_11_64(ldv_11_callback_get_thermal_sensor_data, ldv_11_container_struct_ixgbe_hw_ptr); ldv_statevar_11 = 2; } goto ldv_63418; case_66: /* CIL Label */ { tmp___9 = ldv_xmalloc(2UL); ldv_11_ldv_param_65_1_default = (unsigned short *)tmp___9; tmp___10 = ldv_xmalloc(2UL); ldv_11_ldv_param_65_2_default = (unsigned short *)tmp___10; ldv_dummy_resourceless_instance_callback_11_65(ldv_11_callback_get_wwn_prefix, ldv_11_container_struct_ixgbe_hw_ptr, ldv_11_ldv_param_65_1_default, ldv_11_ldv_param_65_2_default); ldv_free((void *)ldv_11_ldv_param_65_1_default); ldv_free((void *)ldv_11_ldv_param_65_2_default); ldv_statevar_11 = 2; } goto ldv_63418; case_68: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_11_68(ldv_11_callback_identify, ldv_11_container_struct_ixgbe_hw_ptr); ldv_statevar_11 = 2; } goto ldv_63418; case_69: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_11_69(ldv_11_callback_identify_sfp, ldv_11_container_struct_ixgbe_hw_ptr); ldv_statevar_11 = 2; } goto ldv_63418; case_70: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_11_70(ldv_11_callback_init, ldv_11_container_struct_ixgbe_hw_ptr); ldv_statevar_11 = 2; } goto ldv_63418; case_71: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_11_71(ldv_11_callback_init_hw, ldv_11_container_struct_ixgbe_hw_ptr); ldv_statevar_11 = 2; } goto ldv_63418; case_72: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_11_72(ldv_11_callback_init_params, ldv_11_container_struct_ixgbe_hw_ptr); ldv_statevar_11 = 2; } goto ldv_63418; case_73: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_11_73(ldv_11_callback_init_rx_addrs, ldv_11_container_struct_ixgbe_hw_ptr); ldv_statevar_11 = 2; } goto ldv_63418; case_74: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_11_74(ldv_11_callback_init_thermal_sensor_thresh, ldv_11_container_struct_ixgbe_hw_ptr); ldv_statevar_11 = 2; } goto ldv_63418; case_75: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_11_75(ldv_11_callback_init_uta_tables, ldv_11_container_struct_ixgbe_hw_ptr); ldv_statevar_11 = 2; } goto ldv_63418; case_77: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_11_76(ldv_11_callback_led_off, ldv_11_container_struct_ixgbe_hw_ptr, ldv_11_ldv_param_76_1_default); ldv_statevar_11 = 2; } goto ldv_63418; case_80: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_11_79(ldv_11_callback_led_on, ldv_11_container_struct_ixgbe_hw_ptr, ldv_11_ldv_param_79_1_default); ldv_statevar_11 = 2; } goto ldv_63418; case_82: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_11_82(ldv_11_callback_mng_fw_enabled, ldv_11_container_struct_ixgbe_hw_ptr); ldv_statevar_11 = 2; } goto ldv_63418; case_84: /* CIL Label */ { tmp___11 = ldv_xmalloc(4UL); ldv_11_ldv_param_83_1_default = (unsigned int *)tmp___11; ldv_dummy_resourceless_instance_callback_11_83(ldv_11_callback_read, ldv_11_container_struct_ixgbe_hw_ptr, ldv_11_ldv_param_83_1_default, (int )ldv_11_ldv_param_83_2_default, (int )ldv_11_ldv_param_83_3_default); ldv_free((void *)ldv_11_ldv_param_83_1_default); ldv_statevar_11 = 2; } goto ldv_63418; case_87: /* CIL Label */ { tmp___12 = ldv_xmalloc(1UL); ldv_11_ldv_param_86_2_default = (unsigned char *)tmp___12; ldv_dummy_resourceless_instance_callback_11_86(ldv_11_callback_read_analog_reg8, ldv_11_container_struct_ixgbe_hw_ptr, ldv_11_ldv_param_86_1_default, ldv_11_ldv_param_86_2_default); ldv_free((void *)ldv_11_ldv_param_86_2_default); ldv_statevar_11 = 2; } goto ldv_63418; case_90: /* CIL Label */ { tmp___13 = ldv_xmalloc(2UL); ldv_11_ldv_param_89_3_default = (unsigned short *)tmp___13; ldv_dummy_resourceless_instance_callback_11_89(ldv_11_callback_read_buffer, ldv_11_container_struct_ixgbe_hw_ptr, (int )ldv_11_ldv_param_89_1_default, (int )ldv_11_ldv_param_89_2_default, ldv_11_ldv_param_89_3_default); ldv_free((void *)ldv_11_ldv_param_89_3_default); ldv_statevar_11 = 2; } goto ldv_63418; case_93: /* CIL Label */ { tmp___14 = ldv_xmalloc(1UL); ldv_11_ldv_param_92_3_default = (unsigned char *)tmp___14; ldv_dummy_resourceless_instance_callback_11_92(ldv_11_callback_read_i2c_byte, ldv_11_container_struct_ixgbe_hw_ptr, (int )ldv_11_ldv_param_92_1_default, (int )ldv_11_ldv_param_92_2_default, ldv_11_ldv_param_92_3_default); ldv_free((void *)ldv_11_ldv_param_92_3_default); ldv_statevar_11 = 2; } goto ldv_63418; case_96: /* CIL Label */ { tmp___15 = ldv_xmalloc(1UL); ldv_11_ldv_param_95_2_default = (unsigned char *)tmp___15; ldv_dummy_resourceless_instance_callback_11_95(ldv_11_callback_read_i2c_eeprom, ldv_11_container_struct_ixgbe_hw_ptr, (int )ldv_11_ldv_param_95_1_default, ldv_11_ldv_param_95_2_default); ldv_free((void *)ldv_11_ldv_param_95_2_default); ldv_statevar_11 = 2; } goto ldv_63418; case_99: /* CIL Label */ { tmp___16 = ldv_xmalloc(1UL); ldv_11_ldv_param_98_2_default = (unsigned char *)tmp___16; ldv_dummy_resourceless_instance_callback_11_98(ldv_11_callback_read_i2c_sff8472, ldv_11_container_struct_ixgbe_hw_ptr, (int )ldv_11_ldv_param_98_1_default, ldv_11_ldv_param_98_2_default); ldv_free((void *)ldv_11_ldv_param_98_2_default); ldv_statevar_11 = 2; } goto ldv_63418; case_102: /* CIL Label */ { tmp___17 = ldv_xmalloc(4UL); ldv_11_ldv_param_101_1_default = (unsigned int *)tmp___17; ldv_dummy_resourceless_instance_callback_11_101(ldv_11_callback_read_posted, ldv_11_container_struct_ixgbe_hw_ptr, ldv_11_ldv_param_101_1_default, (int )ldv_11_ldv_param_101_2_default, (int )ldv_11_ldv_param_101_3_default); ldv_free((void *)ldv_11_ldv_param_101_1_default); ldv_statevar_11 = 2; } goto ldv_63418; case_105: /* CIL Label */ { tmp___18 = ldv_xmalloc(2UL); ldv_11_ldv_param_104_3_default = (unsigned short *)tmp___18; ldv_dummy_resourceless_instance_callback_11_104(ldv_11_callback_read_reg, ldv_11_container_struct_ixgbe_hw_ptr, ldv_11_ldv_param_104_1_default, ldv_11_ldv_param_104_2_default, ldv_11_ldv_param_104_3_default); ldv_free((void *)ldv_11_ldv_param_104_3_default); ldv_statevar_11 = 2; } goto ldv_63418; case_108: /* CIL Label */ { tmp___19 = ldv_xmalloc(2UL); ldv_11_ldv_param_107_3_default = (unsigned short *)tmp___19; ldv_dummy_resourceless_instance_callback_11_107(ldv_11_callback_read_reg_mdi, ldv_11_container_struct_ixgbe_hw_ptr, ldv_11_ldv_param_107_1_default, ldv_11_ldv_param_107_2_default, ldv_11_ldv_param_107_3_default); ldv_free((void *)ldv_11_ldv_param_107_3_default); ldv_statevar_11 = 2; } goto ldv_63418; case_111: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_11_110(ldv_11_callback_release_swfw_sync, ldv_11_container_struct_ixgbe_hw_ptr, (int )ldv_11_ldv_param_110_1_default); ldv_statevar_11 = 2; } goto ldv_63418; case_113: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_11_113(ldv_11_callback_reset, ldv_11_container_struct_ixgbe_hw_ptr); ldv_statevar_11 = 2; } goto ldv_63418; case_114: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_11_114(ldv_11_callback_reset_hw, ldv_11_container_struct_ixgbe_hw_ptr); ldv_statevar_11 = 2; } goto ldv_63418; case_116: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_11_115(ldv_11_callback_set_fw_drv_ver, ldv_11_container_struct_ixgbe_hw_ptr, (int )ldv_11_ldv_param_115_1_default, (int )ldv_11_ldv_param_115_2_default, (int )ldv_11_ldv_param_115_3_default, (int )ldv_11_ldv_param_115_4_default); ldv_statevar_11 = 2; } goto ldv_63418; case_118: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_11_118(ldv_11_callback_set_lan_id, ldv_11_container_struct_ixgbe_hw_ptr); ldv_statevar_11 = 2; } goto ldv_63418; case_120: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_11_119(ldv_11_callback_set_mac_anti_spoofing, ldv_11_container_struct_ixgbe_hw_ptr, (int )ldv_11_ldv_param_119_1_default, ldv_11_ldv_param_119_2_default); ldv_statevar_11 = 2; } goto ldv_63418; case_123: /* CIL Label */ { tmp___20 = ldv_xmalloc(1UL); ldv_11_ldv_param_122_2_default = (unsigned char *)tmp___20; ldv_dummy_resourceless_instance_callback_11_122(ldv_11_callback_set_rar, ldv_11_container_struct_ixgbe_hw_ptr, ldv_11_ldv_param_122_1_default, ldv_11_ldv_param_122_2_default, ldv_11_ldv_param_122_3_default, ldv_11_ldv_param_122_4_default); ldv_free((void *)ldv_11_ldv_param_122_2_default); ldv_statevar_11 = 2; } goto ldv_63418; case_126: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_11_125(ldv_11_callback_set_rxpba, ldv_11_container_struct_ixgbe_hw_ptr, ldv_11_ldv_param_125_1_default, ldv_11_ldv_param_125_2_default, ldv_11_ldv_param_125_3_default); ldv_statevar_11 = 2; } goto ldv_63418; case_129: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_11_128(ldv_11_callback_set_vfta, ldv_11_container_struct_ixgbe_hw_ptr, ldv_11_ldv_param_128_1_default, ldv_11_ldv_param_128_2_default, (int )ldv_11_ldv_param_128_3_default); ldv_statevar_11 = 2; } goto ldv_63418; case_132: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_11_131(ldv_11_callback_set_vlan_anti_spoofing, ldv_11_container_struct_ixgbe_hw_ptr, (int )ldv_11_ldv_param_131_1_default, ldv_11_ldv_param_131_2_default); ldv_statevar_11 = 2; } goto ldv_63418; case_135: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_11_134(ldv_11_callback_set_vmdq, ldv_11_container_struct_ixgbe_hw_ptr, ldv_11_ldv_param_134_1_default, ldv_11_ldv_param_134_2_default); ldv_statevar_11 = 2; } goto ldv_63418; case_138: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_11_137(ldv_11_callback_set_vmdq_san_mac, ldv_11_container_struct_ixgbe_hw_ptr, ldv_11_ldv_param_137_1_default); ldv_statevar_11 = 2; } goto ldv_63418; case_140: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_11_140(ldv_11_callback_setup_link, ldv_11_container_struct_ixgbe_hw_ptr); ldv_statevar_11 = 2; } goto ldv_63418; case_142: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_11_141(ldv_11_callback_setup_link_speed, ldv_11_container_struct_ixgbe_hw_ptr, ldv_11_ldv_param_141_1_default, (int )ldv_11_ldv_param_141_2_default); ldv_statevar_11 = 2; } goto ldv_63418; case_144: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_11_144(ldv_11_callback_setup_sfp, ldv_11_container_struct_ixgbe_hw_ptr); ldv_statevar_11 = 2; } goto ldv_63418; case_145: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_11_145(ldv_11_callback_start_hw, ldv_11_container_struct_ixgbe_hw_ptr); ldv_statevar_11 = 2; } goto ldv_63418; case_146: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_11_146(ldv_11_callback_stop_adapter, ldv_11_container_struct_ixgbe_hw_ptr); ldv_statevar_11 = 2; } goto ldv_63418; case_147: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_11_147(ldv_11_callback_stop_link_on_d3, ldv_11_container_struct_ixgbe_hw_ptr); ldv_statevar_11 = 2; } goto ldv_63418; case_148: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_11_148(ldv_11_callback_update_checksum, ldv_11_container_struct_ixgbe_hw_ptr); ldv_statevar_11 = 2; } goto ldv_63418; case_149: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_11_149(ldv_11_callback_update_mc_addr_list, ldv_11_container_struct_ixgbe_hw_ptr, ldv_11_container_struct_net_device_ptr); ldv_statevar_11 = 2; } goto ldv_63418; case_151: /* CIL Label */ { tmp___21 = ldv_xmalloc(2UL); ldv_11_ldv_param_150_1_default = (unsigned short *)tmp___21; ldv_dummy_resourceless_instance_callback_11_150(ldv_11_callback_validate_checksum, ldv_11_container_struct_ixgbe_hw_ptr, ldv_11_ldv_param_150_1_default); ldv_free((void *)ldv_11_ldv_param_150_1_default); ldv_statevar_11 = 2; } goto ldv_63418; case_154: /* CIL Label */ { tmp___22 = ldv_xmalloc(4UL); ldv_11_ldv_param_153_1_default = (unsigned int *)tmp___22; ldv_dummy_resourceless_instance_callback_11_153(ldv_11_callback_write, ldv_11_container_struct_ixgbe_hw_ptr, ldv_11_ldv_param_153_1_default, (int )ldv_11_ldv_param_153_2_default, (int )ldv_11_ldv_param_153_3_default); ldv_free((void *)ldv_11_ldv_param_153_1_default); ldv_statevar_11 = 2; } goto ldv_63418; case_157: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_11_156(ldv_11_callback_write_analog_reg8, ldv_11_container_struct_ixgbe_hw_ptr, ldv_11_ldv_param_156_1_default, (int )ldv_11_ldv_param_156_2_default); ldv_statevar_11 = 2; } goto ldv_63418; case_160: /* CIL Label */ { tmp___23 = ldv_xmalloc(2UL); ldv_11_ldv_param_159_3_default = (unsigned short *)tmp___23; ldv_dummy_resourceless_instance_callback_11_159(ldv_11_callback_write_buffer, ldv_11_container_struct_ixgbe_hw_ptr, (int )ldv_11_ldv_param_159_1_default, (int )ldv_11_ldv_param_159_2_default, ldv_11_ldv_param_159_3_default); ldv_free((void *)ldv_11_ldv_param_159_3_default); ldv_statevar_11 = 2; } goto ldv_63418; case_163: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_11_162(ldv_11_callback_write_i2c_byte, ldv_11_container_struct_ixgbe_hw_ptr, (int )ldv_11_ldv_param_162_1_default, (int )ldv_11_ldv_param_162_2_default, (int )ldv_11_ldv_param_162_3_default); ldv_statevar_11 = 2; } goto ldv_63418; case_166: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_11_165(ldv_11_callback_write_i2c_eeprom, ldv_11_container_struct_ixgbe_hw_ptr, (int )ldv_11_ldv_param_165_1_default, (int )ldv_11_ldv_param_165_2_default); ldv_statevar_11 = 2; } goto ldv_63418; case_169: /* CIL Label */ { tmp___24 = ldv_xmalloc(4UL); ldv_11_ldv_param_168_1_default = (unsigned int *)tmp___24; ldv_dummy_resourceless_instance_callback_11_168(ldv_11_callback_write_posted, ldv_11_container_struct_ixgbe_hw_ptr, ldv_11_ldv_param_168_1_default, (int )ldv_11_ldv_param_168_2_default, (int )ldv_11_ldv_param_168_3_default); ldv_free((void *)ldv_11_ldv_param_168_1_default); ldv_statevar_11 = 2; } goto ldv_63418; case_172: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_11_171(ldv_11_callback_write_reg, ldv_11_container_struct_ixgbe_hw_ptr, ldv_11_ldv_param_171_1_default, ldv_11_ldv_param_171_2_default, (int )ldv_11_ldv_param_171_3_default); ldv_statevar_11 = 2; } goto ldv_63418; case_175: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_11_174(ldv_11_callback_write_reg_mdi, ldv_11_container_struct_ixgbe_hw_ptr, ldv_11_ldv_param_174_1_default, ldv_11_ldv_param_174_2_default, (int )ldv_11_ldv_param_174_3_default); ldv_statevar_11 = 2; } goto ldv_63418; switch_default: /* CIL Label */ ; switch_break: /* CIL Label */ ; } ldv_63418: ; return; } } void ldv_struct_ixgbe_phy_operations_dummy_resourceless_instance_12(void *arg0 ) { int tmp ; int tmp___0 ; void *tmp___1 ; void *tmp___2 ; void *tmp___3 ; void *tmp___4 ; void *tmp___5 ; void *tmp___6 ; void *tmp___7 ; void *tmp___8 ; void *tmp___9 ; void *tmp___10 ; void *tmp___11 ; void *tmp___12 ; void *tmp___13 ; void *tmp___14 ; void *tmp___15 ; void *tmp___16 ; void *tmp___17 ; void *tmp___18 ; void *tmp___19 ; void *tmp___20 ; void *tmp___21 ; void *tmp___22 ; void *tmp___23 ; void *tmp___24 ; { { if (ldv_statevar_12 == 1) { goto case_1; } else { } if (ldv_statevar_12 == 2) { goto case_2; } else { } if (ldv_statevar_12 == 3) { goto case_3; } else { } if (ldv_statevar_12 == 4) { goto case_4; } else { } if (ldv_statevar_12 == 5) { goto case_5; } else { } if (ldv_statevar_12 == 7) { goto case_7; } else { } if (ldv_statevar_12 == 10) { goto case_10; } else { } if (ldv_statevar_12 == 13) { goto case_13; } else { } if (ldv_statevar_12 == 15) { goto case_15; } else { } if (ldv_statevar_12 == 17) { goto case_17; } else { } if (ldv_statevar_12 == 20) { goto case_20; } else { } if (ldv_statevar_12 == 23) { goto case_23; } else { } if (ldv_statevar_12 == 26) { goto case_26; } else { } if (ldv_statevar_12 == 28) { goto case_28; } else { } if (ldv_statevar_12 == 29) { goto case_29; } else { } if (ldv_statevar_12 == 31) { goto case_31; } else { } if (ldv_statevar_12 == 33) { goto case_33; } else { } if (ldv_statevar_12 == 35) { goto case_35; } else { } if (ldv_statevar_12 == 37) { goto case_37; } else { } if (ldv_statevar_12 == 38) { goto case_38; } else { } if (ldv_statevar_12 == 39) { goto case_39; } else { } if (ldv_statevar_12 == 40) { goto case_40; } else { } if (ldv_statevar_12 == 42) { goto case_42; } else { } if (ldv_statevar_12 == 44) { goto case_44; } else { } if (ldv_statevar_12 == 45) { goto case_45; } else { } if (ldv_statevar_12 == 47) { goto case_47; } else { } if (ldv_statevar_12 == 50) { goto case_50; } else { } if (ldv_statevar_12 == 52) { goto case_52; } else { } if (ldv_statevar_12 == 54) { goto case_54; } else { } if (ldv_statevar_12 == 57) { goto case_57; } else { } if (ldv_statevar_12 == 59) { goto case_59; } else { } if (ldv_statevar_12 == 61) { goto case_61; } else { } if (ldv_statevar_12 == 63) { goto case_63; } else { } if (ldv_statevar_12 == 64) { goto case_64; } else { } if (ldv_statevar_12 == 66) { goto case_66; } else { } if (ldv_statevar_12 == 68) { goto case_68; } else { } if (ldv_statevar_12 == 69) { goto case_69; } else { } if (ldv_statevar_12 == 70) { goto case_70; } else { } if (ldv_statevar_12 == 71) { goto case_71; } else { } if (ldv_statevar_12 == 72) { goto case_72; } else { } if (ldv_statevar_12 == 73) { goto case_73; } else { } if (ldv_statevar_12 == 74) { goto case_74; } else { } if (ldv_statevar_12 == 75) { goto case_75; } else { } if (ldv_statevar_12 == 77) { goto case_77; } else { } if (ldv_statevar_12 == 80) { goto case_80; } else { } if (ldv_statevar_12 == 82) { goto case_82; } else { } if (ldv_statevar_12 == 84) { goto case_84; } else { } if (ldv_statevar_12 == 87) { goto case_87; } else { } if (ldv_statevar_12 == 90) { goto case_90; } else { } if (ldv_statevar_12 == 93) { goto case_93; } else { } if (ldv_statevar_12 == 96) { goto case_96; } else { } if (ldv_statevar_12 == 99) { goto case_99; } else { } if (ldv_statevar_12 == 102) { goto case_102; } else { } if (ldv_statevar_12 == 105) { goto case_105; } else { } if (ldv_statevar_12 == 108) { goto case_108; } else { } if (ldv_statevar_12 == 111) { goto case_111; } else { } if (ldv_statevar_12 == 113) { goto case_113; } else { } if (ldv_statevar_12 == 114) { goto case_114; } else { } if (ldv_statevar_12 == 116) { goto case_116; } else { } if (ldv_statevar_12 == 118) { goto case_118; } else { } if (ldv_statevar_12 == 120) { goto case_120; } else { } if (ldv_statevar_12 == 123) { goto case_123; } else { } if (ldv_statevar_12 == 126) { goto case_126; } else { } if (ldv_statevar_12 == 129) { goto case_129; } else { } if (ldv_statevar_12 == 132) { goto case_132; } else { } if (ldv_statevar_12 == 135) { goto case_135; } else { } if (ldv_statevar_12 == 138) { goto case_138; } else { } if (ldv_statevar_12 == 140) { goto case_140; } else { } if (ldv_statevar_12 == 142) { goto case_142; } else { } if (ldv_statevar_12 == 144) { goto case_144; } else { } if (ldv_statevar_12 == 145) { goto case_145; } else { } if (ldv_statevar_12 == 146) { goto case_146; } else { } if (ldv_statevar_12 == 147) { goto case_147; } else { } if (ldv_statevar_12 == 148) { goto case_148; } else { } if (ldv_statevar_12 == 149) { goto case_149; } else { } if (ldv_statevar_12 == 151) { goto case_151; } else { } if (ldv_statevar_12 == 154) { goto case_154; } else { } if (ldv_statevar_12 == 157) { goto case_157; } else { } if (ldv_statevar_12 == 160) { goto case_160; } else { } if (ldv_statevar_12 == 163) { goto case_163; } else { } if (ldv_statevar_12 == 166) { goto case_166; } else { } if (ldv_statevar_12 == 169) { goto case_169; } else { } if (ldv_statevar_12 == 172) { goto case_172; } else { } if (ldv_statevar_12 == 175) { goto case_175; } else { } goto switch_default; case_1: /* CIL Label */ ; goto ldv_63507; case_2: /* CIL Label */ { tmp = ldv_undef_int(); } if (tmp != 0) { ldv_statevar_12 = 1; } else { ldv_statevar_12 = 7; } goto ldv_63507; case_3: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_12_3(ldv_12_callback_acquire_swfw_sync, ldv_12_container_struct_ixgbe_hw_ptr, (int )ldv_12_ldv_param_3_1_default); ldv_statevar_12 = 2; } goto ldv_63507; case_4: /* CIL Label */ { tmp___0 = ldv_undef_int(); } if (tmp___0 != 0) { ldv_statevar_12 = 1; } else { ldv_statevar_12 = 7; } goto ldv_63507; case_5: /* CIL Label */ ; goto ldv_63507; case_7: /* CIL Label */ { ldv_statevar_12 = ldv_switch_3(); } goto ldv_63507; case_10: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_12_9(ldv_12_callback_blink_led_start, ldv_12_container_struct_ixgbe_hw_ptr, ldv_12_ldv_param_9_1_default); ldv_statevar_12 = 2; } goto ldv_63507; case_13: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_12_12(ldv_12_callback_blink_led_stop, ldv_12_container_struct_ixgbe_hw_ptr, ldv_12_ldv_param_12_1_default); ldv_statevar_12 = 2; } goto ldv_63507; case_15: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_12_15(ldv_12_callback_calc_checksum, ldv_12_container_struct_ixgbe_hw_ptr); ldv_statevar_12 = 2; } goto ldv_63507; case_17: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_12_16(ldv_12_callback_check_for_ack, ldv_12_container_struct_ixgbe_hw_ptr, (int )ldv_12_ldv_param_16_1_default); ldv_statevar_12 = 2; } goto ldv_63507; case_20: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_12_19(ldv_12_callback_check_for_msg, ldv_12_container_struct_ixgbe_hw_ptr, (int )ldv_12_ldv_param_19_1_default); ldv_statevar_12 = 2; } goto ldv_63507; case_23: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_12_22(ldv_12_callback_check_for_rst, ldv_12_container_struct_ixgbe_hw_ptr, (int )ldv_12_ldv_param_22_1_default); ldv_statevar_12 = 2; } goto ldv_63507; case_26: /* CIL Label */ { tmp___1 = ldv_xmalloc(4UL); ldv_12_ldv_param_25_1_default = (unsigned int *)tmp___1; tmp___2 = ldv_xmalloc(1UL); ldv_12_ldv_param_25_2_default = (_Bool *)tmp___2; ldv_dummy_resourceless_instance_callback_12_25(ldv_12_callback_check_link, ldv_12_container_struct_ixgbe_hw_ptr, ldv_12_ldv_param_25_1_default, ldv_12_ldv_param_25_2_default, (int )ldv_12_ldv_param_25_3_default); ldv_free((void *)ldv_12_ldv_param_25_1_default); ldv_free((void *)ldv_12_ldv_param_25_2_default); ldv_statevar_12 = 2; } goto ldv_63507; case_28: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_12_28(ldv_12_callback_check_overtemp, ldv_12_container_struct_ixgbe_hw_ptr); ldv_statevar_12 = 2; } goto ldv_63507; case_29: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_12_29(ldv_12_callback_clear_hw_cntrs, ldv_12_container_struct_ixgbe_hw_ptr); ldv_statevar_12 = 2; } goto ldv_63507; case_31: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_12_30(ldv_12_callback_clear_rar, ldv_12_container_struct_ixgbe_hw_ptr, ldv_12_ldv_param_30_1_default); ldv_statevar_12 = 2; } goto ldv_63507; case_33: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_12_33(ldv_12_callback_clear_vfta, ldv_12_container_struct_ixgbe_hw_ptr); ldv_statevar_12 = 2; } goto ldv_63507; case_35: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_12_34(ldv_12_callback_clear_vmdq, ldv_12_container_struct_ixgbe_hw_ptr, ldv_12_ldv_param_34_1_default, ldv_12_ldv_param_34_2_default); ldv_statevar_12 = 2; } goto ldv_63507; case_37: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_12_37(ldv_12_callback_disable_mc, ldv_12_container_struct_ixgbe_hw_ptr); ldv_statevar_12 = 2; } goto ldv_63507; case_38: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_12_38(ldv_12_callback_disable_rx_buff, ldv_12_container_struct_ixgbe_hw_ptr); ldv_statevar_12 = 2; } goto ldv_63507; case_39: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_12_39(ldv_12_callback_enable_mc, ldv_12_container_struct_ixgbe_hw_ptr); ldv_statevar_12 = 2; } goto ldv_63507; case_40: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_12_40(ldv_12_callback_enable_rx_buff, ldv_12_container_struct_ixgbe_hw_ptr); ldv_statevar_12 = 2; } goto ldv_63507; case_42: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_12_41(ldv_12_callback_enable_rx_dma, ldv_12_container_struct_ixgbe_hw_ptr, ldv_12_ldv_param_41_1_default); ldv_statevar_12 = 2; } goto ldv_63507; case_44: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_12_44(ldv_12_callback_fc_enable, ldv_12_container_struct_ixgbe_hw_ptr); ldv_statevar_12 = 2; } goto ldv_63507; case_45: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_12_45(ldv_12_callback_get_bus_info, ldv_12_container_struct_ixgbe_hw_ptr); ldv_statevar_12 = 2; } goto ldv_63507; case_47: /* CIL Label */ { tmp___3 = ldv_xmalloc(2UL); ldv_12_ldv_param_46_1_default = (unsigned short *)tmp___3; ldv_dummy_resourceless_instance_callback_12_46(ldv_12_callback_get_device_caps, ldv_12_container_struct_ixgbe_hw_ptr, ldv_12_ldv_param_46_1_default); ldv_free((void *)ldv_12_ldv_param_46_1_default); ldv_statevar_12 = 2; } goto ldv_63507; case_50: /* CIL Label */ { tmp___4 = ldv_xmalloc(2UL); ldv_12_ldv_param_49_1_default = (unsigned short *)tmp___4; ldv_dummy_resourceless_instance_callback_12_49(ldv_12_callback_get_firmware_version, ldv_12_container_struct_ixgbe_hw_ptr, ldv_12_ldv_param_49_1_default); ldv_free((void *)ldv_12_ldv_param_49_1_default); ldv_statevar_12 = 2; } goto ldv_63507; case_52: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_12_52(ldv_12_callback_get_invariants, ldv_12_container_struct_ixgbe_hw_ptr); ldv_statevar_12 = 2; } goto ldv_63507; case_54: /* CIL Label */ { tmp___5 = ldv_xmalloc(4UL); ldv_12_ldv_param_53_1_default = (unsigned int *)tmp___5; tmp___6 = ldv_xmalloc(1UL); ldv_12_ldv_param_53_2_default = (_Bool *)tmp___6; ldv_dummy_resourceless_instance_callback_12_53(ldv_12_callback_get_link_capabilities, ldv_12_container_struct_ixgbe_hw_ptr, ldv_12_ldv_param_53_1_default, ldv_12_ldv_param_53_2_default); ldv_free((void *)ldv_12_ldv_param_53_1_default); ldv_free((void *)ldv_12_ldv_param_53_2_default); ldv_statevar_12 = 2; } goto ldv_63507; case_57: /* CIL Label */ { tmp___7 = ldv_xmalloc(1UL); ldv_12_ldv_param_56_1_default = (unsigned char *)tmp___7; ldv_dummy_resourceless_instance_callback_12_56(ldv_12_callback_get_mac_addr, ldv_12_container_struct_ixgbe_hw_ptr, ldv_12_ldv_param_56_1_default); ldv_free((void *)ldv_12_ldv_param_56_1_default); ldv_statevar_12 = 2; } goto ldv_63507; case_59: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_12_59(ldv_12_callback_get_media_type, ldv_12_container_struct_ixgbe_hw_ptr); ldv_statevar_12 = 2; } goto ldv_63507; case_61: /* CIL Label */ { tmp___8 = ldv_xmalloc(1UL); ldv_12_ldv_param_60_1_default = (unsigned char *)tmp___8; ldv_dummy_resourceless_instance_callback_12_60(ldv_12_callback_get_san_mac_addr, ldv_12_container_struct_ixgbe_hw_ptr, ldv_12_ldv_param_60_1_default); ldv_free((void *)ldv_12_ldv_param_60_1_default); ldv_statevar_12 = 2; } goto ldv_63507; case_63: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_12_63(ldv_12_callback_get_supported_physical_layer, ldv_12_container_struct_ixgbe_hw_ptr); ldv_statevar_12 = 2; } goto ldv_63507; case_64: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_12_64(ldv_12_callback_get_thermal_sensor_data, ldv_12_container_struct_ixgbe_hw_ptr); ldv_statevar_12 = 2; } goto ldv_63507; case_66: /* CIL Label */ { tmp___9 = ldv_xmalloc(2UL); ldv_12_ldv_param_65_1_default = (unsigned short *)tmp___9; tmp___10 = ldv_xmalloc(2UL); ldv_12_ldv_param_65_2_default = (unsigned short *)tmp___10; ldv_dummy_resourceless_instance_callback_12_65(ldv_12_callback_get_wwn_prefix, ldv_12_container_struct_ixgbe_hw_ptr, ldv_12_ldv_param_65_1_default, ldv_12_ldv_param_65_2_default); ldv_free((void *)ldv_12_ldv_param_65_1_default); ldv_free((void *)ldv_12_ldv_param_65_2_default); ldv_statevar_12 = 2; } goto ldv_63507; case_68: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_12_68(ldv_12_callback_identify, ldv_12_container_struct_ixgbe_hw_ptr); ldv_statevar_12 = 2; } goto ldv_63507; case_69: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_12_69(ldv_12_callback_identify_sfp, ldv_12_container_struct_ixgbe_hw_ptr); ldv_statevar_12 = 2; } goto ldv_63507; case_70: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_12_70(ldv_12_callback_init, ldv_12_container_struct_ixgbe_hw_ptr); ldv_statevar_12 = 2; } goto ldv_63507; case_71: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_12_71(ldv_12_callback_init_hw, ldv_12_container_struct_ixgbe_hw_ptr); ldv_statevar_12 = 2; } goto ldv_63507; case_72: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_12_72(ldv_12_callback_init_params, ldv_12_container_struct_ixgbe_hw_ptr); ldv_statevar_12 = 2; } goto ldv_63507; case_73: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_12_73(ldv_12_callback_init_rx_addrs, ldv_12_container_struct_ixgbe_hw_ptr); ldv_statevar_12 = 2; } goto ldv_63507; case_74: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_12_74(ldv_12_callback_init_thermal_sensor_thresh, ldv_12_container_struct_ixgbe_hw_ptr); ldv_statevar_12 = 2; } goto ldv_63507; case_75: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_12_75(ldv_12_callback_init_uta_tables, ldv_12_container_struct_ixgbe_hw_ptr); ldv_statevar_12 = 2; } goto ldv_63507; case_77: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_12_76(ldv_12_callback_led_off, ldv_12_container_struct_ixgbe_hw_ptr, ldv_12_ldv_param_76_1_default); ldv_statevar_12 = 2; } goto ldv_63507; case_80: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_12_79(ldv_12_callback_led_on, ldv_12_container_struct_ixgbe_hw_ptr, ldv_12_ldv_param_79_1_default); ldv_statevar_12 = 2; } goto ldv_63507; case_82: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_12_82(ldv_12_callback_mng_fw_enabled, ldv_12_container_struct_ixgbe_hw_ptr); ldv_statevar_12 = 2; } goto ldv_63507; case_84: /* CIL Label */ { tmp___11 = ldv_xmalloc(4UL); ldv_12_ldv_param_83_1_default = (unsigned int *)tmp___11; ldv_dummy_resourceless_instance_callback_12_83(ldv_12_callback_read, ldv_12_container_struct_ixgbe_hw_ptr, ldv_12_ldv_param_83_1_default, (int )ldv_12_ldv_param_83_2_default, (int )ldv_12_ldv_param_83_3_default); ldv_free((void *)ldv_12_ldv_param_83_1_default); ldv_statevar_12 = 2; } goto ldv_63507; case_87: /* CIL Label */ { tmp___12 = ldv_xmalloc(1UL); ldv_12_ldv_param_86_2_default = (unsigned char *)tmp___12; ldv_dummy_resourceless_instance_callback_12_86(ldv_12_callback_read_analog_reg8, ldv_12_container_struct_ixgbe_hw_ptr, ldv_12_ldv_param_86_1_default, ldv_12_ldv_param_86_2_default); ldv_free((void *)ldv_12_ldv_param_86_2_default); ldv_statevar_12 = 2; } goto ldv_63507; case_90: /* CIL Label */ { tmp___13 = ldv_xmalloc(2UL); ldv_12_ldv_param_89_3_default = (unsigned short *)tmp___13; ldv_dummy_resourceless_instance_callback_12_89(ldv_12_callback_read_buffer, ldv_12_container_struct_ixgbe_hw_ptr, (int )ldv_12_ldv_param_89_1_default, (int )ldv_12_ldv_param_89_2_default, ldv_12_ldv_param_89_3_default); ldv_free((void *)ldv_12_ldv_param_89_3_default); ldv_statevar_12 = 2; } goto ldv_63507; case_93: /* CIL Label */ { tmp___14 = ldv_xmalloc(1UL); ldv_12_ldv_param_92_3_default = (unsigned char *)tmp___14; ldv_dummy_resourceless_instance_callback_12_92(ldv_12_callback_read_i2c_byte, ldv_12_container_struct_ixgbe_hw_ptr, (int )ldv_12_ldv_param_92_1_default, (int )ldv_12_ldv_param_92_2_default, ldv_12_ldv_param_92_3_default); ldv_free((void *)ldv_12_ldv_param_92_3_default); ldv_statevar_12 = 2; } goto ldv_63507; case_96: /* CIL Label */ { tmp___15 = ldv_xmalloc(1UL); ldv_12_ldv_param_95_2_default = (unsigned char *)tmp___15; ldv_dummy_resourceless_instance_callback_12_95(ldv_12_callback_read_i2c_eeprom, ldv_12_container_struct_ixgbe_hw_ptr, (int )ldv_12_ldv_param_95_1_default, ldv_12_ldv_param_95_2_default); ldv_free((void *)ldv_12_ldv_param_95_2_default); ldv_statevar_12 = 2; } goto ldv_63507; case_99: /* CIL Label */ { tmp___16 = ldv_xmalloc(1UL); ldv_12_ldv_param_98_2_default = (unsigned char *)tmp___16; ldv_dummy_resourceless_instance_callback_12_98(ldv_12_callback_read_i2c_sff8472, ldv_12_container_struct_ixgbe_hw_ptr, (int )ldv_12_ldv_param_98_1_default, ldv_12_ldv_param_98_2_default); ldv_free((void *)ldv_12_ldv_param_98_2_default); ldv_statevar_12 = 2; } goto ldv_63507; case_102: /* CIL Label */ { tmp___17 = ldv_xmalloc(4UL); ldv_12_ldv_param_101_1_default = (unsigned int *)tmp___17; ldv_dummy_resourceless_instance_callback_12_101(ldv_12_callback_read_posted, ldv_12_container_struct_ixgbe_hw_ptr, ldv_12_ldv_param_101_1_default, (int )ldv_12_ldv_param_101_2_default, (int )ldv_12_ldv_param_101_3_default); ldv_free((void *)ldv_12_ldv_param_101_1_default); ldv_statevar_12 = 2; } goto ldv_63507; case_105: /* CIL Label */ { tmp___18 = ldv_xmalloc(2UL); ldv_12_ldv_param_104_3_default = (unsigned short *)tmp___18; ldv_dummy_resourceless_instance_callback_12_104(ldv_12_callback_read_reg, ldv_12_container_struct_ixgbe_hw_ptr, ldv_12_ldv_param_104_1_default, ldv_12_ldv_param_104_2_default, ldv_12_ldv_param_104_3_default); ldv_free((void *)ldv_12_ldv_param_104_3_default); ldv_statevar_12 = 2; } goto ldv_63507; case_108: /* CIL Label */ { tmp___19 = ldv_xmalloc(2UL); ldv_12_ldv_param_107_3_default = (unsigned short *)tmp___19; ldv_dummy_resourceless_instance_callback_12_107(ldv_12_callback_read_reg_mdi, ldv_12_container_struct_ixgbe_hw_ptr, ldv_12_ldv_param_107_1_default, ldv_12_ldv_param_107_2_default, ldv_12_ldv_param_107_3_default); ldv_free((void *)ldv_12_ldv_param_107_3_default); ldv_statevar_12 = 2; } goto ldv_63507; case_111: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_12_110(ldv_12_callback_release_swfw_sync, ldv_12_container_struct_ixgbe_hw_ptr, (int )ldv_12_ldv_param_110_1_default); ldv_statevar_12 = 2; } goto ldv_63507; case_113: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_12_113(ldv_12_callback_reset, ldv_12_container_struct_ixgbe_hw_ptr); ldv_statevar_12 = 2; } goto ldv_63507; case_114: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_12_114(ldv_12_callback_reset_hw, ldv_12_container_struct_ixgbe_hw_ptr); ldv_statevar_12 = 2; } goto ldv_63507; case_116: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_12_115(ldv_12_callback_set_fw_drv_ver, ldv_12_container_struct_ixgbe_hw_ptr, (int )ldv_12_ldv_param_115_1_default, (int )ldv_12_ldv_param_115_2_default, (int )ldv_12_ldv_param_115_3_default, (int )ldv_12_ldv_param_115_4_default); ldv_statevar_12 = 2; } goto ldv_63507; case_118: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_12_118(ldv_12_callback_set_lan_id, ldv_12_container_struct_ixgbe_hw_ptr); ldv_statevar_12 = 2; } goto ldv_63507; case_120: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_12_119(ldv_12_callback_set_mac_anti_spoofing, ldv_12_container_struct_ixgbe_hw_ptr, (int )ldv_12_ldv_param_119_1_default, ldv_12_ldv_param_119_2_default); ldv_statevar_12 = 2; } goto ldv_63507; case_123: /* CIL Label */ { tmp___20 = ldv_xmalloc(1UL); ldv_12_ldv_param_122_2_default = (unsigned char *)tmp___20; ldv_dummy_resourceless_instance_callback_12_122(ldv_12_callback_set_rar, ldv_12_container_struct_ixgbe_hw_ptr, ldv_12_ldv_param_122_1_default, ldv_12_ldv_param_122_2_default, ldv_12_ldv_param_122_3_default, ldv_12_ldv_param_122_4_default); ldv_free((void *)ldv_12_ldv_param_122_2_default); ldv_statevar_12 = 2; } goto ldv_63507; case_126: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_12_125(ldv_12_callback_set_rxpba, ldv_12_container_struct_ixgbe_hw_ptr, ldv_12_ldv_param_125_1_default, ldv_12_ldv_param_125_2_default, ldv_12_ldv_param_125_3_default); ldv_statevar_12 = 2; } goto ldv_63507; case_129: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_12_128(ldv_12_callback_set_vfta, ldv_12_container_struct_ixgbe_hw_ptr, ldv_12_ldv_param_128_1_default, ldv_12_ldv_param_128_2_default, (int )ldv_12_ldv_param_128_3_default); ldv_statevar_12 = 2; } goto ldv_63507; case_132: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_12_131(ldv_12_callback_set_vlan_anti_spoofing, ldv_12_container_struct_ixgbe_hw_ptr, (int )ldv_12_ldv_param_131_1_default, ldv_12_ldv_param_131_2_default); ldv_statevar_12 = 2; } goto ldv_63507; case_135: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_12_134(ldv_12_callback_set_vmdq, ldv_12_container_struct_ixgbe_hw_ptr, ldv_12_ldv_param_134_1_default, ldv_12_ldv_param_134_2_default); ldv_statevar_12 = 2; } goto ldv_63507; case_138: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_12_137(ldv_12_callback_set_vmdq_san_mac, ldv_12_container_struct_ixgbe_hw_ptr, ldv_12_ldv_param_137_1_default); ldv_statevar_12 = 2; } goto ldv_63507; case_140: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_12_140(ldv_12_callback_setup_link, ldv_12_container_struct_ixgbe_hw_ptr); ldv_statevar_12 = 2; } goto ldv_63507; case_142: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_12_141(ldv_12_callback_setup_link_speed, ldv_12_container_struct_ixgbe_hw_ptr, ldv_12_ldv_param_141_1_default, (int )ldv_12_ldv_param_141_2_default); ldv_statevar_12 = 2; } goto ldv_63507; case_144: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_12_144(ldv_12_callback_setup_sfp, ldv_12_container_struct_ixgbe_hw_ptr); ldv_statevar_12 = 2; } goto ldv_63507; case_145: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_12_145(ldv_12_callback_start_hw, ldv_12_container_struct_ixgbe_hw_ptr); ldv_statevar_12 = 2; } goto ldv_63507; case_146: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_12_146(ldv_12_callback_stop_adapter, ldv_12_container_struct_ixgbe_hw_ptr); ldv_statevar_12 = 2; } goto ldv_63507; case_147: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_12_147(ldv_12_callback_stop_link_on_d3, ldv_12_container_struct_ixgbe_hw_ptr); ldv_statevar_12 = 2; } goto ldv_63507; case_148: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_12_148(ldv_12_callback_update_checksum, ldv_12_container_struct_ixgbe_hw_ptr); ldv_statevar_12 = 2; } goto ldv_63507; case_149: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_12_149(ldv_12_callback_update_mc_addr_list, ldv_12_container_struct_ixgbe_hw_ptr, ldv_12_container_struct_net_device_ptr); ldv_statevar_12 = 2; } goto ldv_63507; case_151: /* CIL Label */ { tmp___21 = ldv_xmalloc(2UL); ldv_12_ldv_param_150_1_default = (unsigned short *)tmp___21; ldv_dummy_resourceless_instance_callback_12_150(ldv_12_callback_validate_checksum, ldv_12_container_struct_ixgbe_hw_ptr, ldv_12_ldv_param_150_1_default); ldv_free((void *)ldv_12_ldv_param_150_1_default); ldv_statevar_12 = 2; } goto ldv_63507; case_154: /* CIL Label */ { tmp___22 = ldv_xmalloc(4UL); ldv_12_ldv_param_153_1_default = (unsigned int *)tmp___22; ldv_dummy_resourceless_instance_callback_12_153(ldv_12_callback_write, ldv_12_container_struct_ixgbe_hw_ptr, ldv_12_ldv_param_153_1_default, (int )ldv_12_ldv_param_153_2_default, (int )ldv_12_ldv_param_153_3_default); ldv_free((void *)ldv_12_ldv_param_153_1_default); ldv_statevar_12 = 2; } goto ldv_63507; case_157: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_12_156(ldv_12_callback_write_analog_reg8, ldv_12_container_struct_ixgbe_hw_ptr, ldv_12_ldv_param_156_1_default, (int )ldv_12_ldv_param_156_2_default); ldv_statevar_12 = 2; } goto ldv_63507; case_160: /* CIL Label */ { tmp___23 = ldv_xmalloc(2UL); ldv_12_ldv_param_159_3_default = (unsigned short *)tmp___23; ldv_dummy_resourceless_instance_callback_12_159(ldv_12_callback_write_buffer, ldv_12_container_struct_ixgbe_hw_ptr, (int )ldv_12_ldv_param_159_1_default, (int )ldv_12_ldv_param_159_2_default, ldv_12_ldv_param_159_3_default); ldv_free((void *)ldv_12_ldv_param_159_3_default); ldv_statevar_12 = 2; } goto ldv_63507; case_163: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_12_162(ldv_12_callback_write_i2c_byte, ldv_12_container_struct_ixgbe_hw_ptr, (int )ldv_12_ldv_param_162_1_default, (int )ldv_12_ldv_param_162_2_default, (int )ldv_12_ldv_param_162_3_default); ldv_statevar_12 = 2; } goto ldv_63507; case_166: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_12_165(ldv_12_callback_write_i2c_eeprom, ldv_12_container_struct_ixgbe_hw_ptr, (int )ldv_12_ldv_param_165_1_default, (int )ldv_12_ldv_param_165_2_default); ldv_statevar_12 = 2; } goto ldv_63507; case_169: /* CIL Label */ { tmp___24 = ldv_xmalloc(4UL); ldv_12_ldv_param_168_1_default = (unsigned int *)tmp___24; ldv_dummy_resourceless_instance_callback_12_168(ldv_12_callback_write_posted, ldv_12_container_struct_ixgbe_hw_ptr, ldv_12_ldv_param_168_1_default, (int )ldv_12_ldv_param_168_2_default, (int )ldv_12_ldv_param_168_3_default); ldv_free((void *)ldv_12_ldv_param_168_1_default); ldv_statevar_12 = 2; } goto ldv_63507; case_172: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_12_171(ldv_12_callback_write_reg, ldv_12_container_struct_ixgbe_hw_ptr, ldv_12_ldv_param_171_1_default, ldv_12_ldv_param_171_2_default, (int )ldv_12_ldv_param_171_3_default); ldv_statevar_12 = 2; } goto ldv_63507; case_175: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_12_174(ldv_12_callback_write_reg_mdi, ldv_12_container_struct_ixgbe_hw_ptr, ldv_12_ldv_param_174_1_default, ldv_12_ldv_param_174_2_default, (int )ldv_12_ldv_param_174_3_default); ldv_statevar_12 = 2; } goto ldv_63507; switch_default: /* CIL Label */ ; switch_break: /* CIL Label */ ; } ldv_63507: ; return; } } void ldv_struct_ixgbe_phy_operations_dummy_resourceless_instance_13(void *arg0 ) { int tmp ; int tmp___0 ; void *tmp___1 ; void *tmp___2 ; void *tmp___3 ; void *tmp___4 ; void *tmp___5 ; void *tmp___6 ; void *tmp___7 ; void *tmp___8 ; void *tmp___9 ; void *tmp___10 ; void *tmp___11 ; void *tmp___12 ; void *tmp___13 ; void *tmp___14 ; void *tmp___15 ; void *tmp___16 ; void *tmp___17 ; void *tmp___18 ; void *tmp___19 ; void *tmp___20 ; void *tmp___21 ; void *tmp___22 ; void *tmp___23 ; void *tmp___24 ; { { if (ldv_statevar_13 == 1) { goto case_1; } else { } if (ldv_statevar_13 == 2) { goto case_2; } else { } if (ldv_statevar_13 == 3) { goto case_3; } else { } if (ldv_statevar_13 == 4) { goto case_4; } else { } if (ldv_statevar_13 == 5) { goto case_5; } else { } if (ldv_statevar_13 == 7) { goto case_7; } else { } if (ldv_statevar_13 == 10) { goto case_10; } else { } if (ldv_statevar_13 == 13) { goto case_13; } else { } if (ldv_statevar_13 == 15) { goto case_15; } else { } if (ldv_statevar_13 == 17) { goto case_17; } else { } if (ldv_statevar_13 == 20) { goto case_20; } else { } if (ldv_statevar_13 == 23) { goto case_23; } else { } if (ldv_statevar_13 == 26) { goto case_26; } else { } if (ldv_statevar_13 == 28) { goto case_28; } else { } if (ldv_statevar_13 == 29) { goto case_29; } else { } if (ldv_statevar_13 == 31) { goto case_31; } else { } if (ldv_statevar_13 == 33) { goto case_33; } else { } if (ldv_statevar_13 == 35) { goto case_35; } else { } if (ldv_statevar_13 == 37) { goto case_37; } else { } if (ldv_statevar_13 == 38) { goto case_38; } else { } if (ldv_statevar_13 == 39) { goto case_39; } else { } if (ldv_statevar_13 == 40) { goto case_40; } else { } if (ldv_statevar_13 == 42) { goto case_42; } else { } if (ldv_statevar_13 == 44) { goto case_44; } else { } if (ldv_statevar_13 == 45) { goto case_45; } else { } if (ldv_statevar_13 == 47) { goto case_47; } else { } if (ldv_statevar_13 == 50) { goto case_50; } else { } if (ldv_statevar_13 == 52) { goto case_52; } else { } if (ldv_statevar_13 == 54) { goto case_54; } else { } if (ldv_statevar_13 == 57) { goto case_57; } else { } if (ldv_statevar_13 == 59) { goto case_59; } else { } if (ldv_statevar_13 == 61) { goto case_61; } else { } if (ldv_statevar_13 == 63) { goto case_63; } else { } if (ldv_statevar_13 == 64) { goto case_64; } else { } if (ldv_statevar_13 == 66) { goto case_66; } else { } if (ldv_statevar_13 == 68) { goto case_68; } else { } if (ldv_statevar_13 == 69) { goto case_69; } else { } if (ldv_statevar_13 == 70) { goto case_70; } else { } if (ldv_statevar_13 == 71) { goto case_71; } else { } if (ldv_statevar_13 == 72) { goto case_72; } else { } if (ldv_statevar_13 == 73) { goto case_73; } else { } if (ldv_statevar_13 == 74) { goto case_74; } else { } if (ldv_statevar_13 == 75) { goto case_75; } else { } if (ldv_statevar_13 == 77) { goto case_77; } else { } if (ldv_statevar_13 == 80) { goto case_80; } else { } if (ldv_statevar_13 == 82) { goto case_82; } else { } if (ldv_statevar_13 == 84) { goto case_84; } else { } if (ldv_statevar_13 == 87) { goto case_87; } else { } if (ldv_statevar_13 == 90) { goto case_90; } else { } if (ldv_statevar_13 == 93) { goto case_93; } else { } if (ldv_statevar_13 == 96) { goto case_96; } else { } if (ldv_statevar_13 == 99) { goto case_99; } else { } if (ldv_statevar_13 == 102) { goto case_102; } else { } if (ldv_statevar_13 == 105) { goto case_105; } else { } if (ldv_statevar_13 == 108) { goto case_108; } else { } if (ldv_statevar_13 == 111) { goto case_111; } else { } if (ldv_statevar_13 == 113) { goto case_113; } else { } if (ldv_statevar_13 == 114) { goto case_114; } else { } if (ldv_statevar_13 == 116) { goto case_116; } else { } if (ldv_statevar_13 == 118) { goto case_118; } else { } if (ldv_statevar_13 == 120) { goto case_120; } else { } if (ldv_statevar_13 == 123) { goto case_123; } else { } if (ldv_statevar_13 == 126) { goto case_126; } else { } if (ldv_statevar_13 == 129) { goto case_129; } else { } if (ldv_statevar_13 == 132) { goto case_132; } else { } if (ldv_statevar_13 == 135) { goto case_135; } else { } if (ldv_statevar_13 == 138) { goto case_138; } else { } if (ldv_statevar_13 == 140) { goto case_140; } else { } if (ldv_statevar_13 == 142) { goto case_142; } else { } if (ldv_statevar_13 == 144) { goto case_144; } else { } if (ldv_statevar_13 == 145) { goto case_145; } else { } if (ldv_statevar_13 == 146) { goto case_146; } else { } if (ldv_statevar_13 == 147) { goto case_147; } else { } if (ldv_statevar_13 == 148) { goto case_148; } else { } if (ldv_statevar_13 == 149) { goto case_149; } else { } if (ldv_statevar_13 == 151) { goto case_151; } else { } if (ldv_statevar_13 == 154) { goto case_154; } else { } if (ldv_statevar_13 == 157) { goto case_157; } else { } if (ldv_statevar_13 == 160) { goto case_160; } else { } if (ldv_statevar_13 == 163) { goto case_163; } else { } if (ldv_statevar_13 == 166) { goto case_166; } else { } if (ldv_statevar_13 == 169) { goto case_169; } else { } if (ldv_statevar_13 == 172) { goto case_172; } else { } if (ldv_statevar_13 == 175) { goto case_175; } else { } goto switch_default; case_1: /* CIL Label */ ; goto ldv_63596; case_2: /* CIL Label */ { tmp = ldv_undef_int(); } if (tmp != 0) { ldv_statevar_13 = 1; } else { ldv_statevar_13 = 7; } goto ldv_63596; case_3: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_13_3(ldv_13_callback_acquire_swfw_sync, ldv_13_container_struct_ixgbe_hw_ptr, (int )ldv_13_ldv_param_3_1_default); ldv_statevar_13 = 2; } goto ldv_63596; case_4: /* CIL Label */ { tmp___0 = ldv_undef_int(); } if (tmp___0 != 0) { ldv_statevar_13 = 1; } else { ldv_statevar_13 = 7; } goto ldv_63596; case_5: /* CIL Label */ ; goto ldv_63596; case_7: /* CIL Label */ { ldv_statevar_13 = ldv_switch_3(); } goto ldv_63596; case_10: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_13_9(ldv_13_callback_blink_led_start, ldv_13_container_struct_ixgbe_hw_ptr, ldv_13_ldv_param_9_1_default); ldv_statevar_13 = 2; } goto ldv_63596; case_13: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_13_12(ldv_13_callback_blink_led_stop, ldv_13_container_struct_ixgbe_hw_ptr, ldv_13_ldv_param_12_1_default); ldv_statevar_13 = 2; } goto ldv_63596; case_15: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_13_15(ldv_13_callback_calc_checksum, ldv_13_container_struct_ixgbe_hw_ptr); ldv_statevar_13 = 2; } goto ldv_63596; case_17: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_13_16(ldv_13_callback_check_for_ack, ldv_13_container_struct_ixgbe_hw_ptr, (int )ldv_13_ldv_param_16_1_default); ldv_statevar_13 = 2; } goto ldv_63596; case_20: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_13_19(ldv_13_callback_check_for_msg, ldv_13_container_struct_ixgbe_hw_ptr, (int )ldv_13_ldv_param_19_1_default); ldv_statevar_13 = 2; } goto ldv_63596; case_23: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_13_22(ldv_13_callback_check_for_rst, ldv_13_container_struct_ixgbe_hw_ptr, (int )ldv_13_ldv_param_22_1_default); ldv_statevar_13 = 2; } goto ldv_63596; case_26: /* CIL Label */ { tmp___1 = ldv_xmalloc(4UL); ldv_13_ldv_param_25_1_default = (unsigned int *)tmp___1; tmp___2 = ldv_xmalloc(1UL); ldv_13_ldv_param_25_2_default = (_Bool *)tmp___2; ldv_dummy_resourceless_instance_callback_13_25(ldv_13_callback_check_link, ldv_13_container_struct_ixgbe_hw_ptr, ldv_13_ldv_param_25_1_default, ldv_13_ldv_param_25_2_default, (int )ldv_13_ldv_param_25_3_default); ldv_free((void *)ldv_13_ldv_param_25_1_default); ldv_free((void *)ldv_13_ldv_param_25_2_default); ldv_statevar_13 = 2; } goto ldv_63596; case_28: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_13_28(ldv_13_callback_check_overtemp, ldv_13_container_struct_ixgbe_hw_ptr); ldv_statevar_13 = 2; } goto ldv_63596; case_29: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_13_29(ldv_13_callback_clear_hw_cntrs, ldv_13_container_struct_ixgbe_hw_ptr); ldv_statevar_13 = 2; } goto ldv_63596; case_31: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_13_30(ldv_13_callback_clear_rar, ldv_13_container_struct_ixgbe_hw_ptr, ldv_13_ldv_param_30_1_default); ldv_statevar_13 = 2; } goto ldv_63596; case_33: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_13_33(ldv_13_callback_clear_vfta, ldv_13_container_struct_ixgbe_hw_ptr); ldv_statevar_13 = 2; } goto ldv_63596; case_35: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_13_34(ldv_13_callback_clear_vmdq, ldv_13_container_struct_ixgbe_hw_ptr, ldv_13_ldv_param_34_1_default, ldv_13_ldv_param_34_2_default); ldv_statevar_13 = 2; } goto ldv_63596; case_37: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_13_37(ldv_13_callback_disable_mc, ldv_13_container_struct_ixgbe_hw_ptr); ldv_statevar_13 = 2; } goto ldv_63596; case_38: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_13_38(ldv_13_callback_disable_rx_buff, ldv_13_container_struct_ixgbe_hw_ptr); ldv_statevar_13 = 2; } goto ldv_63596; case_39: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_13_39(ldv_13_callback_enable_mc, ldv_13_container_struct_ixgbe_hw_ptr); ldv_statevar_13 = 2; } goto ldv_63596; case_40: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_13_40(ldv_13_callback_enable_rx_buff, ldv_13_container_struct_ixgbe_hw_ptr); ldv_statevar_13 = 2; } goto ldv_63596; case_42: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_13_41(ldv_13_callback_enable_rx_dma, ldv_13_container_struct_ixgbe_hw_ptr, ldv_13_ldv_param_41_1_default); ldv_statevar_13 = 2; } goto ldv_63596; case_44: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_13_44(ldv_13_callback_fc_enable, ldv_13_container_struct_ixgbe_hw_ptr); ldv_statevar_13 = 2; } goto ldv_63596; case_45: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_13_45(ldv_13_callback_get_bus_info, ldv_13_container_struct_ixgbe_hw_ptr); ldv_statevar_13 = 2; } goto ldv_63596; case_47: /* CIL Label */ { tmp___3 = ldv_xmalloc(2UL); ldv_13_ldv_param_46_1_default = (unsigned short *)tmp___3; ldv_dummy_resourceless_instance_callback_13_46(ldv_13_callback_get_device_caps, ldv_13_container_struct_ixgbe_hw_ptr, ldv_13_ldv_param_46_1_default); ldv_free((void *)ldv_13_ldv_param_46_1_default); ldv_statevar_13 = 2; } goto ldv_63596; case_50: /* CIL Label */ { tmp___4 = ldv_xmalloc(2UL); ldv_13_ldv_param_49_1_default = (unsigned short *)tmp___4; ldv_dummy_resourceless_instance_callback_13_49(ldv_13_callback_get_firmware_version, ldv_13_container_struct_ixgbe_hw_ptr, ldv_13_ldv_param_49_1_default); ldv_free((void *)ldv_13_ldv_param_49_1_default); ldv_statevar_13 = 2; } goto ldv_63596; case_52: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_13_52(ldv_13_callback_get_invariants, ldv_13_container_struct_ixgbe_hw_ptr); ldv_statevar_13 = 2; } goto ldv_63596; case_54: /* CIL Label */ { tmp___5 = ldv_xmalloc(4UL); ldv_13_ldv_param_53_1_default = (unsigned int *)tmp___5; tmp___6 = ldv_xmalloc(1UL); ldv_13_ldv_param_53_2_default = (_Bool *)tmp___6; ldv_dummy_resourceless_instance_callback_13_53(ldv_13_callback_get_link_capabilities, ldv_13_container_struct_ixgbe_hw_ptr, ldv_13_ldv_param_53_1_default, ldv_13_ldv_param_53_2_default); ldv_free((void *)ldv_13_ldv_param_53_1_default); ldv_free((void *)ldv_13_ldv_param_53_2_default); ldv_statevar_13 = 2; } goto ldv_63596; case_57: /* CIL Label */ { tmp___7 = ldv_xmalloc(1UL); ldv_13_ldv_param_56_1_default = (unsigned char *)tmp___7; ldv_dummy_resourceless_instance_callback_13_56(ldv_13_callback_get_mac_addr, ldv_13_container_struct_ixgbe_hw_ptr, ldv_13_ldv_param_56_1_default); ldv_free((void *)ldv_13_ldv_param_56_1_default); ldv_statevar_13 = 2; } goto ldv_63596; case_59: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_13_59(ldv_13_callback_get_media_type, ldv_13_container_struct_ixgbe_hw_ptr); ldv_statevar_13 = 2; } goto ldv_63596; case_61: /* CIL Label */ { tmp___8 = ldv_xmalloc(1UL); ldv_13_ldv_param_60_1_default = (unsigned char *)tmp___8; ldv_dummy_resourceless_instance_callback_13_60(ldv_13_callback_get_san_mac_addr, ldv_13_container_struct_ixgbe_hw_ptr, ldv_13_ldv_param_60_1_default); ldv_free((void *)ldv_13_ldv_param_60_1_default); ldv_statevar_13 = 2; } goto ldv_63596; case_63: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_13_63(ldv_13_callback_get_supported_physical_layer, ldv_13_container_struct_ixgbe_hw_ptr); ldv_statevar_13 = 2; } goto ldv_63596; case_64: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_13_64(ldv_13_callback_get_thermal_sensor_data, ldv_13_container_struct_ixgbe_hw_ptr); ldv_statevar_13 = 2; } goto ldv_63596; case_66: /* CIL Label */ { tmp___9 = ldv_xmalloc(2UL); ldv_13_ldv_param_65_1_default = (unsigned short *)tmp___9; tmp___10 = ldv_xmalloc(2UL); ldv_13_ldv_param_65_2_default = (unsigned short *)tmp___10; ldv_dummy_resourceless_instance_callback_13_65(ldv_13_callback_get_wwn_prefix, ldv_13_container_struct_ixgbe_hw_ptr, ldv_13_ldv_param_65_1_default, ldv_13_ldv_param_65_2_default); ldv_free((void *)ldv_13_ldv_param_65_1_default); ldv_free((void *)ldv_13_ldv_param_65_2_default); ldv_statevar_13 = 2; } goto ldv_63596; case_68: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_13_68(ldv_13_callback_identify, ldv_13_container_struct_ixgbe_hw_ptr); ldv_statevar_13 = 2; } goto ldv_63596; case_69: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_13_69(ldv_13_callback_identify_sfp, ldv_13_container_struct_ixgbe_hw_ptr); ldv_statevar_13 = 2; } goto ldv_63596; case_70: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_13_70(ldv_13_callback_init, ldv_13_container_struct_ixgbe_hw_ptr); ldv_statevar_13 = 2; } goto ldv_63596; case_71: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_13_71(ldv_13_callback_init_hw, ldv_13_container_struct_ixgbe_hw_ptr); ldv_statevar_13 = 2; } goto ldv_63596; case_72: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_13_72(ldv_13_callback_init_params, ldv_13_container_struct_ixgbe_hw_ptr); ldv_statevar_13 = 2; } goto ldv_63596; case_73: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_13_73(ldv_13_callback_init_rx_addrs, ldv_13_container_struct_ixgbe_hw_ptr); ldv_statevar_13 = 2; } goto ldv_63596; case_74: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_13_74(ldv_13_callback_init_thermal_sensor_thresh, ldv_13_container_struct_ixgbe_hw_ptr); ldv_statevar_13 = 2; } goto ldv_63596; case_75: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_13_75(ldv_13_callback_init_uta_tables, ldv_13_container_struct_ixgbe_hw_ptr); ldv_statevar_13 = 2; } goto ldv_63596; case_77: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_13_76(ldv_13_callback_led_off, ldv_13_container_struct_ixgbe_hw_ptr, ldv_13_ldv_param_76_1_default); ldv_statevar_13 = 2; } goto ldv_63596; case_80: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_13_79(ldv_13_callback_led_on, ldv_13_container_struct_ixgbe_hw_ptr, ldv_13_ldv_param_79_1_default); ldv_statevar_13 = 2; } goto ldv_63596; case_82: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_13_82(ldv_13_callback_mng_fw_enabled, ldv_13_container_struct_ixgbe_hw_ptr); ldv_statevar_13 = 2; } goto ldv_63596; case_84: /* CIL Label */ { tmp___11 = ldv_xmalloc(4UL); ldv_13_ldv_param_83_1_default = (unsigned int *)tmp___11; ldv_dummy_resourceless_instance_callback_13_83(ldv_13_callback_read, ldv_13_container_struct_ixgbe_hw_ptr, ldv_13_ldv_param_83_1_default, (int )ldv_13_ldv_param_83_2_default, (int )ldv_13_ldv_param_83_3_default); ldv_free((void *)ldv_13_ldv_param_83_1_default); ldv_statevar_13 = 2; } goto ldv_63596; case_87: /* CIL Label */ { tmp___12 = ldv_xmalloc(1UL); ldv_13_ldv_param_86_2_default = (unsigned char *)tmp___12; ldv_dummy_resourceless_instance_callback_13_86(ldv_13_callback_read_analog_reg8, ldv_13_container_struct_ixgbe_hw_ptr, ldv_13_ldv_param_86_1_default, ldv_13_ldv_param_86_2_default); ldv_free((void *)ldv_13_ldv_param_86_2_default); ldv_statevar_13 = 2; } goto ldv_63596; case_90: /* CIL Label */ { tmp___13 = ldv_xmalloc(2UL); ldv_13_ldv_param_89_3_default = (unsigned short *)tmp___13; ldv_dummy_resourceless_instance_callback_13_89(ldv_13_callback_read_buffer, ldv_13_container_struct_ixgbe_hw_ptr, (int )ldv_13_ldv_param_89_1_default, (int )ldv_13_ldv_param_89_2_default, ldv_13_ldv_param_89_3_default); ldv_free((void *)ldv_13_ldv_param_89_3_default); ldv_statevar_13 = 2; } goto ldv_63596; case_93: /* CIL Label */ { tmp___14 = ldv_xmalloc(1UL); ldv_13_ldv_param_92_3_default = (unsigned char *)tmp___14; ldv_dummy_resourceless_instance_callback_13_92(ldv_13_callback_read_i2c_byte, ldv_13_container_struct_ixgbe_hw_ptr, (int )ldv_13_ldv_param_92_1_default, (int )ldv_13_ldv_param_92_2_default, ldv_13_ldv_param_92_3_default); ldv_free((void *)ldv_13_ldv_param_92_3_default); ldv_statevar_13 = 2; } goto ldv_63596; case_96: /* CIL Label */ { tmp___15 = ldv_xmalloc(1UL); ldv_13_ldv_param_95_2_default = (unsigned char *)tmp___15; ldv_dummy_resourceless_instance_callback_13_95(ldv_13_callback_read_i2c_eeprom, ldv_13_container_struct_ixgbe_hw_ptr, (int )ldv_13_ldv_param_95_1_default, ldv_13_ldv_param_95_2_default); ldv_free((void *)ldv_13_ldv_param_95_2_default); ldv_statevar_13 = 2; } goto ldv_63596; case_99: /* CIL Label */ { tmp___16 = ldv_xmalloc(1UL); ldv_13_ldv_param_98_2_default = (unsigned char *)tmp___16; ldv_dummy_resourceless_instance_callback_13_98(ldv_13_callback_read_i2c_sff8472, ldv_13_container_struct_ixgbe_hw_ptr, (int )ldv_13_ldv_param_98_1_default, ldv_13_ldv_param_98_2_default); ldv_free((void *)ldv_13_ldv_param_98_2_default); ldv_statevar_13 = 2; } goto ldv_63596; case_102: /* CIL Label */ { tmp___17 = ldv_xmalloc(4UL); ldv_13_ldv_param_101_1_default = (unsigned int *)tmp___17; ldv_dummy_resourceless_instance_callback_13_101(ldv_13_callback_read_posted, ldv_13_container_struct_ixgbe_hw_ptr, ldv_13_ldv_param_101_1_default, (int )ldv_13_ldv_param_101_2_default, (int )ldv_13_ldv_param_101_3_default); ldv_free((void *)ldv_13_ldv_param_101_1_default); ldv_statevar_13 = 2; } goto ldv_63596; case_105: /* CIL Label */ { tmp___18 = ldv_xmalloc(2UL); ldv_13_ldv_param_104_3_default = (unsigned short *)tmp___18; ldv_dummy_resourceless_instance_callback_13_104(ldv_13_callback_read_reg, ldv_13_container_struct_ixgbe_hw_ptr, ldv_13_ldv_param_104_1_default, ldv_13_ldv_param_104_2_default, ldv_13_ldv_param_104_3_default); ldv_free((void *)ldv_13_ldv_param_104_3_default); ldv_statevar_13 = 2; } goto ldv_63596; case_108: /* CIL Label */ { tmp___19 = ldv_xmalloc(2UL); ldv_13_ldv_param_107_3_default = (unsigned short *)tmp___19; ldv_dummy_resourceless_instance_callback_13_107(ldv_13_callback_read_reg_mdi, ldv_13_container_struct_ixgbe_hw_ptr, ldv_13_ldv_param_107_1_default, ldv_13_ldv_param_107_2_default, ldv_13_ldv_param_107_3_default); ldv_free((void *)ldv_13_ldv_param_107_3_default); ldv_statevar_13 = 2; } goto ldv_63596; case_111: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_13_110(ldv_13_callback_release_swfw_sync, ldv_13_container_struct_ixgbe_hw_ptr, (int )ldv_13_ldv_param_110_1_default); ldv_statevar_13 = 2; } goto ldv_63596; case_113: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_13_113(ldv_13_callback_reset, ldv_13_container_struct_ixgbe_hw_ptr); ldv_statevar_13 = 2; } goto ldv_63596; case_114: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_13_114(ldv_13_callback_reset_hw, ldv_13_container_struct_ixgbe_hw_ptr); ldv_statevar_13 = 2; } goto ldv_63596; case_116: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_13_115(ldv_13_callback_set_fw_drv_ver, ldv_13_container_struct_ixgbe_hw_ptr, (int )ldv_13_ldv_param_115_1_default, (int )ldv_13_ldv_param_115_2_default, (int )ldv_13_ldv_param_115_3_default, (int )ldv_13_ldv_param_115_4_default); ldv_statevar_13 = 2; } goto ldv_63596; case_118: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_13_118(ldv_13_callback_set_lan_id, ldv_13_container_struct_ixgbe_hw_ptr); ldv_statevar_13 = 2; } goto ldv_63596; case_120: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_13_119(ldv_13_callback_set_mac_anti_spoofing, ldv_13_container_struct_ixgbe_hw_ptr, (int )ldv_13_ldv_param_119_1_default, ldv_13_ldv_param_119_2_default); ldv_statevar_13 = 2; } goto ldv_63596; case_123: /* CIL Label */ { tmp___20 = ldv_xmalloc(1UL); ldv_13_ldv_param_122_2_default = (unsigned char *)tmp___20; ldv_dummy_resourceless_instance_callback_13_122(ldv_13_callback_set_rar, ldv_13_container_struct_ixgbe_hw_ptr, ldv_13_ldv_param_122_1_default, ldv_13_ldv_param_122_2_default, ldv_13_ldv_param_122_3_default, ldv_13_ldv_param_122_4_default); ldv_free((void *)ldv_13_ldv_param_122_2_default); ldv_statevar_13 = 2; } goto ldv_63596; case_126: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_13_125(ldv_13_callback_set_rxpba, ldv_13_container_struct_ixgbe_hw_ptr, ldv_13_ldv_param_125_1_default, ldv_13_ldv_param_125_2_default, ldv_13_ldv_param_125_3_default); ldv_statevar_13 = 2; } goto ldv_63596; case_129: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_13_128(ldv_13_callback_set_vfta, ldv_13_container_struct_ixgbe_hw_ptr, ldv_13_ldv_param_128_1_default, ldv_13_ldv_param_128_2_default, (int )ldv_13_ldv_param_128_3_default); ldv_statevar_13 = 2; } goto ldv_63596; case_132: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_13_131(ldv_13_callback_set_vlan_anti_spoofing, ldv_13_container_struct_ixgbe_hw_ptr, (int )ldv_13_ldv_param_131_1_default, ldv_13_ldv_param_131_2_default); ldv_statevar_13 = 2; } goto ldv_63596; case_135: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_13_134(ldv_13_callback_set_vmdq, ldv_13_container_struct_ixgbe_hw_ptr, ldv_13_ldv_param_134_1_default, ldv_13_ldv_param_134_2_default); ldv_statevar_13 = 2; } goto ldv_63596; case_138: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_13_137(ldv_13_callback_set_vmdq_san_mac, ldv_13_container_struct_ixgbe_hw_ptr, ldv_13_ldv_param_137_1_default); ldv_statevar_13 = 2; } goto ldv_63596; case_140: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_13_140(ldv_13_callback_setup_link, ldv_13_container_struct_ixgbe_hw_ptr); ldv_statevar_13 = 2; } goto ldv_63596; case_142: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_13_141(ldv_13_callback_setup_link_speed, ldv_13_container_struct_ixgbe_hw_ptr, ldv_13_ldv_param_141_1_default, (int )ldv_13_ldv_param_141_2_default); ldv_statevar_13 = 2; } goto ldv_63596; case_144: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_13_144(ldv_13_callback_setup_sfp, ldv_13_container_struct_ixgbe_hw_ptr); ldv_statevar_13 = 2; } goto ldv_63596; case_145: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_13_145(ldv_13_callback_start_hw, ldv_13_container_struct_ixgbe_hw_ptr); ldv_statevar_13 = 2; } goto ldv_63596; case_146: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_13_146(ldv_13_callback_stop_adapter, ldv_13_container_struct_ixgbe_hw_ptr); ldv_statevar_13 = 2; } goto ldv_63596; case_147: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_13_147(ldv_13_callback_stop_link_on_d3, ldv_13_container_struct_ixgbe_hw_ptr); ldv_statevar_13 = 2; } goto ldv_63596; case_148: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_13_148(ldv_13_callback_update_checksum, ldv_13_container_struct_ixgbe_hw_ptr); ldv_statevar_13 = 2; } goto ldv_63596; case_149: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_13_149(ldv_13_callback_update_mc_addr_list, ldv_13_container_struct_ixgbe_hw_ptr, ldv_13_container_struct_net_device_ptr); ldv_statevar_13 = 2; } goto ldv_63596; case_151: /* CIL Label */ { tmp___21 = ldv_xmalloc(2UL); ldv_13_ldv_param_150_1_default = (unsigned short *)tmp___21; ldv_dummy_resourceless_instance_callback_13_150(ldv_13_callback_validate_checksum, ldv_13_container_struct_ixgbe_hw_ptr, ldv_13_ldv_param_150_1_default); ldv_free((void *)ldv_13_ldv_param_150_1_default); ldv_statevar_13 = 2; } goto ldv_63596; case_154: /* CIL Label */ { tmp___22 = ldv_xmalloc(4UL); ldv_13_ldv_param_153_1_default = (unsigned int *)tmp___22; ldv_dummy_resourceless_instance_callback_13_153(ldv_13_callback_write, ldv_13_container_struct_ixgbe_hw_ptr, ldv_13_ldv_param_153_1_default, (int )ldv_13_ldv_param_153_2_default, (int )ldv_13_ldv_param_153_3_default); ldv_free((void *)ldv_13_ldv_param_153_1_default); ldv_statevar_13 = 2; } goto ldv_63596; case_157: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_13_156(ldv_13_callback_write_analog_reg8, ldv_13_container_struct_ixgbe_hw_ptr, ldv_13_ldv_param_156_1_default, (int )ldv_13_ldv_param_156_2_default); ldv_statevar_13 = 2; } goto ldv_63596; case_160: /* CIL Label */ { tmp___23 = ldv_xmalloc(2UL); ldv_13_ldv_param_159_3_default = (unsigned short *)tmp___23; ldv_dummy_resourceless_instance_callback_13_159(ldv_13_callback_write_buffer, ldv_13_container_struct_ixgbe_hw_ptr, (int )ldv_13_ldv_param_159_1_default, (int )ldv_13_ldv_param_159_2_default, ldv_13_ldv_param_159_3_default); ldv_free((void *)ldv_13_ldv_param_159_3_default); ldv_statevar_13 = 2; } goto ldv_63596; case_163: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_13_162(ldv_13_callback_write_i2c_byte, ldv_13_container_struct_ixgbe_hw_ptr, (int )ldv_13_ldv_param_162_1_default, (int )ldv_13_ldv_param_162_2_default, (int )ldv_13_ldv_param_162_3_default); ldv_statevar_13 = 2; } goto ldv_63596; case_166: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_13_165(ldv_13_callback_write_i2c_eeprom, ldv_13_container_struct_ixgbe_hw_ptr, (int )ldv_13_ldv_param_165_1_default, (int )ldv_13_ldv_param_165_2_default); ldv_statevar_13 = 2; } goto ldv_63596; case_169: /* CIL Label */ { tmp___24 = ldv_xmalloc(4UL); ldv_13_ldv_param_168_1_default = (unsigned int *)tmp___24; ldv_dummy_resourceless_instance_callback_13_168(ldv_13_callback_write_posted, ldv_13_container_struct_ixgbe_hw_ptr, ldv_13_ldv_param_168_1_default, (int )ldv_13_ldv_param_168_2_default, (int )ldv_13_ldv_param_168_3_default); ldv_free((void *)ldv_13_ldv_param_168_1_default); ldv_statevar_13 = 2; } goto ldv_63596; case_172: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_13_171(ldv_13_callback_write_reg, ldv_13_container_struct_ixgbe_hw_ptr, ldv_13_ldv_param_171_1_default, ldv_13_ldv_param_171_2_default, (int )ldv_13_ldv_param_171_3_default); ldv_statevar_13 = 2; } goto ldv_63596; case_175: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_13_174(ldv_13_callback_write_reg_mdi, ldv_13_container_struct_ixgbe_hw_ptr, ldv_13_ldv_param_174_1_default, ldv_13_ldv_param_174_2_default, (int )ldv_13_ldv_param_174_3_default); ldv_statevar_13 = 2; } goto ldv_63596; switch_default: /* CIL Label */ ; switch_break: /* CIL Label */ ; } ldv_63596: ; return; } } void ldv_struct_ixgbe_phy_operations_dummy_resourceless_instance_8(void *arg0 ) { int tmp ; int tmp___0 ; void *tmp___1 ; void *tmp___2 ; void *tmp___3 ; void *tmp___4 ; void *tmp___5 ; void *tmp___6 ; void *tmp___7 ; void *tmp___8 ; void *tmp___9 ; void *tmp___10 ; void *tmp___11 ; void *tmp___12 ; void *tmp___13 ; void *tmp___14 ; void *tmp___15 ; void *tmp___16 ; void *tmp___17 ; void *tmp___18 ; void *tmp___19 ; void *tmp___20 ; void *tmp___21 ; void *tmp___22 ; void *tmp___23 ; void *tmp___24 ; { { if (ldv_statevar_8 == 1) { goto case_1; } else { } if (ldv_statevar_8 == 2) { goto case_2; } else { } if (ldv_statevar_8 == 3) { goto case_3; } else { } if (ldv_statevar_8 == 4) { goto case_4; } else { } if (ldv_statevar_8 == 5) { goto case_5; } else { } if (ldv_statevar_8 == 7) { goto case_7; } else { } if (ldv_statevar_8 == 10) { goto case_10; } else { } if (ldv_statevar_8 == 13) { goto case_13; } else { } if (ldv_statevar_8 == 15) { goto case_15; } else { } if (ldv_statevar_8 == 17) { goto case_17; } else { } if (ldv_statevar_8 == 20) { goto case_20; } else { } if (ldv_statevar_8 == 23) { goto case_23; } else { } if (ldv_statevar_8 == 26) { goto case_26; } else { } if (ldv_statevar_8 == 28) { goto case_28; } else { } if (ldv_statevar_8 == 29) { goto case_29; } else { } if (ldv_statevar_8 == 31) { goto case_31; } else { } if (ldv_statevar_8 == 33) { goto case_33; } else { } if (ldv_statevar_8 == 35) { goto case_35; } else { } if (ldv_statevar_8 == 37) { goto case_37; } else { } if (ldv_statevar_8 == 38) { goto case_38; } else { } if (ldv_statevar_8 == 39) { goto case_39; } else { } if (ldv_statevar_8 == 40) { goto case_40; } else { } if (ldv_statevar_8 == 42) { goto case_42; } else { } if (ldv_statevar_8 == 44) { goto case_44; } else { } if (ldv_statevar_8 == 45) { goto case_45; } else { } if (ldv_statevar_8 == 47) { goto case_47; } else { } if (ldv_statevar_8 == 50) { goto case_50; } else { } if (ldv_statevar_8 == 52) { goto case_52; } else { } if (ldv_statevar_8 == 54) { goto case_54; } else { } if (ldv_statevar_8 == 57) { goto case_57; } else { } if (ldv_statevar_8 == 59) { goto case_59; } else { } if (ldv_statevar_8 == 61) { goto case_61; } else { } if (ldv_statevar_8 == 63) { goto case_63; } else { } if (ldv_statevar_8 == 64) { goto case_64; } else { } if (ldv_statevar_8 == 66) { goto case_66; } else { } if (ldv_statevar_8 == 68) { goto case_68; } else { } if (ldv_statevar_8 == 69) { goto case_69; } else { } if (ldv_statevar_8 == 70) { goto case_70; } else { } if (ldv_statevar_8 == 71) { goto case_71; } else { } if (ldv_statevar_8 == 72) { goto case_72; } else { } if (ldv_statevar_8 == 73) { goto case_73; } else { } if (ldv_statevar_8 == 74) { goto case_74; } else { } if (ldv_statevar_8 == 75) { goto case_75; } else { } if (ldv_statevar_8 == 77) { goto case_77; } else { } if (ldv_statevar_8 == 80) { goto case_80; } else { } if (ldv_statevar_8 == 82) { goto case_82; } else { } if (ldv_statevar_8 == 84) { goto case_84; } else { } if (ldv_statevar_8 == 87) { goto case_87; } else { } if (ldv_statevar_8 == 90) { goto case_90; } else { } if (ldv_statevar_8 == 93) { goto case_93; } else { } if (ldv_statevar_8 == 96) { goto case_96; } else { } if (ldv_statevar_8 == 99) { goto case_99; } else { } if (ldv_statevar_8 == 102) { goto case_102; } else { } if (ldv_statevar_8 == 105) { goto case_105; } else { } if (ldv_statevar_8 == 108) { goto case_108; } else { } if (ldv_statevar_8 == 111) { goto case_111; } else { } if (ldv_statevar_8 == 113) { goto case_113; } else { } if (ldv_statevar_8 == 114) { goto case_114; } else { } if (ldv_statevar_8 == 116) { goto case_116; } else { } if (ldv_statevar_8 == 118) { goto case_118; } else { } if (ldv_statevar_8 == 120) { goto case_120; } else { } if (ldv_statevar_8 == 123) { goto case_123; } else { } if (ldv_statevar_8 == 126) { goto case_126; } else { } if (ldv_statevar_8 == 129) { goto case_129; } else { } if (ldv_statevar_8 == 132) { goto case_132; } else { } if (ldv_statevar_8 == 135) { goto case_135; } else { } if (ldv_statevar_8 == 138) { goto case_138; } else { } if (ldv_statevar_8 == 140) { goto case_140; } else { } if (ldv_statevar_8 == 142) { goto case_142; } else { } if (ldv_statevar_8 == 144) { goto case_144; } else { } if (ldv_statevar_8 == 145) { goto case_145; } else { } if (ldv_statevar_8 == 146) { goto case_146; } else { } if (ldv_statevar_8 == 147) { goto case_147; } else { } if (ldv_statevar_8 == 148) { goto case_148; } else { } if (ldv_statevar_8 == 149) { goto case_149; } else { } if (ldv_statevar_8 == 151) { goto case_151; } else { } if (ldv_statevar_8 == 154) { goto case_154; } else { } if (ldv_statevar_8 == 157) { goto case_157; } else { } if (ldv_statevar_8 == 160) { goto case_160; } else { } if (ldv_statevar_8 == 163) { goto case_163; } else { } if (ldv_statevar_8 == 166) { goto case_166; } else { } if (ldv_statevar_8 == 169) { goto case_169; } else { } if (ldv_statevar_8 == 172) { goto case_172; } else { } if (ldv_statevar_8 == 175) { goto case_175; } else { } goto switch_default; case_1: /* CIL Label */ ; goto ldv_63685; case_2: /* CIL Label */ { tmp = ldv_undef_int(); } if (tmp != 0) { ldv_statevar_8 = 1; } else { ldv_statevar_8 = 7; } goto ldv_63685; case_3: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_8_3(ldv_8_callback_acquire_swfw_sync, ldv_8_container_struct_ixgbe_hw_ptr, (int )ldv_8_ldv_param_3_1_default); ldv_statevar_8 = 2; } goto ldv_63685; case_4: /* CIL Label */ { tmp___0 = ldv_undef_int(); } if (tmp___0 != 0) { ldv_statevar_8 = 1; } else { ldv_statevar_8 = 7; } goto ldv_63685; case_5: /* CIL Label */ ; goto ldv_63685; case_7: /* CIL Label */ { ldv_statevar_8 = ldv_switch_3(); } goto ldv_63685; case_10: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_8_9(ldv_8_callback_blink_led_start, ldv_8_container_struct_ixgbe_hw_ptr, ldv_8_ldv_param_9_1_default); ldv_statevar_8 = 2; } goto ldv_63685; case_13: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_8_12(ldv_8_callback_blink_led_stop, ldv_8_container_struct_ixgbe_hw_ptr, ldv_8_ldv_param_12_1_default); ldv_statevar_8 = 2; } goto ldv_63685; case_15: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_8_15(ldv_8_callback_calc_checksum, ldv_8_container_struct_ixgbe_hw_ptr); ldv_statevar_8 = 2; } goto ldv_63685; case_17: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_8_16(ldv_8_callback_check_for_ack, ldv_8_container_struct_ixgbe_hw_ptr, (int )ldv_8_ldv_param_16_1_default); ldv_statevar_8 = 2; } goto ldv_63685; case_20: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_8_19(ldv_8_callback_check_for_msg, ldv_8_container_struct_ixgbe_hw_ptr, (int )ldv_8_ldv_param_19_1_default); ldv_statevar_8 = 2; } goto ldv_63685; case_23: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_8_22(ldv_8_callback_check_for_rst, ldv_8_container_struct_ixgbe_hw_ptr, (int )ldv_8_ldv_param_22_1_default); ldv_statevar_8 = 2; } goto ldv_63685; case_26: /* CIL Label */ { tmp___1 = ldv_xmalloc(4UL); ldv_8_ldv_param_25_1_default = (unsigned int *)tmp___1; tmp___2 = ldv_xmalloc(1UL); ldv_8_ldv_param_25_2_default = (_Bool *)tmp___2; ldv_dummy_resourceless_instance_callback_8_25(ldv_8_callback_check_link, ldv_8_container_struct_ixgbe_hw_ptr, ldv_8_ldv_param_25_1_default, ldv_8_ldv_param_25_2_default, (int )ldv_8_ldv_param_25_3_default); ldv_free((void *)ldv_8_ldv_param_25_1_default); ldv_free((void *)ldv_8_ldv_param_25_2_default); ldv_statevar_8 = 2; } goto ldv_63685; case_28: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_8_28(ldv_8_callback_check_overtemp, ldv_8_container_struct_ixgbe_hw_ptr); ldv_statevar_8 = 2; } goto ldv_63685; case_29: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_8_29(ldv_8_callback_clear_hw_cntrs, ldv_8_container_struct_ixgbe_hw_ptr); ldv_statevar_8 = 2; } goto ldv_63685; case_31: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_8_30(ldv_8_callback_clear_rar, ldv_8_container_struct_ixgbe_hw_ptr, ldv_8_ldv_param_30_1_default); ldv_statevar_8 = 2; } goto ldv_63685; case_33: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_8_33(ldv_8_callback_clear_vfta, ldv_8_container_struct_ixgbe_hw_ptr); ldv_statevar_8 = 2; } goto ldv_63685; case_35: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_8_34(ldv_8_callback_clear_vmdq, ldv_8_container_struct_ixgbe_hw_ptr, ldv_8_ldv_param_34_1_default, ldv_8_ldv_param_34_2_default); ldv_statevar_8 = 2; } goto ldv_63685; case_37: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_8_37(ldv_8_callback_disable_mc, ldv_8_container_struct_ixgbe_hw_ptr); ldv_statevar_8 = 2; } goto ldv_63685; case_38: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_8_38(ldv_8_callback_disable_rx_buff, ldv_8_container_struct_ixgbe_hw_ptr); ldv_statevar_8 = 2; } goto ldv_63685; case_39: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_8_39(ldv_8_callback_enable_mc, ldv_8_container_struct_ixgbe_hw_ptr); ldv_statevar_8 = 2; } goto ldv_63685; case_40: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_8_40(ldv_8_callback_enable_rx_buff, ldv_8_container_struct_ixgbe_hw_ptr); ldv_statevar_8 = 2; } goto ldv_63685; case_42: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_8_41(ldv_8_callback_enable_rx_dma, ldv_8_container_struct_ixgbe_hw_ptr, ldv_8_ldv_param_41_1_default); ldv_statevar_8 = 2; } goto ldv_63685; case_44: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_8_44(ldv_8_callback_fc_enable, ldv_8_container_struct_ixgbe_hw_ptr); ldv_statevar_8 = 2; } goto ldv_63685; case_45: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_8_45(ldv_8_callback_get_bus_info, ldv_8_container_struct_ixgbe_hw_ptr); ldv_statevar_8 = 2; } goto ldv_63685; case_47: /* CIL Label */ { tmp___3 = ldv_xmalloc(2UL); ldv_8_ldv_param_46_1_default = (unsigned short *)tmp___3; ldv_dummy_resourceless_instance_callback_8_46(ldv_8_callback_get_device_caps, ldv_8_container_struct_ixgbe_hw_ptr, ldv_8_ldv_param_46_1_default); ldv_free((void *)ldv_8_ldv_param_46_1_default); ldv_statevar_8 = 2; } goto ldv_63685; case_50: /* CIL Label */ { tmp___4 = ldv_xmalloc(2UL); ldv_8_ldv_param_49_1_default = (unsigned short *)tmp___4; ldv_dummy_resourceless_instance_callback_8_49(ldv_8_callback_get_firmware_version, ldv_8_container_struct_ixgbe_hw_ptr, ldv_8_ldv_param_49_1_default); ldv_free((void *)ldv_8_ldv_param_49_1_default); ldv_statevar_8 = 2; } goto ldv_63685; case_52: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_8_52(ldv_8_callback_get_invariants, ldv_8_container_struct_ixgbe_hw_ptr); ldv_statevar_8 = 2; } goto ldv_63685; case_54: /* CIL Label */ { tmp___5 = ldv_xmalloc(4UL); ldv_8_ldv_param_53_1_default = (unsigned int *)tmp___5; tmp___6 = ldv_xmalloc(1UL); ldv_8_ldv_param_53_2_default = (_Bool *)tmp___6; ldv_dummy_resourceless_instance_callback_8_53(ldv_8_callback_get_link_capabilities, ldv_8_container_struct_ixgbe_hw_ptr, ldv_8_ldv_param_53_1_default, ldv_8_ldv_param_53_2_default); ldv_free((void *)ldv_8_ldv_param_53_1_default); ldv_free((void *)ldv_8_ldv_param_53_2_default); ldv_statevar_8 = 2; } goto ldv_63685; case_57: /* CIL Label */ { tmp___7 = ldv_xmalloc(1UL); ldv_8_ldv_param_56_1_default = (unsigned char *)tmp___7; ldv_dummy_resourceless_instance_callback_8_56(ldv_8_callback_get_mac_addr, ldv_8_container_struct_ixgbe_hw_ptr, ldv_8_ldv_param_56_1_default); ldv_free((void *)ldv_8_ldv_param_56_1_default); ldv_statevar_8 = 2; } goto ldv_63685; case_59: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_8_59(ldv_8_callback_get_media_type, ldv_8_container_struct_ixgbe_hw_ptr); ldv_statevar_8 = 2; } goto ldv_63685; case_61: /* CIL Label */ { tmp___8 = ldv_xmalloc(1UL); ldv_8_ldv_param_60_1_default = (unsigned char *)tmp___8; ldv_dummy_resourceless_instance_callback_8_60(ldv_8_callback_get_san_mac_addr, ldv_8_container_struct_ixgbe_hw_ptr, ldv_8_ldv_param_60_1_default); ldv_free((void *)ldv_8_ldv_param_60_1_default); ldv_statevar_8 = 2; } goto ldv_63685; case_63: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_8_63(ldv_8_callback_get_supported_physical_layer, ldv_8_container_struct_ixgbe_hw_ptr); ldv_statevar_8 = 2; } goto ldv_63685; case_64: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_8_64(ldv_8_callback_get_thermal_sensor_data, ldv_8_container_struct_ixgbe_hw_ptr); ldv_statevar_8 = 2; } goto ldv_63685; case_66: /* CIL Label */ { tmp___9 = ldv_xmalloc(2UL); ldv_8_ldv_param_65_1_default = (unsigned short *)tmp___9; tmp___10 = ldv_xmalloc(2UL); ldv_8_ldv_param_65_2_default = (unsigned short *)tmp___10; ldv_dummy_resourceless_instance_callback_8_65(ldv_8_callback_get_wwn_prefix, ldv_8_container_struct_ixgbe_hw_ptr, ldv_8_ldv_param_65_1_default, ldv_8_ldv_param_65_2_default); ldv_free((void *)ldv_8_ldv_param_65_1_default); ldv_free((void *)ldv_8_ldv_param_65_2_default); ldv_statevar_8 = 2; } goto ldv_63685; case_68: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_8_68(ldv_8_callback_identify, ldv_8_container_struct_ixgbe_hw_ptr); ldv_statevar_8 = 2; } goto ldv_63685; case_69: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_8_69(ldv_8_callback_identify_sfp, ldv_8_container_struct_ixgbe_hw_ptr); ldv_statevar_8 = 2; } goto ldv_63685; case_70: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_8_70(ldv_8_callback_init, ldv_8_container_struct_ixgbe_hw_ptr); ldv_statevar_8 = 2; } goto ldv_63685; case_71: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_8_71(ldv_8_callback_init_hw, ldv_8_container_struct_ixgbe_hw_ptr); ldv_statevar_8 = 2; } goto ldv_63685; case_72: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_8_72(ldv_8_callback_init_params, ldv_8_container_struct_ixgbe_hw_ptr); ldv_statevar_8 = 2; } goto ldv_63685; case_73: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_8_73(ldv_8_callback_init_rx_addrs, ldv_8_container_struct_ixgbe_hw_ptr); ldv_statevar_8 = 2; } goto ldv_63685; case_74: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_8_74(ldv_8_callback_init_thermal_sensor_thresh, ldv_8_container_struct_ixgbe_hw_ptr); ldv_statevar_8 = 2; } goto ldv_63685; case_75: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_8_75(ldv_8_callback_init_uta_tables, ldv_8_container_struct_ixgbe_hw_ptr); ldv_statevar_8 = 2; } goto ldv_63685; case_77: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_8_76(ldv_8_callback_led_off, ldv_8_container_struct_ixgbe_hw_ptr, ldv_8_ldv_param_76_1_default); ldv_statevar_8 = 2; } goto ldv_63685; case_80: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_8_79(ldv_8_callback_led_on, ldv_8_container_struct_ixgbe_hw_ptr, ldv_8_ldv_param_79_1_default); ldv_statevar_8 = 2; } goto ldv_63685; case_82: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_8_82(ldv_8_callback_mng_fw_enabled, ldv_8_container_struct_ixgbe_hw_ptr); ldv_statevar_8 = 2; } goto ldv_63685; case_84: /* CIL Label */ { tmp___11 = ldv_xmalloc(4UL); ldv_8_ldv_param_83_1_default = (unsigned int *)tmp___11; ldv_dummy_resourceless_instance_callback_8_83(ldv_8_callback_read, ldv_8_container_struct_ixgbe_hw_ptr, ldv_8_ldv_param_83_1_default, (int )ldv_8_ldv_param_83_2_default, (int )ldv_8_ldv_param_83_3_default); ldv_free((void *)ldv_8_ldv_param_83_1_default); ldv_statevar_8 = 2; } goto ldv_63685; case_87: /* CIL Label */ { tmp___12 = ldv_xmalloc(1UL); ldv_8_ldv_param_86_2_default = (unsigned char *)tmp___12; ldv_dummy_resourceless_instance_callback_8_86(ldv_8_callback_read_analog_reg8, ldv_8_container_struct_ixgbe_hw_ptr, ldv_8_ldv_param_86_1_default, ldv_8_ldv_param_86_2_default); ldv_free((void *)ldv_8_ldv_param_86_2_default); ldv_statevar_8 = 2; } goto ldv_63685; case_90: /* CIL Label */ { tmp___13 = ldv_xmalloc(2UL); ldv_8_ldv_param_89_3_default = (unsigned short *)tmp___13; ldv_dummy_resourceless_instance_callback_8_89(ldv_8_callback_read_buffer, ldv_8_container_struct_ixgbe_hw_ptr, (int )ldv_8_ldv_param_89_1_default, (int )ldv_8_ldv_param_89_2_default, ldv_8_ldv_param_89_3_default); ldv_free((void *)ldv_8_ldv_param_89_3_default); ldv_statevar_8 = 2; } goto ldv_63685; case_93: /* CIL Label */ { tmp___14 = ldv_xmalloc(1UL); ldv_8_ldv_param_92_3_default = (unsigned char *)tmp___14; ldv_dummy_resourceless_instance_callback_8_92(ldv_8_callback_read_i2c_byte, ldv_8_container_struct_ixgbe_hw_ptr, (int )ldv_8_ldv_param_92_1_default, (int )ldv_8_ldv_param_92_2_default, ldv_8_ldv_param_92_3_default); ldv_free((void *)ldv_8_ldv_param_92_3_default); ldv_statevar_8 = 2; } goto ldv_63685; case_96: /* CIL Label */ { tmp___15 = ldv_xmalloc(1UL); ldv_8_ldv_param_95_2_default = (unsigned char *)tmp___15; ldv_dummy_resourceless_instance_callback_8_95(ldv_8_callback_read_i2c_eeprom, ldv_8_container_struct_ixgbe_hw_ptr, (int )ldv_8_ldv_param_95_1_default, ldv_8_ldv_param_95_2_default); ldv_free((void *)ldv_8_ldv_param_95_2_default); ldv_statevar_8 = 2; } goto ldv_63685; case_99: /* CIL Label */ { tmp___16 = ldv_xmalloc(1UL); ldv_8_ldv_param_98_2_default = (unsigned char *)tmp___16; ldv_dummy_resourceless_instance_callback_8_98(ldv_8_callback_read_i2c_sff8472, ldv_8_container_struct_ixgbe_hw_ptr, (int )ldv_8_ldv_param_98_1_default, ldv_8_ldv_param_98_2_default); ldv_free((void *)ldv_8_ldv_param_98_2_default); ldv_statevar_8 = 2; } goto ldv_63685; case_102: /* CIL Label */ { tmp___17 = ldv_xmalloc(4UL); ldv_8_ldv_param_101_1_default = (unsigned int *)tmp___17; ldv_dummy_resourceless_instance_callback_8_101(ldv_8_callback_read_posted, ldv_8_container_struct_ixgbe_hw_ptr, ldv_8_ldv_param_101_1_default, (int )ldv_8_ldv_param_101_2_default, (int )ldv_8_ldv_param_101_3_default); ldv_free((void *)ldv_8_ldv_param_101_1_default); ldv_statevar_8 = 2; } goto ldv_63685; case_105: /* CIL Label */ { tmp___18 = ldv_xmalloc(2UL); ldv_8_ldv_param_104_3_default = (unsigned short *)tmp___18; ldv_dummy_resourceless_instance_callback_8_104(ldv_8_callback_read_reg, ldv_8_container_struct_ixgbe_hw_ptr, ldv_8_ldv_param_104_1_default, ldv_8_ldv_param_104_2_default, ldv_8_ldv_param_104_3_default); ldv_free((void *)ldv_8_ldv_param_104_3_default); ldv_statevar_8 = 2; } goto ldv_63685; case_108: /* CIL Label */ { tmp___19 = ldv_xmalloc(2UL); ldv_8_ldv_param_107_3_default = (unsigned short *)tmp___19; ldv_dummy_resourceless_instance_callback_8_107(ldv_8_callback_read_reg_mdi, ldv_8_container_struct_ixgbe_hw_ptr, ldv_8_ldv_param_107_1_default, ldv_8_ldv_param_107_2_default, ldv_8_ldv_param_107_3_default); ldv_free((void *)ldv_8_ldv_param_107_3_default); ldv_statevar_8 = 2; } goto ldv_63685; case_111: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_8_110(ldv_8_callback_release_swfw_sync, ldv_8_container_struct_ixgbe_hw_ptr, (int )ldv_8_ldv_param_110_1_default); ldv_statevar_8 = 2; } goto ldv_63685; case_113: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_8_113(ldv_8_callback_reset, ldv_8_container_struct_ixgbe_hw_ptr); ldv_statevar_8 = 2; } goto ldv_63685; case_114: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_8_114(ldv_8_callback_reset_hw, ldv_8_container_struct_ixgbe_hw_ptr); ldv_statevar_8 = 2; } goto ldv_63685; case_116: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_8_115(ldv_8_callback_set_fw_drv_ver, ldv_8_container_struct_ixgbe_hw_ptr, (int )ldv_8_ldv_param_115_1_default, (int )ldv_8_ldv_param_115_2_default, (int )ldv_8_ldv_param_115_3_default, (int )ldv_8_ldv_param_115_4_default); ldv_statevar_8 = 2; } goto ldv_63685; case_118: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_8_118(ldv_8_callback_set_lan_id, ldv_8_container_struct_ixgbe_hw_ptr); ldv_statevar_8 = 2; } goto ldv_63685; case_120: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_8_119(ldv_8_callback_set_mac_anti_spoofing, ldv_8_container_struct_ixgbe_hw_ptr, (int )ldv_8_ldv_param_119_1_default, ldv_8_ldv_param_119_2_default); ldv_statevar_8 = 2; } goto ldv_63685; case_123: /* CIL Label */ { tmp___20 = ldv_xmalloc(1UL); ldv_8_ldv_param_122_2_default = (unsigned char *)tmp___20; ldv_dummy_resourceless_instance_callback_8_122(ldv_8_callback_set_rar, ldv_8_container_struct_ixgbe_hw_ptr, ldv_8_ldv_param_122_1_default, ldv_8_ldv_param_122_2_default, ldv_8_ldv_param_122_3_default, ldv_8_ldv_param_122_4_default); ldv_free((void *)ldv_8_ldv_param_122_2_default); ldv_statevar_8 = 2; } goto ldv_63685; case_126: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_8_125(ldv_8_callback_set_rxpba, ldv_8_container_struct_ixgbe_hw_ptr, ldv_8_ldv_param_125_1_default, ldv_8_ldv_param_125_2_default, ldv_8_ldv_param_125_3_default); ldv_statevar_8 = 2; } goto ldv_63685; case_129: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_8_128(ldv_8_callback_set_vfta, ldv_8_container_struct_ixgbe_hw_ptr, ldv_8_ldv_param_128_1_default, ldv_8_ldv_param_128_2_default, (int )ldv_8_ldv_param_128_3_default); ldv_statevar_8 = 2; } goto ldv_63685; case_132: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_8_131(ldv_8_callback_set_vlan_anti_spoofing, ldv_8_container_struct_ixgbe_hw_ptr, (int )ldv_8_ldv_param_131_1_default, ldv_8_ldv_param_131_2_default); ldv_statevar_8 = 2; } goto ldv_63685; case_135: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_8_134(ldv_8_callback_set_vmdq, ldv_8_container_struct_ixgbe_hw_ptr, ldv_8_ldv_param_134_1_default, ldv_8_ldv_param_134_2_default); ldv_statevar_8 = 2; } goto ldv_63685; case_138: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_8_137(ldv_8_callback_set_vmdq_san_mac, ldv_8_container_struct_ixgbe_hw_ptr, ldv_8_ldv_param_137_1_default); ldv_statevar_8 = 2; } goto ldv_63685; case_140: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_8_140(ldv_8_callback_setup_link, ldv_8_container_struct_ixgbe_hw_ptr); ldv_statevar_8 = 2; } goto ldv_63685; case_142: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_8_141(ldv_8_callback_setup_link_speed, ldv_8_container_struct_ixgbe_hw_ptr, ldv_8_ldv_param_141_1_default, (int )ldv_8_ldv_param_141_2_default); ldv_statevar_8 = 2; } goto ldv_63685; case_144: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_8_144(ldv_8_callback_setup_sfp, ldv_8_container_struct_ixgbe_hw_ptr); ldv_statevar_8 = 2; } goto ldv_63685; case_145: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_8_145(ldv_8_callback_start_hw, ldv_8_container_struct_ixgbe_hw_ptr); ldv_statevar_8 = 2; } goto ldv_63685; case_146: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_8_146(ldv_8_callback_stop_adapter, ldv_8_container_struct_ixgbe_hw_ptr); ldv_statevar_8 = 2; } goto ldv_63685; case_147: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_8_147(ldv_8_callback_stop_link_on_d3, ldv_8_container_struct_ixgbe_hw_ptr); ldv_statevar_8 = 2; } goto ldv_63685; case_148: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_8_148(ldv_8_callback_update_checksum, ldv_8_container_struct_ixgbe_hw_ptr); ldv_statevar_8 = 2; } goto ldv_63685; case_149: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_8_149(ldv_8_callback_update_mc_addr_list, ldv_8_container_struct_ixgbe_hw_ptr, ldv_8_container_struct_net_device_ptr); ldv_statevar_8 = 2; } goto ldv_63685; case_151: /* CIL Label */ { tmp___21 = ldv_xmalloc(2UL); ldv_8_ldv_param_150_1_default = (unsigned short *)tmp___21; ldv_dummy_resourceless_instance_callback_8_150(ldv_8_callback_validate_checksum, ldv_8_container_struct_ixgbe_hw_ptr, ldv_8_ldv_param_150_1_default); ldv_free((void *)ldv_8_ldv_param_150_1_default); ldv_statevar_8 = 2; } goto ldv_63685; case_154: /* CIL Label */ { tmp___22 = ldv_xmalloc(4UL); ldv_8_ldv_param_153_1_default = (unsigned int *)tmp___22; ldv_dummy_resourceless_instance_callback_8_153(ldv_8_callback_write, ldv_8_container_struct_ixgbe_hw_ptr, ldv_8_ldv_param_153_1_default, (int )ldv_8_ldv_param_153_2_default, (int )ldv_8_ldv_param_153_3_default); ldv_free((void *)ldv_8_ldv_param_153_1_default); ldv_statevar_8 = 2; } goto ldv_63685; case_157: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_8_156(ldv_8_callback_write_analog_reg8, ldv_8_container_struct_ixgbe_hw_ptr, ldv_8_ldv_param_156_1_default, (int )ldv_8_ldv_param_156_2_default); ldv_statevar_8 = 2; } goto ldv_63685; case_160: /* CIL Label */ { tmp___23 = ldv_xmalloc(2UL); ldv_8_ldv_param_159_3_default = (unsigned short *)tmp___23; ldv_dummy_resourceless_instance_callback_8_159(ldv_8_callback_write_buffer, ldv_8_container_struct_ixgbe_hw_ptr, (int )ldv_8_ldv_param_159_1_default, (int )ldv_8_ldv_param_159_2_default, ldv_8_ldv_param_159_3_default); ldv_free((void *)ldv_8_ldv_param_159_3_default); ldv_statevar_8 = 2; } goto ldv_63685; case_163: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_8_162(ldv_8_callback_write_i2c_byte, ldv_8_container_struct_ixgbe_hw_ptr, (int )ldv_8_ldv_param_162_1_default, (int )ldv_8_ldv_param_162_2_default, (int )ldv_8_ldv_param_162_3_default); ldv_statevar_8 = 2; } goto ldv_63685; case_166: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_8_165(ldv_8_callback_write_i2c_eeprom, ldv_8_container_struct_ixgbe_hw_ptr, (int )ldv_8_ldv_param_165_1_default, (int )ldv_8_ldv_param_165_2_default); ldv_statevar_8 = 2; } goto ldv_63685; case_169: /* CIL Label */ { tmp___24 = ldv_xmalloc(4UL); ldv_8_ldv_param_168_1_default = (unsigned int *)tmp___24; ldv_dummy_resourceless_instance_callback_8_168(ldv_8_callback_write_posted, ldv_8_container_struct_ixgbe_hw_ptr, ldv_8_ldv_param_168_1_default, (int )ldv_8_ldv_param_168_2_default, (int )ldv_8_ldv_param_168_3_default); ldv_free((void *)ldv_8_ldv_param_168_1_default); ldv_statevar_8 = 2; } goto ldv_63685; case_172: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_8_171(ldv_8_callback_write_reg, ldv_8_container_struct_ixgbe_hw_ptr, ldv_8_ldv_param_171_1_default, ldv_8_ldv_param_171_2_default, (int )ldv_8_ldv_param_171_3_default); ldv_statevar_8 = 2; } goto ldv_63685; case_175: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_8_174(ldv_8_callback_write_reg_mdi, ldv_8_container_struct_ixgbe_hw_ptr, ldv_8_ldv_param_174_1_default, ldv_8_ldv_param_174_2_default, (int )ldv_8_ldv_param_174_3_default); ldv_statevar_8 = 2; } goto ldv_63685; switch_default: /* CIL Label */ ; switch_break: /* CIL Label */ ; } ldv_63685: ; return; } } void ldv_struct_ixgbe_phy_operations_dummy_resourceless_instance_9(void *arg0 ) { int tmp ; int tmp___0 ; void *tmp___1 ; void *tmp___2 ; void *tmp___3 ; void *tmp___4 ; void *tmp___5 ; void *tmp___6 ; void *tmp___7 ; void *tmp___8 ; void *tmp___9 ; void *tmp___10 ; void *tmp___11 ; void *tmp___12 ; void *tmp___13 ; void *tmp___14 ; void *tmp___15 ; void *tmp___16 ; void *tmp___17 ; void *tmp___18 ; void *tmp___19 ; void *tmp___20 ; void *tmp___21 ; void *tmp___22 ; void *tmp___23 ; void *tmp___24 ; { { if (ldv_statevar_9 == 1) { goto case_1; } else { } if (ldv_statevar_9 == 2) { goto case_2; } else { } if (ldv_statevar_9 == 3) { goto case_3; } else { } if (ldv_statevar_9 == 4) { goto case_4; } else { } if (ldv_statevar_9 == 5) { goto case_5; } else { } if (ldv_statevar_9 == 7) { goto case_7; } else { } if (ldv_statevar_9 == 10) { goto case_10; } else { } if (ldv_statevar_9 == 13) { goto case_13; } else { } if (ldv_statevar_9 == 15) { goto case_15; } else { } if (ldv_statevar_9 == 17) { goto case_17; } else { } if (ldv_statevar_9 == 20) { goto case_20; } else { } if (ldv_statevar_9 == 23) { goto case_23; } else { } if (ldv_statevar_9 == 26) { goto case_26; } else { } if (ldv_statevar_9 == 28) { goto case_28; } else { } if (ldv_statevar_9 == 29) { goto case_29; } else { } if (ldv_statevar_9 == 31) { goto case_31; } else { } if (ldv_statevar_9 == 33) { goto case_33; } else { } if (ldv_statevar_9 == 35) { goto case_35; } else { } if (ldv_statevar_9 == 37) { goto case_37; } else { } if (ldv_statevar_9 == 38) { goto case_38; } else { } if (ldv_statevar_9 == 39) { goto case_39; } else { } if (ldv_statevar_9 == 40) { goto case_40; } else { } if (ldv_statevar_9 == 42) { goto case_42; } else { } if (ldv_statevar_9 == 44) { goto case_44; } else { } if (ldv_statevar_9 == 45) { goto case_45; } else { } if (ldv_statevar_9 == 47) { goto case_47; } else { } if (ldv_statevar_9 == 50) { goto case_50; } else { } if (ldv_statevar_9 == 52) { goto case_52; } else { } if (ldv_statevar_9 == 54) { goto case_54; } else { } if (ldv_statevar_9 == 57) { goto case_57; } else { } if (ldv_statevar_9 == 59) { goto case_59; } else { } if (ldv_statevar_9 == 61) { goto case_61; } else { } if (ldv_statevar_9 == 63) { goto case_63; } else { } if (ldv_statevar_9 == 64) { goto case_64; } else { } if (ldv_statevar_9 == 66) { goto case_66; } else { } if (ldv_statevar_9 == 68) { goto case_68; } else { } if (ldv_statevar_9 == 69) { goto case_69; } else { } if (ldv_statevar_9 == 70) { goto case_70; } else { } if (ldv_statevar_9 == 71) { goto case_71; } else { } if (ldv_statevar_9 == 72) { goto case_72; } else { } if (ldv_statevar_9 == 73) { goto case_73; } else { } if (ldv_statevar_9 == 74) { goto case_74; } else { } if (ldv_statevar_9 == 75) { goto case_75; } else { } if (ldv_statevar_9 == 77) { goto case_77; } else { } if (ldv_statevar_9 == 80) { goto case_80; } else { } if (ldv_statevar_9 == 82) { goto case_82; } else { } if (ldv_statevar_9 == 84) { goto case_84; } else { } if (ldv_statevar_9 == 87) { goto case_87; } else { } if (ldv_statevar_9 == 90) { goto case_90; } else { } if (ldv_statevar_9 == 93) { goto case_93; } else { } if (ldv_statevar_9 == 96) { goto case_96; } else { } if (ldv_statevar_9 == 99) { goto case_99; } else { } if (ldv_statevar_9 == 102) { goto case_102; } else { } if (ldv_statevar_9 == 105) { goto case_105; } else { } if (ldv_statevar_9 == 108) { goto case_108; } else { } if (ldv_statevar_9 == 111) { goto case_111; } else { } if (ldv_statevar_9 == 113) { goto case_113; } else { } if (ldv_statevar_9 == 114) { goto case_114; } else { } if (ldv_statevar_9 == 116) { goto case_116; } else { } if (ldv_statevar_9 == 118) { goto case_118; } else { } if (ldv_statevar_9 == 120) { goto case_120; } else { } if (ldv_statevar_9 == 123) { goto case_123; } else { } if (ldv_statevar_9 == 126) { goto case_126; } else { } if (ldv_statevar_9 == 129) { goto case_129; } else { } if (ldv_statevar_9 == 132) { goto case_132; } else { } if (ldv_statevar_9 == 135) { goto case_135; } else { } if (ldv_statevar_9 == 138) { goto case_138; } else { } if (ldv_statevar_9 == 140) { goto case_140; } else { } if (ldv_statevar_9 == 142) { goto case_142; } else { } if (ldv_statevar_9 == 144) { goto case_144; } else { } if (ldv_statevar_9 == 145) { goto case_145; } else { } if (ldv_statevar_9 == 146) { goto case_146; } else { } if (ldv_statevar_9 == 147) { goto case_147; } else { } if (ldv_statevar_9 == 148) { goto case_148; } else { } if (ldv_statevar_9 == 149) { goto case_149; } else { } if (ldv_statevar_9 == 151) { goto case_151; } else { } if (ldv_statevar_9 == 154) { goto case_154; } else { } if (ldv_statevar_9 == 157) { goto case_157; } else { } if (ldv_statevar_9 == 160) { goto case_160; } else { } if (ldv_statevar_9 == 163) { goto case_163; } else { } if (ldv_statevar_9 == 166) { goto case_166; } else { } if (ldv_statevar_9 == 169) { goto case_169; } else { } if (ldv_statevar_9 == 172) { goto case_172; } else { } if (ldv_statevar_9 == 175) { goto case_175; } else { } goto switch_default; case_1: /* CIL Label */ ; goto ldv_63774; case_2: /* CIL Label */ { tmp = ldv_undef_int(); } if (tmp != 0) { ldv_statevar_9 = 1; } else { ldv_statevar_9 = 7; } goto ldv_63774; case_3: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_9_3(ldv_9_callback_acquire_swfw_sync, ldv_9_container_struct_ixgbe_hw_ptr, (int )ldv_9_ldv_param_3_1_default); ldv_statevar_9 = 2; } goto ldv_63774; case_4: /* CIL Label */ { tmp___0 = ldv_undef_int(); } if (tmp___0 != 0) { ldv_statevar_9 = 1; } else { ldv_statevar_9 = 7; } goto ldv_63774; case_5: /* CIL Label */ ; goto ldv_63774; case_7: /* CIL Label */ { ldv_statevar_9 = ldv_switch_3(); } goto ldv_63774; case_10: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_9_9(ldv_9_callback_blink_led_start, ldv_9_container_struct_ixgbe_hw_ptr, ldv_9_ldv_param_9_1_default); ldv_statevar_9 = 2; } goto ldv_63774; case_13: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_9_12(ldv_9_callback_blink_led_stop, ldv_9_container_struct_ixgbe_hw_ptr, ldv_9_ldv_param_12_1_default); ldv_statevar_9 = 2; } goto ldv_63774; case_15: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_9_15(ldv_9_callback_calc_checksum, ldv_9_container_struct_ixgbe_hw_ptr); ldv_statevar_9 = 2; } goto ldv_63774; case_17: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_9_16(ldv_9_callback_check_for_ack, ldv_9_container_struct_ixgbe_hw_ptr, (int )ldv_9_ldv_param_16_1_default); ldv_statevar_9 = 2; } goto ldv_63774; case_20: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_9_19(ldv_9_callback_check_for_msg, ldv_9_container_struct_ixgbe_hw_ptr, (int )ldv_9_ldv_param_19_1_default); ldv_statevar_9 = 2; } goto ldv_63774; case_23: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_9_22(ldv_9_callback_check_for_rst, ldv_9_container_struct_ixgbe_hw_ptr, (int )ldv_9_ldv_param_22_1_default); ldv_statevar_9 = 2; } goto ldv_63774; case_26: /* CIL Label */ { tmp___1 = ldv_xmalloc(4UL); ldv_9_ldv_param_25_1_default = (unsigned int *)tmp___1; tmp___2 = ldv_xmalloc(1UL); ldv_9_ldv_param_25_2_default = (_Bool *)tmp___2; ldv_dummy_resourceless_instance_callback_9_25(ldv_9_callback_check_link, ldv_9_container_struct_ixgbe_hw_ptr, ldv_9_ldv_param_25_1_default, ldv_9_ldv_param_25_2_default, (int )ldv_9_ldv_param_25_3_default); ldv_free((void *)ldv_9_ldv_param_25_1_default); ldv_free((void *)ldv_9_ldv_param_25_2_default); ldv_statevar_9 = 2; } goto ldv_63774; case_28: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_9_28(ldv_9_callback_check_overtemp, ldv_9_container_struct_ixgbe_hw_ptr); ldv_statevar_9 = 2; } goto ldv_63774; case_29: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_9_29(ldv_9_callback_clear_hw_cntrs, ldv_9_container_struct_ixgbe_hw_ptr); ldv_statevar_9 = 2; } goto ldv_63774; case_31: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_9_30(ldv_9_callback_clear_rar, ldv_9_container_struct_ixgbe_hw_ptr, ldv_9_ldv_param_30_1_default); ldv_statevar_9 = 2; } goto ldv_63774; case_33: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_9_33(ldv_9_callback_clear_vfta, ldv_9_container_struct_ixgbe_hw_ptr); ldv_statevar_9 = 2; } goto ldv_63774; case_35: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_9_34(ldv_9_callback_clear_vmdq, ldv_9_container_struct_ixgbe_hw_ptr, ldv_9_ldv_param_34_1_default, ldv_9_ldv_param_34_2_default); ldv_statevar_9 = 2; } goto ldv_63774; case_37: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_9_37(ldv_9_callback_disable_mc, ldv_9_container_struct_ixgbe_hw_ptr); ldv_statevar_9 = 2; } goto ldv_63774; case_38: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_9_38(ldv_9_callback_disable_rx_buff, ldv_9_container_struct_ixgbe_hw_ptr); ldv_statevar_9 = 2; } goto ldv_63774; case_39: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_9_39(ldv_9_callback_enable_mc, ldv_9_container_struct_ixgbe_hw_ptr); ldv_statevar_9 = 2; } goto ldv_63774; case_40: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_9_40(ldv_9_callback_enable_rx_buff, ldv_9_container_struct_ixgbe_hw_ptr); ldv_statevar_9 = 2; } goto ldv_63774; case_42: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_9_41(ldv_9_callback_enable_rx_dma, ldv_9_container_struct_ixgbe_hw_ptr, ldv_9_ldv_param_41_1_default); ldv_statevar_9 = 2; } goto ldv_63774; case_44: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_9_44(ldv_9_callback_fc_enable, ldv_9_container_struct_ixgbe_hw_ptr); ldv_statevar_9 = 2; } goto ldv_63774; case_45: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_9_45(ldv_9_callback_get_bus_info, ldv_9_container_struct_ixgbe_hw_ptr); ldv_statevar_9 = 2; } goto ldv_63774; case_47: /* CIL Label */ { tmp___3 = ldv_xmalloc(2UL); ldv_9_ldv_param_46_1_default = (unsigned short *)tmp___3; ldv_dummy_resourceless_instance_callback_9_46(ldv_9_callback_get_device_caps, ldv_9_container_struct_ixgbe_hw_ptr, ldv_9_ldv_param_46_1_default); ldv_free((void *)ldv_9_ldv_param_46_1_default); ldv_statevar_9 = 2; } goto ldv_63774; case_50: /* CIL Label */ { tmp___4 = ldv_xmalloc(2UL); ldv_9_ldv_param_49_1_default = (unsigned short *)tmp___4; ldv_dummy_resourceless_instance_callback_9_49(ldv_9_callback_get_firmware_version, ldv_9_container_struct_ixgbe_hw_ptr, ldv_9_ldv_param_49_1_default); ldv_free((void *)ldv_9_ldv_param_49_1_default); ldv_statevar_9 = 2; } goto ldv_63774; case_52: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_9_52(ldv_9_callback_get_invariants, ldv_9_container_struct_ixgbe_hw_ptr); ldv_statevar_9 = 2; } goto ldv_63774; case_54: /* CIL Label */ { tmp___5 = ldv_xmalloc(4UL); ldv_9_ldv_param_53_1_default = (unsigned int *)tmp___5; tmp___6 = ldv_xmalloc(1UL); ldv_9_ldv_param_53_2_default = (_Bool *)tmp___6; ldv_dummy_resourceless_instance_callback_9_53(ldv_9_callback_get_link_capabilities, ldv_9_container_struct_ixgbe_hw_ptr, ldv_9_ldv_param_53_1_default, ldv_9_ldv_param_53_2_default); ldv_free((void *)ldv_9_ldv_param_53_1_default); ldv_free((void *)ldv_9_ldv_param_53_2_default); ldv_statevar_9 = 2; } goto ldv_63774; case_57: /* CIL Label */ { tmp___7 = ldv_xmalloc(1UL); ldv_9_ldv_param_56_1_default = (unsigned char *)tmp___7; ldv_dummy_resourceless_instance_callback_9_56(ldv_9_callback_get_mac_addr, ldv_9_container_struct_ixgbe_hw_ptr, ldv_9_ldv_param_56_1_default); ldv_free((void *)ldv_9_ldv_param_56_1_default); ldv_statevar_9 = 2; } goto ldv_63774; case_59: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_9_59(ldv_9_callback_get_media_type, ldv_9_container_struct_ixgbe_hw_ptr); ldv_statevar_9 = 2; } goto ldv_63774; case_61: /* CIL Label */ { tmp___8 = ldv_xmalloc(1UL); ldv_9_ldv_param_60_1_default = (unsigned char *)tmp___8; ldv_dummy_resourceless_instance_callback_9_60(ldv_9_callback_get_san_mac_addr, ldv_9_container_struct_ixgbe_hw_ptr, ldv_9_ldv_param_60_1_default); ldv_free((void *)ldv_9_ldv_param_60_1_default); ldv_statevar_9 = 2; } goto ldv_63774; case_63: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_9_63(ldv_9_callback_get_supported_physical_layer, ldv_9_container_struct_ixgbe_hw_ptr); ldv_statevar_9 = 2; } goto ldv_63774; case_64: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_9_64(ldv_9_callback_get_thermal_sensor_data, ldv_9_container_struct_ixgbe_hw_ptr); ldv_statevar_9 = 2; } goto ldv_63774; case_66: /* CIL Label */ { tmp___9 = ldv_xmalloc(2UL); ldv_9_ldv_param_65_1_default = (unsigned short *)tmp___9; tmp___10 = ldv_xmalloc(2UL); ldv_9_ldv_param_65_2_default = (unsigned short *)tmp___10; ldv_dummy_resourceless_instance_callback_9_65(ldv_9_callback_get_wwn_prefix, ldv_9_container_struct_ixgbe_hw_ptr, ldv_9_ldv_param_65_1_default, ldv_9_ldv_param_65_2_default); ldv_free((void *)ldv_9_ldv_param_65_1_default); ldv_free((void *)ldv_9_ldv_param_65_2_default); ldv_statevar_9 = 2; } goto ldv_63774; case_68: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_9_68(ldv_9_callback_identify, ldv_9_container_struct_ixgbe_hw_ptr); ldv_statevar_9 = 2; } goto ldv_63774; case_69: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_9_69(ldv_9_callback_identify_sfp, ldv_9_container_struct_ixgbe_hw_ptr); ldv_statevar_9 = 2; } goto ldv_63774; case_70: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_9_70(ldv_9_callback_init, ldv_9_container_struct_ixgbe_hw_ptr); ldv_statevar_9 = 2; } goto ldv_63774; case_71: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_9_71(ldv_9_callback_init_hw, ldv_9_container_struct_ixgbe_hw_ptr); ldv_statevar_9 = 2; } goto ldv_63774; case_72: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_9_72(ldv_9_callback_init_params, ldv_9_container_struct_ixgbe_hw_ptr); ldv_statevar_9 = 2; } goto ldv_63774; case_73: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_9_73(ldv_9_callback_init_rx_addrs, ldv_9_container_struct_ixgbe_hw_ptr); ldv_statevar_9 = 2; } goto ldv_63774; case_74: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_9_74(ldv_9_callback_init_thermal_sensor_thresh, ldv_9_container_struct_ixgbe_hw_ptr); ldv_statevar_9 = 2; } goto ldv_63774; case_75: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_9_75(ldv_9_callback_init_uta_tables, ldv_9_container_struct_ixgbe_hw_ptr); ldv_statevar_9 = 2; } goto ldv_63774; case_77: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_9_76(ldv_9_callback_led_off, ldv_9_container_struct_ixgbe_hw_ptr, ldv_9_ldv_param_76_1_default); ldv_statevar_9 = 2; } goto ldv_63774; case_80: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_9_79(ldv_9_callback_led_on, ldv_9_container_struct_ixgbe_hw_ptr, ldv_9_ldv_param_79_1_default); ldv_statevar_9 = 2; } goto ldv_63774; case_82: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_9_82(ldv_9_callback_mng_fw_enabled, ldv_9_container_struct_ixgbe_hw_ptr); ldv_statevar_9 = 2; } goto ldv_63774; case_84: /* CIL Label */ { tmp___11 = ldv_xmalloc(4UL); ldv_9_ldv_param_83_1_default = (unsigned int *)tmp___11; ldv_dummy_resourceless_instance_callback_9_83(ldv_9_callback_read, ldv_9_container_struct_ixgbe_hw_ptr, ldv_9_ldv_param_83_1_default, (int )ldv_9_ldv_param_83_2_default, (int )ldv_9_ldv_param_83_3_default); ldv_free((void *)ldv_9_ldv_param_83_1_default); ldv_statevar_9 = 2; } goto ldv_63774; case_87: /* CIL Label */ { tmp___12 = ldv_xmalloc(1UL); ldv_9_ldv_param_86_2_default = (unsigned char *)tmp___12; ldv_dummy_resourceless_instance_callback_9_86(ldv_9_callback_read_analog_reg8, ldv_9_container_struct_ixgbe_hw_ptr, ldv_9_ldv_param_86_1_default, ldv_9_ldv_param_86_2_default); ldv_free((void *)ldv_9_ldv_param_86_2_default); ldv_statevar_9 = 2; } goto ldv_63774; case_90: /* CIL Label */ { tmp___13 = ldv_xmalloc(2UL); ldv_9_ldv_param_89_3_default = (unsigned short *)tmp___13; ldv_dummy_resourceless_instance_callback_9_89(ldv_9_callback_read_buffer, ldv_9_container_struct_ixgbe_hw_ptr, (int )ldv_9_ldv_param_89_1_default, (int )ldv_9_ldv_param_89_2_default, ldv_9_ldv_param_89_3_default); ldv_free((void *)ldv_9_ldv_param_89_3_default); ldv_statevar_9 = 2; } goto ldv_63774; case_93: /* CIL Label */ { tmp___14 = ldv_xmalloc(1UL); ldv_9_ldv_param_92_3_default = (unsigned char *)tmp___14; ldv_dummy_resourceless_instance_callback_9_92(ldv_9_callback_read_i2c_byte, ldv_9_container_struct_ixgbe_hw_ptr, (int )ldv_9_ldv_param_92_1_default, (int )ldv_9_ldv_param_92_2_default, ldv_9_ldv_param_92_3_default); ldv_free((void *)ldv_9_ldv_param_92_3_default); ldv_statevar_9 = 2; } goto ldv_63774; case_96: /* CIL Label */ { tmp___15 = ldv_xmalloc(1UL); ldv_9_ldv_param_95_2_default = (unsigned char *)tmp___15; ldv_dummy_resourceless_instance_callback_9_95(ldv_9_callback_read_i2c_eeprom, ldv_9_container_struct_ixgbe_hw_ptr, (int )ldv_9_ldv_param_95_1_default, ldv_9_ldv_param_95_2_default); ldv_free((void *)ldv_9_ldv_param_95_2_default); ldv_statevar_9 = 2; } goto ldv_63774; case_99: /* CIL Label */ { tmp___16 = ldv_xmalloc(1UL); ldv_9_ldv_param_98_2_default = (unsigned char *)tmp___16; ldv_dummy_resourceless_instance_callback_9_98(ldv_9_callback_read_i2c_sff8472, ldv_9_container_struct_ixgbe_hw_ptr, (int )ldv_9_ldv_param_98_1_default, ldv_9_ldv_param_98_2_default); ldv_free((void *)ldv_9_ldv_param_98_2_default); ldv_statevar_9 = 2; } goto ldv_63774; case_102: /* CIL Label */ { tmp___17 = ldv_xmalloc(4UL); ldv_9_ldv_param_101_1_default = (unsigned int *)tmp___17; ldv_dummy_resourceless_instance_callback_9_101(ldv_9_callback_read_posted, ldv_9_container_struct_ixgbe_hw_ptr, ldv_9_ldv_param_101_1_default, (int )ldv_9_ldv_param_101_2_default, (int )ldv_9_ldv_param_101_3_default); ldv_free((void *)ldv_9_ldv_param_101_1_default); ldv_statevar_9 = 2; } goto ldv_63774; case_105: /* CIL Label */ { tmp___18 = ldv_xmalloc(2UL); ldv_9_ldv_param_104_3_default = (unsigned short *)tmp___18; ldv_dummy_resourceless_instance_callback_9_104(ldv_9_callback_read_reg, ldv_9_container_struct_ixgbe_hw_ptr, ldv_9_ldv_param_104_1_default, ldv_9_ldv_param_104_2_default, ldv_9_ldv_param_104_3_default); ldv_free((void *)ldv_9_ldv_param_104_3_default); ldv_statevar_9 = 2; } goto ldv_63774; case_108: /* CIL Label */ { tmp___19 = ldv_xmalloc(2UL); ldv_9_ldv_param_107_3_default = (unsigned short *)tmp___19; ldv_dummy_resourceless_instance_callback_9_107(ldv_9_callback_read_reg_mdi, ldv_9_container_struct_ixgbe_hw_ptr, ldv_9_ldv_param_107_1_default, ldv_9_ldv_param_107_2_default, ldv_9_ldv_param_107_3_default); ldv_free((void *)ldv_9_ldv_param_107_3_default); ldv_statevar_9 = 2; } goto ldv_63774; case_111: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_9_110(ldv_9_callback_release_swfw_sync, ldv_9_container_struct_ixgbe_hw_ptr, (int )ldv_9_ldv_param_110_1_default); ldv_statevar_9 = 2; } goto ldv_63774; case_113: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_9_113(ldv_9_callback_reset, ldv_9_container_struct_ixgbe_hw_ptr); ldv_statevar_9 = 2; } goto ldv_63774; case_114: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_9_114(ldv_9_callback_reset_hw, ldv_9_container_struct_ixgbe_hw_ptr); ldv_statevar_9 = 2; } goto ldv_63774; case_116: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_9_115(ldv_9_callback_set_fw_drv_ver, ldv_9_container_struct_ixgbe_hw_ptr, (int )ldv_9_ldv_param_115_1_default, (int )ldv_9_ldv_param_115_2_default, (int )ldv_9_ldv_param_115_3_default, (int )ldv_9_ldv_param_115_4_default); ldv_statevar_9 = 2; } goto ldv_63774; case_118: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_9_118(ldv_9_callback_set_lan_id, ldv_9_container_struct_ixgbe_hw_ptr); ldv_statevar_9 = 2; } goto ldv_63774; case_120: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_9_119(ldv_9_callback_set_mac_anti_spoofing, ldv_9_container_struct_ixgbe_hw_ptr, (int )ldv_9_ldv_param_119_1_default, ldv_9_ldv_param_119_2_default); ldv_statevar_9 = 2; } goto ldv_63774; case_123: /* CIL Label */ { tmp___20 = ldv_xmalloc(1UL); ldv_9_ldv_param_122_2_default = (unsigned char *)tmp___20; ldv_dummy_resourceless_instance_callback_9_122(ldv_9_callback_set_rar, ldv_9_container_struct_ixgbe_hw_ptr, ldv_9_ldv_param_122_1_default, ldv_9_ldv_param_122_2_default, ldv_9_ldv_param_122_3_default, ldv_9_ldv_param_122_4_default); ldv_free((void *)ldv_9_ldv_param_122_2_default); ldv_statevar_9 = 2; } goto ldv_63774; case_126: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_9_125(ldv_9_callback_set_rxpba, ldv_9_container_struct_ixgbe_hw_ptr, ldv_9_ldv_param_125_1_default, ldv_9_ldv_param_125_2_default, ldv_9_ldv_param_125_3_default); ldv_statevar_9 = 2; } goto ldv_63774; case_129: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_9_128(ldv_9_callback_set_vfta, ldv_9_container_struct_ixgbe_hw_ptr, ldv_9_ldv_param_128_1_default, ldv_9_ldv_param_128_2_default, (int )ldv_9_ldv_param_128_3_default); ldv_statevar_9 = 2; } goto ldv_63774; case_132: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_9_131(ldv_9_callback_set_vlan_anti_spoofing, ldv_9_container_struct_ixgbe_hw_ptr, (int )ldv_9_ldv_param_131_1_default, ldv_9_ldv_param_131_2_default); ldv_statevar_9 = 2; } goto ldv_63774; case_135: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_9_134(ldv_9_callback_set_vmdq, ldv_9_container_struct_ixgbe_hw_ptr, ldv_9_ldv_param_134_1_default, ldv_9_ldv_param_134_2_default); ldv_statevar_9 = 2; } goto ldv_63774; case_138: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_9_137(ldv_9_callback_set_vmdq_san_mac, ldv_9_container_struct_ixgbe_hw_ptr, ldv_9_ldv_param_137_1_default); ldv_statevar_9 = 2; } goto ldv_63774; case_140: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_9_140(ldv_9_callback_setup_link, ldv_9_container_struct_ixgbe_hw_ptr); ldv_statevar_9 = 2; } goto ldv_63774; case_142: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_9_141(ldv_9_callback_setup_link_speed, ldv_9_container_struct_ixgbe_hw_ptr, ldv_9_ldv_param_141_1_default, (int )ldv_9_ldv_param_141_2_default); ldv_statevar_9 = 2; } goto ldv_63774; case_144: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_9_144(ldv_9_callback_setup_sfp, ldv_9_container_struct_ixgbe_hw_ptr); ldv_statevar_9 = 2; } goto ldv_63774; case_145: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_9_145(ldv_9_callback_start_hw, ldv_9_container_struct_ixgbe_hw_ptr); ldv_statevar_9 = 2; } goto ldv_63774; case_146: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_9_146(ldv_9_callback_stop_adapter, ldv_9_container_struct_ixgbe_hw_ptr); ldv_statevar_9 = 2; } goto ldv_63774; case_147: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_9_147(ldv_9_callback_stop_link_on_d3, ldv_9_container_struct_ixgbe_hw_ptr); ldv_statevar_9 = 2; } goto ldv_63774; case_148: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_9_148(ldv_9_callback_update_checksum, ldv_9_container_struct_ixgbe_hw_ptr); ldv_statevar_9 = 2; } goto ldv_63774; case_149: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_9_149(ldv_9_callback_update_mc_addr_list, ldv_9_container_struct_ixgbe_hw_ptr, ldv_9_container_struct_net_device_ptr); ldv_statevar_9 = 2; } goto ldv_63774; case_151: /* CIL Label */ { tmp___21 = ldv_xmalloc(2UL); ldv_9_ldv_param_150_1_default = (unsigned short *)tmp___21; ldv_dummy_resourceless_instance_callback_9_150(ldv_9_callback_validate_checksum, ldv_9_container_struct_ixgbe_hw_ptr, ldv_9_ldv_param_150_1_default); ldv_free((void *)ldv_9_ldv_param_150_1_default); ldv_statevar_9 = 2; } goto ldv_63774; case_154: /* CIL Label */ { tmp___22 = ldv_xmalloc(4UL); ldv_9_ldv_param_153_1_default = (unsigned int *)tmp___22; ldv_dummy_resourceless_instance_callback_9_153(ldv_9_callback_write, ldv_9_container_struct_ixgbe_hw_ptr, ldv_9_ldv_param_153_1_default, (int )ldv_9_ldv_param_153_2_default, (int )ldv_9_ldv_param_153_3_default); ldv_free((void *)ldv_9_ldv_param_153_1_default); ldv_statevar_9 = 2; } goto ldv_63774; case_157: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_9_156(ldv_9_callback_write_analog_reg8, ldv_9_container_struct_ixgbe_hw_ptr, ldv_9_ldv_param_156_1_default, (int )ldv_9_ldv_param_156_2_default); ldv_statevar_9 = 2; } goto ldv_63774; case_160: /* CIL Label */ { tmp___23 = ldv_xmalloc(2UL); ldv_9_ldv_param_159_3_default = (unsigned short *)tmp___23; ldv_dummy_resourceless_instance_callback_9_159(ldv_9_callback_write_buffer, ldv_9_container_struct_ixgbe_hw_ptr, (int )ldv_9_ldv_param_159_1_default, (int )ldv_9_ldv_param_159_2_default, ldv_9_ldv_param_159_3_default); ldv_free((void *)ldv_9_ldv_param_159_3_default); ldv_statevar_9 = 2; } goto ldv_63774; case_163: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_9_162(ldv_9_callback_write_i2c_byte, ldv_9_container_struct_ixgbe_hw_ptr, (int )ldv_9_ldv_param_162_1_default, (int )ldv_9_ldv_param_162_2_default, (int )ldv_9_ldv_param_162_3_default); ldv_statevar_9 = 2; } goto ldv_63774; case_166: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_9_165(ldv_9_callback_write_i2c_eeprom, ldv_9_container_struct_ixgbe_hw_ptr, (int )ldv_9_ldv_param_165_1_default, (int )ldv_9_ldv_param_165_2_default); ldv_statevar_9 = 2; } goto ldv_63774; case_169: /* CIL Label */ { tmp___24 = ldv_xmalloc(4UL); ldv_9_ldv_param_168_1_default = (unsigned int *)tmp___24; ldv_dummy_resourceless_instance_callback_9_168(ldv_9_callback_write_posted, ldv_9_container_struct_ixgbe_hw_ptr, ldv_9_ldv_param_168_1_default, (int )ldv_9_ldv_param_168_2_default, (int )ldv_9_ldv_param_168_3_default); ldv_free((void *)ldv_9_ldv_param_168_1_default); ldv_statevar_9 = 2; } goto ldv_63774; case_172: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_9_171(ldv_9_callback_write_reg, ldv_9_container_struct_ixgbe_hw_ptr, ldv_9_ldv_param_171_1_default, ldv_9_ldv_param_171_2_default, (int )ldv_9_ldv_param_171_3_default); ldv_statevar_9 = 2; } goto ldv_63774; case_175: /* CIL Label */ { ldv_dummy_resourceless_instance_callback_9_174(ldv_9_callback_write_reg_mdi, ldv_9_container_struct_ixgbe_hw_ptr, ldv_9_ldv_param_174_1_default, ldv_9_ldv_param_174_2_default, (int )ldv_9_ldv_param_174_3_default); ldv_statevar_9 = 2; } goto ldv_63774; switch_default: /* CIL Label */ ; switch_break: /* CIL Label */ ; } ldv_63774: ; return; } } void ldv_struct_notifier_block_dummy_resourceless_instance_14(void *arg0 ) { int tmp ; int tmp___0 ; { { if (ldv_statevar_14 == 1) { goto case_1; } else { } if (ldv_statevar_14 == 2) { goto case_2; } else { } if (ldv_statevar_14 == 4) { goto case_4; } else { } if (ldv_statevar_14 == 5) { goto case_5; } else { } if (ldv_statevar_14 == 7) { goto case_7; } else { } goto switch_default; case_1: /* CIL Label */ ; goto ldv_63863; case_2: /* CIL Label */ { tmp = ldv_undef_int(); } if (tmp != 0) { ldv_statevar_14 = 1; } else { ldv_statevar_14 = 7; } goto ldv_63863; case_4: /* CIL Label */ { tmp___0 = ldv_undef_int(); } if (tmp___0 != 0) { ldv_statevar_14 = 1; } else { ldv_statevar_14 = 7; } goto ldv_63863; case_5: /* CIL Label */ ; goto ldv_63863; case_7: /* CIL Label */ { ldv_14_ldv_param_3_2_default = ldv_xmalloc(1UL); ldv_dummy_resourceless_instance_callback_14_3(ldv_14_callback_notifier_call, ldv_14_container_struct_notifier_block, ldv_14_ldv_param_3_1_default, ldv_14_ldv_param_3_2_default); ldv_free(ldv_14_ldv_param_3_2_default); ldv_statevar_14 = 2; } goto ldv_63863; switch_default: /* CIL Label */ ; switch_break: /* CIL Label */ ; } ldv_63863: ; return; } } int ldv_switch_0(void) { int tmp ; { { tmp = ldv_undef_int(); } { if (tmp == 0) { goto case_0; } else { } if (tmp == 1) { goto case_1; } else { } if (tmp == 2) { goto case_2; } else { } goto switch_default; case_0: /* CIL Label */ ; return (2); case_1: /* CIL Label */ ; return (18); case_2: /* CIL Label */ ; return (20); switch_default: /* CIL Label */ { ldv_stop(); } switch_break: /* CIL Label */ ; } return (0); } } int ldv_switch_1(void) { int tmp ; { { tmp = ldv_undef_int(); } { if (tmp == 0) { goto case_0; } else { } if (tmp == 1) { goto case_1; } else { } if (tmp == 2) { goto case_2; } else { } if (tmp == 3) { goto case_3; } else { } if (tmp == 4) { goto case_4; } else { } if (tmp == 5) { goto case_5; } else { } if (tmp == 6) { goto case_6; } else { } if (tmp == 7) { goto case_7; } else { } if (tmp == 8) { goto case_8; } else { } if (tmp == 9) { goto case_9; } else { } if (tmp == 10) { goto case_10; } else { } if (tmp == 11) { goto case_11; } else { } if (tmp == 12) { goto case_12; } else { } if (tmp == 13) { goto case_13; } else { } if (tmp == 14) { goto case_14; } else { } if (tmp == 15) { goto case_15; } else { } if (tmp == 16) { goto case_16; } else { } if (tmp == 17) { goto case_17; } else { } if (tmp == 18) { goto case_18; } else { } if (tmp == 19) { goto case_19; } else { } if (tmp == 20) { goto case_20; } else { } if (tmp == 21) { goto case_21; } else { } if (tmp == 22) { goto case_22; } else { } if (tmp == 23) { goto case_23; } else { } if (tmp == 24) { goto case_24; } else { } if (tmp == 25) { goto case_25; } else { } if (tmp == 26) { goto case_26; } else { } if (tmp == 27) { goto case_27; } else { } if (tmp == 28) { goto case_28; } else { } if (tmp == 29) { goto case_29; } else { } if (tmp == 30) { goto case_30; } else { } if (tmp == 31) { goto case_31; } else { } if (tmp == 32) { goto case_32; } else { } if (tmp == 33) { goto case_33; } else { } if (tmp == 34) { goto case_34; } else { } if (tmp == 35) { goto case_35; } else { } if (tmp == 36) { goto case_36; } else { } if (tmp == 37) { goto case_37; } else { } if (tmp == 38) { goto case_38; } else { } if (tmp == 39) { goto case_39; } else { } if (tmp == 40) { goto case_40; } else { } if (tmp == 41) { goto case_41; } else { } if (tmp == 42) { goto case_42; } else { } if (tmp == 43) { goto case_43; } else { } if (tmp == 44) { goto case_44; } else { } if (tmp == 45) { goto case_45; } else { } if (tmp == 46) { goto case_46; } else { } if (tmp == 47) { goto case_47; } else { } if (tmp == 48) { goto case_48; } else { } if (tmp == 49) { goto case_49; } else { } if (tmp == 50) { goto case_50; } else { } if (tmp == 51) { goto case_51; } else { } if (tmp == 52) { goto case_52; } else { } if (tmp == 53) { goto case_53; } else { } if (tmp == 54) { goto case_54; } else { } if (tmp == 55) { goto case_55; } else { } if (tmp == 56) { goto case_56; } else { } if (tmp == 57) { goto case_57; } else { } if (tmp == 58) { goto case_58; } else { } if (tmp == 59) { goto case_59; } else { } if (tmp == 60) { goto case_60; } else { } if (tmp == 61) { goto case_61; } else { } if (tmp == 62) { goto case_62; } else { } if (tmp == 63) { goto case_63; } else { } if (tmp == 64) { goto case_64; } else { } if (tmp == 65) { goto case_65; } else { } if (tmp == 66) { goto case_66; } else { } if (tmp == 67) { goto case_67; } else { } if (tmp == 68) { goto case_68; } else { } if (tmp == 69) { goto case_69; } else { } if (tmp == 70) { goto case_70; } else { } if (tmp == 71) { goto case_71; } else { } if (tmp == 72) { goto case_72; } else { } if (tmp == 73) { goto case_73; } else { } if (tmp == 74) { goto case_74; } else { } if (tmp == 75) { goto case_75; } else { } if (tmp == 76) { goto case_76; } else { } if (tmp == 77) { goto case_77; } else { } if (tmp == 78) { goto case_78; } else { } if (tmp == 79) { goto case_79; } else { } if (tmp == 80) { goto case_80; } else { } if (tmp == 81) { goto case_81; } else { } if (tmp == 82) { goto case_82; } else { } if (tmp == 83) { goto case_83; } else { } if (tmp == 84) { goto case_84; } else { } if (tmp == 85) { goto case_85; } else { } if (tmp == 86) { goto case_86; } else { } if (tmp == 87) { goto case_87; } else { } if (tmp == 88) { goto case_88; } else { } if (tmp == 89) { goto case_89; } else { } if (tmp == 90) { goto case_90; } else { } if (tmp == 91) { goto case_91; } else { } if (tmp == 92) { goto case_92; } else { } if (tmp == 93) { goto case_93; } else { } goto switch_default; case_0: /* CIL Label */ ; return (1); case_1: /* CIL Label */ ; return (3); case_2: /* CIL Label */ ; return (7); case_3: /* CIL Label */ ; return (8); case_4: /* CIL Label */ ; return (10); case_5: /* CIL Label */ ; return (12); case_6: /* CIL Label */ ; return (14); case_7: /* CIL Label */ ; return (16); case_8: /* CIL Label */ ; return (18); case_9: /* CIL Label */ ; return (20); case_10: /* CIL Label */ ; return (21); case_11: /* CIL Label */ ; return (22); case_12: /* CIL Label */ ; return (23); case_13: /* CIL Label */ ; return (24); case_14: /* CIL Label */ ; return (25); case_15: /* CIL Label */ ; return (27); case_16: /* CIL Label */ ; return (29); case_17: /* CIL Label */ ; return (31); case_18: /* CIL Label */ ; return (34); case_19: /* CIL Label */ ; return (36); case_20: /* CIL Label */ ; return (37); case_21: /* CIL Label */ ; return (39); case_22: /* CIL Label */ ; return (42); case_23: /* CIL Label */ ; return (44); case_24: /* CIL Label */ ; return (46); case_25: /* CIL Label */ ; return (49); case_26: /* CIL Label */ ; return (52); case_27: /* CIL Label */ ; return (54); case_28: /* CIL Label */ ; return (56); case_29: /* CIL Label */ ; return (59); case_30: /* CIL Label */ ; return (62); case_31: /* CIL Label */ ; return (65); case_32: /* CIL Label */ ; return (67); case_33: /* CIL Label */ ; return (68); case_34: /* CIL Label */ ; return (69); case_35: /* CIL Label */ ; return (70); case_36: /* CIL Label */ ; return (71); case_37: /* CIL Label */ ; return (72); case_38: /* CIL Label */ ; return (73); case_39: /* CIL Label */ ; return (75); case_40: /* CIL Label */ ; return (77); case_41: /* CIL Label */ ; return (78); case_42: /* CIL Label */ ; return (80); case_43: /* CIL Label */ ; return (83); case_44: /* CIL Label */ ; return (85); case_45: /* CIL Label */ ; return (87); case_46: /* CIL Label */ ; return (90); case_47: /* CIL Label */ ; return (93); case_48: /* CIL Label */ ; return (96); case_49: /* CIL Label */ ; return (98); case_50: /* CIL Label */ ; return (99); case_51: /* CIL Label */ ; return (100); case_52: /* CIL Label */ ; return (102); case_53: /* CIL Label */ ; return (105); case_54: /* CIL Label */ ; return (108); case_55: /* CIL Label */ ; return (110); case_56: /* CIL Label */ ; return (112); case_57: /* CIL Label */ ; return (114); case_58: /* CIL Label */ ; return (116); case_59: /* CIL Label */ ; return (119); case_60: /* CIL Label */ ; return (121); case_61: /* CIL Label */ ; return (122); case_62: /* CIL Label */ ; return (124); case_63: /* CIL Label */ ; return (127); case_64: /* CIL Label */ ; return (130); case_65: /* CIL Label */ ; return (133); case_66: /* CIL Label */ ; return (136); case_67: /* CIL Label */ ; return (138); case_68: /* CIL Label */ ; return (139); case_69: /* CIL Label */ ; return (140); case_70: /* CIL Label */ ; return (142); case_71: /* CIL Label */ ; return (145); case_72: /* CIL Label */ ; return (147); case_73: /* CIL Label */ ; return (149); case_74: /* CIL Label */ ; return (151); case_75: /* CIL Label */ ; return (152); case_76: /* CIL Label */ ; return (154); case_77: /* CIL Label */ ; return (157); case_78: /* CIL Label */ ; return (159); case_79: /* CIL Label */ ; return (160); case_80: /* CIL Label */ ; return (161); case_81: /* CIL Label */ ; return (162); case_82: /* CIL Label */ ; return (163); case_83: /* CIL Label */ ; return (164); case_84: /* CIL Label */ ; return (165); case_85: /* CIL Label */ ; return (167); case_86: /* CIL Label */ ; return (170); case_87: /* CIL Label */ ; return (173); case_88: /* CIL Label */ ; return (176); case_89: /* CIL Label */ ; return (179); case_90: /* CIL Label */ ; return (182); case_91: /* CIL Label */ ; return (185); case_92: /* CIL Label */ ; return (188); case_93: /* CIL Label */ ; return (191); switch_default: /* CIL Label */ { ldv_stop(); } switch_break: /* CIL Label */ ; } return (0); } } int ldv_switch_2(void) { int tmp ; { { tmp = ldv_undef_int(); } { if (tmp == 0) { goto case_0; } else { } if (tmp == 1) { goto case_1; } else { } if (tmp == 2) { goto case_2; } else { } if (tmp == 3) { goto case_3; } else { } if (tmp == 4) { goto case_4; } else { } if (tmp == 5) { goto case_5; } else { } goto switch_default; case_0: /* CIL Label */ ; return (3); case_1: /* CIL Label */ ; return (8); case_2: /* CIL Label */ ; return (10); case_3: /* CIL Label */ ; return (23); case_4: /* CIL Label */ ; return (24); case_5: /* CIL Label */ ; return (26); switch_default: /* CIL Label */ { ldv_stop(); } switch_break: /* CIL Label */ ; } return (0); } } int ldv_switch_3(void) { int tmp ; { { tmp = ldv_undef_int(); } { if (tmp == 0) { goto case_0; } else { } if (tmp == 1) { goto case_1; } else { } if (tmp == 2) { goto case_2; } else { } if (tmp == 3) { goto case_3; } else { } if (tmp == 4) { goto case_4; } else { } if (tmp == 5) { goto case_5; } else { } if (tmp == 6) { goto case_6; } else { } if (tmp == 7) { goto case_7; } else { } if (tmp == 8) { goto case_8; } else { } if (tmp == 9) { goto case_9; } else { } if (tmp == 10) { goto case_10; } else { } if (tmp == 11) { goto case_11; } else { } if (tmp == 12) { goto case_12; } else { } if (tmp == 13) { goto case_13; } else { } if (tmp == 14) { goto case_14; } else { } if (tmp == 15) { goto case_15; } else { } if (tmp == 16) { goto case_16; } else { } if (tmp == 17) { goto case_17; } else { } if (tmp == 18) { goto case_18; } else { } if (tmp == 19) { goto case_19; } else { } if (tmp == 20) { goto case_20; } else { } if (tmp == 21) { goto case_21; } else { } if (tmp == 22) { goto case_22; } else { } if (tmp == 23) { goto case_23; } else { } if (tmp == 24) { goto case_24; } else { } if (tmp == 25) { goto case_25; } else { } if (tmp == 26) { goto case_26; } else { } if (tmp == 27) { goto case_27; } else { } if (tmp == 28) { goto case_28; } else { } if (tmp == 29) { goto case_29; } else { } if (tmp == 30) { goto case_30; } else { } if (tmp == 31) { goto case_31; } else { } if (tmp == 32) { goto case_32; } else { } if (tmp == 33) { goto case_33; } else { } if (tmp == 34) { goto case_34; } else { } if (tmp == 35) { goto case_35; } else { } if (tmp == 36) { goto case_36; } else { } if (tmp == 37) { goto case_37; } else { } if (tmp == 38) { goto case_38; } else { } if (tmp == 39) { goto case_39; } else { } if (tmp == 40) { goto case_40; } else { } if (tmp == 41) { goto case_41; } else { } if (tmp == 42) { goto case_42; } else { } if (tmp == 43) { goto case_43; } else { } if (tmp == 44) { goto case_44; } else { } if (tmp == 45) { goto case_45; } else { } if (tmp == 46) { goto case_46; } else { } if (tmp == 47) { goto case_47; } else { } if (tmp == 48) { goto case_48; } else { } if (tmp == 49) { goto case_49; } else { } if (tmp == 50) { goto case_50; } else { } if (tmp == 51) { goto case_51; } else { } if (tmp == 52) { goto case_52; } else { } if (tmp == 53) { goto case_53; } else { } if (tmp == 54) { goto case_54; } else { } if (tmp == 55) { goto case_55; } else { } if (tmp == 56) { goto case_56; } else { } if (tmp == 57) { goto case_57; } else { } if (tmp == 58) { goto case_58; } else { } if (tmp == 59) { goto case_59; } else { } if (tmp == 60) { goto case_60; } else { } if (tmp == 61) { goto case_61; } else { } if (tmp == 62) { goto case_62; } else { } if (tmp == 63) { goto case_63; } else { } if (tmp == 64) { goto case_64; } else { } if (tmp == 65) { goto case_65; } else { } if (tmp == 66) { goto case_66; } else { } if (tmp == 67) { goto case_67; } else { } if (tmp == 68) { goto case_68; } else { } if (tmp == 69) { goto case_69; } else { } if (tmp == 70) { goto case_70; } else { } if (tmp == 71) { goto case_71; } else { } if (tmp == 72) { goto case_72; } else { } if (tmp == 73) { goto case_73; } else { } if (tmp == 74) { goto case_74; } else { } if (tmp == 75) { goto case_75; } else { } if (tmp == 76) { goto case_76; } else { } if (tmp == 77) { goto case_77; } else { } if (tmp == 78) { goto case_78; } else { } goto switch_default; case_0: /* CIL Label */ ; return (3); case_1: /* CIL Label */ ; return (10); case_2: /* CIL Label */ ; return (13); case_3: /* CIL Label */ ; return (15); case_4: /* CIL Label */ ; return (17); case_5: /* CIL Label */ ; return (20); case_6: /* CIL Label */ ; return (23); case_7: /* CIL Label */ ; return (26); case_8: /* CIL Label */ ; return (28); case_9: /* CIL Label */ ; return (29); case_10: /* CIL Label */ ; return (31); case_11: /* CIL Label */ ; return (33); case_12: /* CIL Label */ ; return (35); case_13: /* CIL Label */ ; return (37); case_14: /* CIL Label */ ; return (38); case_15: /* CIL Label */ ; return (39); case_16: /* CIL Label */ ; return (40); case_17: /* CIL Label */ ; return (42); case_18: /* CIL Label */ ; return (44); case_19: /* CIL Label */ ; return (45); case_20: /* CIL Label */ ; return (47); case_21: /* CIL Label */ ; return (50); case_22: /* CIL Label */ ; return (52); case_23: /* CIL Label */ ; return (54); case_24: /* CIL Label */ ; return (57); case_25: /* CIL Label */ ; return (59); case_26: /* CIL Label */ ; return (61); case_27: /* CIL Label */ ; return (63); case_28: /* CIL Label */ ; return (64); case_29: /* CIL Label */ ; return (66); case_30: /* CIL Label */ ; return (68); case_31: /* CIL Label */ ; return (69); case_32: /* CIL Label */ ; return (70); case_33: /* CIL Label */ ; return (71); case_34: /* CIL Label */ ; return (72); case_35: /* CIL Label */ ; return (73); case_36: /* CIL Label */ ; return (74); case_37: /* CIL Label */ ; return (75); case_38: /* CIL Label */ ; return (77); case_39: /* CIL Label */ ; return (80); case_40: /* CIL Label */ ; return (82); case_41: /* CIL Label */ ; return (84); case_42: /* CIL Label */ ; return (87); case_43: /* CIL Label */ ; return (90); case_44: /* CIL Label */ ; return (93); case_45: /* CIL Label */ ; return (96); case_46: /* CIL Label */ ; return (99); case_47: /* CIL Label */ ; return (102); case_48: /* CIL Label */ ; return (105); case_49: /* CIL Label */ ; return (108); case_50: /* CIL Label */ ; return (111); case_51: /* CIL Label */ ; return (113); case_52: /* CIL Label */ ; return (114); case_53: /* CIL Label */ ; return (116); case_54: /* CIL Label */ ; return (118); case_55: /* CIL Label */ ; return (120); case_56: /* CIL Label */ ; return (123); case_57: /* CIL Label */ ; return (126); case_58: /* CIL Label */ ; return (129); case_59: /* CIL Label */ ; return (132); case_60: /* CIL Label */ ; return (135); case_61: /* CIL Label */ ; return (138); case_62: /* CIL Label */ ; return (140); case_63: /* CIL Label */ ; return (142); case_64: /* CIL Label */ ; return (144); case_65: /* CIL Label */ ; return (145); case_66: /* CIL Label */ ; return (146); case_67: /* CIL Label */ ; return (147); case_68: /* CIL Label */ ; return (148); case_69: /* CIL Label */ ; return (149); case_70: /* CIL Label */ ; return (151); case_71: /* CIL Label */ ; return (154); case_72: /* CIL Label */ ; return (157); case_73: /* CIL Label */ ; return (160); case_74: /* CIL Label */ ; return (163); case_75: /* CIL Label */ ; return (166); case_76: /* CIL Label */ ; return (169); case_77: /* CIL Label */ ; return (172); case_78: /* CIL Label */ ; return (175); switch_default: /* CIL Label */ { ldv_stop(); } switch_break: /* CIL Label */ ; } return (0); } } void ldv_switch_automaton_state_10_1(void) { { ldv_statevar_10 = 5; return; } } void ldv_switch_automaton_state_10_5(void) { { ldv_statevar_10 = 4; return; } } void ldv_switch_automaton_state_11_1(void) { { ldv_statevar_11 = 5; return; } } void ldv_switch_automaton_state_11_5(void) { { ldv_statevar_11 = 4; return; } } void ldv_switch_automaton_state_12_1(void) { { ldv_statevar_12 = 5; return; } } void ldv_switch_automaton_state_12_5(void) { { ldv_statevar_12 = 4; return; } } void ldv_switch_automaton_state_13_1(void) { { ldv_statevar_13 = 5; return; } } void ldv_switch_automaton_state_13_5(void) { { ldv_statevar_13 = 4; return; } } void ldv_switch_automaton_state_14_1(void) { { ldv_statevar_14 = 5; return; } } void ldv_switch_automaton_state_14_5(void) { { ldv_statevar_14 = 4; return; } } void ldv_switch_automaton_state_15_1(void) { { ldv_statevar_15 = 3; return; } } void ldv_switch_automaton_state_15_3(void) { { ldv_statevar_15 = 2; return; } } void ldv_switch_automaton_state_2_1(void) { { ldv_statevar_2 = 6; return; } } void ldv_switch_automaton_state_2_6(void) { { ldv_statevar_2 = 5; return; } } void ldv_switch_automaton_state_3_1(void) { { ldv_statevar_3 = 6; return; } } void ldv_switch_automaton_state_3_6(void) { { ldv_statevar_3 = 5; return; } } void ldv_switch_automaton_state_4_1(void) { { ldv_statevar_4 = 6; return; } } void ldv_switch_automaton_state_4_6(void) { { ldv_statevar_4 = 5; return; } } void ldv_switch_automaton_state_6_1(void) { { ldv_statevar_6 = 5; return; } } void ldv_switch_automaton_state_6_5(void) { { ldv_statevar_6 = 4; return; } } void ldv_switch_automaton_state_7_11(void) { { ldv_7_ret_default = 1; ldv_statevar_7 = 20; return; } } void ldv_switch_automaton_state_7_20(void) { { ldv_statevar_7 = 19; return; } } void ldv_switch_automaton_state_8_1(void) { { ldv_statevar_8 = 5; return; } } void ldv_switch_automaton_state_8_5(void) { { ldv_statevar_8 = 4; return; } } void ldv_switch_automaton_state_9_1(void) { { ldv_statevar_9 = 5; return; } } void ldv_switch_automaton_state_9_5(void) { { ldv_statevar_9 = 4; return; } } void ldv_timer_instance_callback_15_2(void (*arg0)(unsigned long ) , unsigned long arg1 ) { { { (*arg0)(arg1); } return; } } void ldv_timer_timer_instance_15(void *arg0 ) { { { if (ldv_statevar_15 == 2) { goto case_2; } else { } if (ldv_statevar_15 == 3) { goto case_3; } else { } goto switch_default; case_2: /* CIL Label */ { ldv_switch_to_interrupt_context(); } if ((unsigned long )ldv_15_container_timer_list->function != (unsigned long )((void (*)(unsigned long ))0)) { { ldv_timer_instance_callback_15_2(ldv_15_container_timer_list->function, ldv_15_container_timer_list->data); } } else { } { ldv_switch_to_process_context(); ldv_statevar_15 = 3; } goto ldv_64124; case_3: /* CIL Label */ ; goto ldv_64124; switch_default: /* CIL Label */ ; switch_break: /* CIL Label */ ; } ldv_64124: ; return; } } void ldv_unregister_netdev(void *arg0 , struct net_device *arg1 ) { struct net_device *ldv_26_netdev_net_device ; { { ldv_26_netdev_net_device = arg1; ldv_assume((((ldv_statevar_2 == 2 || ldv_statevar_3 == 2) || ldv_statevar_4 == 2) || ldv_statevar_5 == 2) || ldv_statevar_15 == 2); ldv_unregister_netdev_stop_26_2((ldv_26_netdev_net_device->netdev_ops)->ndo_stop, ldv_26_netdev_net_device); ldv_assume(ldv_statevar_6 == 1); ldv_dispatch_deregister_26_1(ldv_26_netdev_net_device); } return; return; } } void ldv_unregister_netdev_stop_26_2(int (*arg0)(struct net_device * ) , struct net_device *arg1 ) { { { ixgbe_close(arg1); } return; } } __inline static void *ERR_PTR(long error ) { void *tmp ; { { tmp = ldv_err_ptr(error); } return (tmp); } } __inline static void atomic_inc(atomic_t *v ) { { { ldv_atomic_inc(v); } return; } } static void *ldv_dev_get_drvdata_16(struct device const *dev ) { void *tmp ; { { tmp = ldv_dev_get_drvdata(dev); } return (tmp); } } static int ldv_dev_set_drvdata_17(struct device *dev , void *data ) { int tmp ; { { tmp = ldv_dev_set_drvdata(dev, data); } return (tmp); } } static void *ldv_dev_get_drvdata_18(struct device const *dev ) { void *tmp ; { { tmp = ldv_dev_get_drvdata(dev); } return (tmp); } } __inline static int ldv_request_irq_19(unsigned int irq , irqreturn_t (*handler)(int , void * ) , unsigned long flags , char const *name , void *dev ) { ldv_func_ret_type ldv_func_res ; int tmp ; int tmp___0 ; { { tmp = request_irq(irq, handler, flags, name, dev); ldv_func_res = tmp; tmp___0 = ldv_request_irq(ldv_func_res, irq, handler, flags, (char *)name, dev); } return (tmp___0); return (ldv_func_res); } } __inline static int ldv_request_irq_20(unsigned int irq , irqreturn_t (*handler)(int , void * ) , unsigned long flags , char const *name , void *dev ) { ldv_func_ret_type___0 ldv_func_res ; int tmp ; int tmp___0 ; { { tmp = request_irq(irq, handler, flags, name, dev); ldv_func_res = tmp; tmp___0 = ldv_request_irq(ldv_func_res, irq, handler, flags, (char *)name, dev); } return (tmp___0); return (ldv_func_res); } } static void ldv_free_irq_21(unsigned int ldv_func_arg1 , void *ldv_func_arg2 ) { { { free_irq(ldv_func_arg1, ldv_func_arg2); ldv_free_irq((void *)0, (int )ldv_func_arg1, ldv_func_arg2); } return; } } __inline static int ldv_request_irq_22(unsigned int irq , irqreturn_t (*handler)(int , void * ) , unsigned long flags , char const *name , void *dev ) { ldv_func_ret_type___1 ldv_func_res ; int tmp ; int tmp___0 ; { { tmp = request_irq(irq, handler, flags, name, dev); ldv_func_res = tmp; tmp___0 = ldv_request_irq(ldv_func_res, irq, handler, flags, (char *)name, dev); } return (tmp___0); return (ldv_func_res); } } __inline static int ldv_request_irq_23(unsigned int irq , irqreturn_t (*handler)(int , void * ) , unsigned long flags , char const *name , void *dev ) { ldv_func_ret_type___2 ldv_func_res ; int tmp ; int tmp___0 ; { { tmp = request_irq(irq, handler, flags, name, dev); ldv_func_res = tmp; tmp___0 = ldv_request_irq(ldv_func_res, irq, handler, flags, (char *)name, dev); } return (tmp___0); return (ldv_func_res); } } static void ldv_free_irq_24(unsigned int ldv_func_arg1 , void *ldv_func_arg2 ) { { { free_irq(ldv_func_arg1, ldv_func_arg2); ldv_free_irq((void *)0, (int )ldv_func_arg1, ldv_func_arg2); } return; } } static void ldv_free_irq_25(unsigned int ldv_func_arg1 , void *ldv_func_arg2 ) { { { free_irq(ldv_func_arg1, ldv_func_arg2); ldv_free_irq((void *)0, (int )ldv_func_arg1, ldv_func_arg2); } return; } } static void ldv_free_irq_26(unsigned int ldv_func_arg1 , void *ldv_func_arg2 ) { { { free_irq(ldv_func_arg1, ldv_func_arg2); ldv_free_irq((void *)0, (int )ldv_func_arg1, ldv_func_arg2); } return; } } static int ldv_mod_timer_27(struct timer_list *ldv_func_arg1 , unsigned long ldv_func_arg2 ) { ldv_func_ret_type___3 ldv_func_res ; int tmp ; int tmp___0 ; { { tmp = mod_timer(ldv_func_arg1, ldv_func_arg2); ldv_func_res = tmp; tmp___0 = ldv_mod_timer(ldv_func_res, ldv_func_arg1, ldv_func_arg2); } return (tmp___0); return (ldv_func_res); } } static int ldv_del_timer_sync_28(struct timer_list *ldv_func_arg1 ) { ldv_func_ret_type___4 ldv_func_res ; int tmp ; int tmp___0 ; { { tmp = del_timer_sync(ldv_func_arg1); ldv_func_res = tmp; tmp___0 = ldv_del_timer_sync(ldv_func_res, ldv_func_arg1); } return (tmp___0); return (ldv_func_res); } } static void ldv_unregister_netdev_29(struct net_device *ldv_func_arg1 ) { { { unregister_netdev(ldv_func_arg1); ldv_unregister_netdev((void *)0, ldv_func_arg1); } return; } } static int ldv_mod_timer_30(struct timer_list *ldv_func_arg1 , unsigned long ldv_func_arg2 ) { ldv_func_ret_type___5 ldv_func_res ; int tmp ; int tmp___0 ; { { tmp = mod_timer(ldv_func_arg1, ldv_func_arg2); ldv_func_res = tmp; tmp___0 = ldv_mod_timer(ldv_func_res, ldv_func_arg1, ldv_func_arg2); } return (tmp___0); return (ldv_func_res); } } static struct net_device *ldv_alloc_etherdev_mqs_31(int ldv_func_arg1 , unsigned int ldv_func_arg2 , unsigned int ldv_func_arg3 ) { ldv_func_ret_type___6 ldv_func_res ; struct net_device *tmp ; struct net_device *tmp___0 ; { { tmp = alloc_etherdev_mqs(ldv_func_arg1, ldv_func_arg2, ldv_func_arg3); ldv_func_res = tmp; tmp___0 = ldv_alloc_etherdev_mqs(ldv_func_res, ldv_func_arg1, ldv_func_arg2, ldv_func_arg3); } return (tmp___0); return (ldv_func_res); } } static int ldv_register_netdev_32(struct net_device *ldv_func_arg1 ) { ldv_func_ret_type___7 ldv_func_res ; int tmp ; int tmp___0 ; { { tmp = register_netdev(ldv_func_arg1); ldv_func_res = tmp; tmp___0 = ldv_register_netdev(ldv_func_res, ldv_func_arg1); } return (tmp___0); return (ldv_func_res); } } static void ldv_free_netdev_33(struct net_device *ldv_func_arg1 ) { { { free_netdev(ldv_func_arg1); ldv_free_netdev((void *)0, ldv_func_arg1); } return; } } static void ldv_unregister_netdev_34(struct net_device *ldv_func_arg1 ) { { { unregister_netdev(ldv_func_arg1); ldv_unregister_netdev((void *)0, ldv_func_arg1); } return; } } static void ldv_free_netdev_35(struct net_device *ldv_func_arg1 ) { { { free_netdev(ldv_func_arg1); ldv_free_netdev((void *)0, ldv_func_arg1); } return; } } static int ldv___pci_register_driver_36(struct pci_driver *ldv_func_arg1 , struct module *ldv_func_arg2 , char const *ldv_func_arg3 ) { ldv_func_ret_type___8 ldv_func_res ; int tmp ; int tmp___0 ; { { tmp = __pci_register_driver(ldv_func_arg1, ldv_func_arg2, ldv_func_arg3); ldv_func_res = tmp; tmp___0 = ldv___pci_register_driver(ldv_func_res, ldv_func_arg1, ldv_func_arg2, (char *)ldv_func_arg3); } return (tmp___0); return (ldv_func_res); } } static void ldv_dca_register_notify_37(struct notifier_block *ldv_func_arg1 ) { { { dca_register_notify(ldv_func_arg1); ldv_dca_register_notify((void *)0, ldv_func_arg1); } return; } } static void ldv_dca_unregister_notify_38(struct notifier_block *ldv_func_arg1 ) { { { dca_unregister_notify(ldv_func_arg1); ldv_dca_unregister_notify((void *)0, ldv_func_arg1); } return; } } static void ldv_pci_unregister_driver_39(struct pci_driver *ldv_func_arg1 ) { { { pci_unregister_driver(ldv_func_arg1); ldv_pci_unregister_driver((void *)0, ldv_func_arg1); } return; } } static int ldv_ldv_post_probe_40(int ldv_func_arg1 ) { int tmp ; { { ldv_check_return_value_probe(ldv_func_arg1); tmp = ldv_post_probe(ldv_func_arg1); } return (tmp); } } extern int pci_bus_read_config_word(struct pci_bus * , unsigned int , int , u16 * ) ; __inline static int pci_read_config_word(struct pci_dev const *dev , int where , u16 *val ) { int tmp ; { { tmp = pci_bus_read_config_word(dev->bus, dev->devfn, where, val); } return (tmp); } } u16 ixgbe_get_pcie_msix_count_generic(struct ixgbe_hw *hw ) ; s32 ixgbe_init_hw_generic(struct ixgbe_hw *hw ) ; s32 ixgbe_start_hw_generic(struct ixgbe_hw *hw ) ; s32 ixgbe_start_hw_gen2(struct ixgbe_hw *hw ) ; s32 ixgbe_clear_hw_cntrs_generic(struct ixgbe_hw *hw ) ; s32 ixgbe_get_mac_addr_generic(struct ixgbe_hw *hw , u8 *mac_addr ) ; s32 ixgbe_get_bus_info_generic(struct ixgbe_hw *hw ) ; void ixgbe_set_lan_id_multi_port_pcie(struct ixgbe_hw *hw ) ; s32 ixgbe_stop_adapter_generic(struct ixgbe_hw *hw ) ; s32 ixgbe_led_on_generic(struct ixgbe_hw *hw , u32 index ) ; s32 ixgbe_led_off_generic(struct ixgbe_hw *hw , u32 index ) ; s32 ixgbe_write_eeprom_generic(struct ixgbe_hw *hw , u16 offset , u16 data ) ; s32 ixgbe_write_eeprom_buffer_bit_bang_generic(struct ixgbe_hw *hw , u16 offset , u16 words , u16 *data ) ; s32 ixgbe_read_eerd_generic(struct ixgbe_hw *hw , u16 offset , u16 *data ) ; s32 ixgbe_read_eerd_buffer_generic(struct ixgbe_hw *hw , u16 offset , u16 words , u16 *data ) ; s32 ixgbe_write_eewr_generic(struct ixgbe_hw *hw , u16 offset , u16 data ) ; s32 ixgbe_write_eewr_buffer_generic(struct ixgbe_hw *hw , u16 offset , u16 words , u16 *data ) ; s32 ixgbe_read_eeprom_buffer_bit_bang_generic(struct ixgbe_hw *hw , u16 offset , u16 words , u16 *data ) ; u16 ixgbe_calc_eeprom_checksum_generic(struct ixgbe_hw *hw ) ; s32 ixgbe_validate_eeprom_checksum_generic(struct ixgbe_hw *hw , u16 *checksum_val ) ; s32 ixgbe_update_eeprom_checksum_generic(struct ixgbe_hw *hw ) ; s32 ixgbe_set_rar_generic(struct ixgbe_hw *hw , u32 index , u8 *addr , u32 vmdq , u32 enable_addr ) ; s32 ixgbe_clear_rar_generic(struct ixgbe_hw *hw , u32 index ) ; s32 ixgbe_init_rx_addrs_generic(struct ixgbe_hw *hw ) ; s32 ixgbe_update_mc_addr_list_generic(struct ixgbe_hw *hw , struct net_device *netdev ) ; s32 ixgbe_enable_mc_generic(struct ixgbe_hw *hw ) ; s32 ixgbe_disable_mc_generic(struct ixgbe_hw *hw ) ; s32 ixgbe_disable_rx_buff_generic(struct ixgbe_hw *hw ) ; s32 ixgbe_enable_rx_buff_generic(struct ixgbe_hw *hw ) ; s32 ixgbe_enable_rx_dma_generic(struct ixgbe_hw *hw , u32 regval ) ; s32 ixgbe_fc_enable_generic(struct ixgbe_hw *hw ) ; void ixgbe_fc_autoneg(struct ixgbe_hw *hw ) ; s32 ixgbe_acquire_swfw_sync(struct ixgbe_hw *hw , u16 mask ) ; void ixgbe_release_swfw_sync(struct ixgbe_hw *hw , u16 mask ) ; s32 ixgbe_get_san_mac_addr_generic(struct ixgbe_hw *hw , u8 *san_mac_addr ) ; s32 ixgbe_set_vmdq_generic(struct ixgbe_hw *hw , u32 rar , u32 vmdq ) ; s32 ixgbe_set_vmdq_san_mac_generic(struct ixgbe_hw *hw , u32 vmdq ) ; s32 ixgbe_clear_vmdq_generic(struct ixgbe_hw *hw , u32 rar , u32 vmdq ) ; s32 ixgbe_init_uta_tables_generic(struct ixgbe_hw *hw ) ; s32 ixgbe_set_vfta_generic(struct ixgbe_hw *hw , u32 vlan , u32 vind , bool vlan_on ) ; s32 ixgbe_clear_vfta_generic(struct ixgbe_hw *hw ) ; s32 ixgbe_check_mac_link_generic(struct ixgbe_hw *hw , ixgbe_link_speed *speed , bool *link_up , bool link_up_wait_to_complete ) ; s32 ixgbe_get_wwn_prefix_generic(struct ixgbe_hw *hw , u16 *wwnn_prefix , u16 *wwpn_prefix ) ; s32 ixgbe_blink_led_start_generic(struct ixgbe_hw *hw , u32 index ) ; s32 ixgbe_blink_led_stop_generic(struct ixgbe_hw *hw , u32 index ) ; void ixgbe_set_mac_anti_spoofing(struct ixgbe_hw *hw , bool enable , int pf ) ; void ixgbe_set_vlan_anti_spoofing(struct ixgbe_hw *hw , bool enable , int vf ) ; s32 ixgbe_get_device_caps_generic(struct ixgbe_hw *hw , u16 *device_caps ) ; s32 ixgbe_set_fw_drv_ver_generic(struct ixgbe_hw *hw , u8 maj , u8 min , u8 build , u8 sub ) ; void ixgbe_clear_tx_pending(struct ixgbe_hw *hw ) ; void ixgbe_set_rxpba_generic(struct ixgbe_hw *hw , int num_pb , u32 headroom , int strategy ) ; s32 ixgbe_reset_pipeline_82599(struct ixgbe_hw *hw ) ; s32 ixgbe_get_thermal_sensor_data_generic(struct ixgbe_hw *hw ) ; s32 ixgbe_init_thermal_sensor_thresh_generic(struct ixgbe_hw *hw ) ; bool ixgbe_verify_lesm_fw_enabled_82599(struct ixgbe_hw *hw ) ; static s32 ixgbe_acquire_eeprom(struct ixgbe_hw *hw ) ; static s32 ixgbe_get_eeprom_semaphore(struct ixgbe_hw *hw ) ; static void ixgbe_release_eeprom_semaphore(struct ixgbe_hw *hw ) ; static s32 ixgbe_ready_eeprom(struct ixgbe_hw *hw ) ; static void ixgbe_standby_eeprom(struct ixgbe_hw *hw ) ; static void ixgbe_shift_out_eeprom_bits(struct ixgbe_hw *hw , u16 data , u16 count ) ; static u16 ixgbe_shift_in_eeprom_bits(struct ixgbe_hw *hw , u16 count ) ; static void ixgbe_raise_eeprom_clk(struct ixgbe_hw *hw , u32 *eec ) ; static void ixgbe_lower_eeprom_clk(struct ixgbe_hw *hw , u32 *eec ) ; static void ixgbe_release_eeprom(struct ixgbe_hw *hw ) ; static s32 ixgbe_mta_vector(struct ixgbe_hw *hw , u8 *mc_addr ) ; static s32 ixgbe_poll_eerd_eewr_done(struct ixgbe_hw *hw , u32 ee_reg ) ; static s32 ixgbe_read_eeprom_buffer_bit_bang(struct ixgbe_hw *hw , u16 offset , u16 words , u16 *data ) ; static s32 ixgbe_write_eeprom_buffer_bit_bang(struct ixgbe_hw *hw , u16 offset , u16 words , u16 *data ) ; static s32 ixgbe_detect_eeprom_page_size_generic(struct ixgbe_hw *hw , u16 offset ) ; static s32 ixgbe_disable_pcie_master(struct ixgbe_hw *hw ) ; bool ixgbe_device_supports_autoneg_fc(struct ixgbe_hw *hw ) { bool supported ; ixgbe_link_speed speed ; bool link_up ; { supported = 0; { if ((unsigned int )hw->phy.media_type == 2U) { goto case_2; } else { } if ((unsigned int )hw->phy.media_type == 1U) { goto case_1; } else { } if ((unsigned int )hw->phy.media_type == 6U) { goto case_6; } else { } if ((unsigned int )hw->phy.media_type == 5U) { goto case_5; } else { } goto switch_default___0; case_2: /* CIL Label */ ; case_1: /* CIL Label */ { (*(hw->mac.ops.check_link))(hw, & speed, & link_up, 0); } if ((int )link_up) { supported = speed == 32U; } else { supported = 1; } goto ldv_50981; case_6: /* CIL Label */ supported = 1; goto ldv_50981; case_5: /* CIL Label */ ; { if ((int )hw->device_id == 5404) { goto case_5404; } else { } if ((int )hw->device_id == 5416) { goto case_5416; } else { } if ((int )hw->device_id == 5472) { goto case_5472; } else { } goto switch_default; case_5404: /* CIL Label */ ; case_5416: /* CIL Label */ ; case_5472: /* CIL Label */ supported = 1; goto ldv_50987; switch_default: /* CIL Label */ ; goto ldv_50987; switch_break___0: /* CIL Label */ ; } ldv_50987: ; switch_default___0: /* CIL Label */ ; goto ldv_50981; switch_break: /* CIL Label */ ; } ldv_50981: ; return (supported); } } static s32 ixgbe_setup_fc(struct ixgbe_hw *hw ) { s32 ret_val ; u32 reg ; u32 reg_bp ; u16 reg_cu ; bool got_lock ; struct _ddebug descriptor ; long tmp ; struct _ddebug descriptor___0 ; long tmp___0 ; struct _ddebug descriptor___1 ; long tmp___1 ; bool tmp___2 ; bool tmp___3 ; struct _ddebug descriptor___2 ; long tmp___4 ; { ret_val = 0; reg = 0U; reg_bp = 0U; reg_cu = 0U; got_lock = 0; if ((int )hw->fc.strict_ieee && (unsigned int )hw->fc.requested_mode == 1U) { { descriptor.modname = "ixgbe"; descriptor.function = "ixgbe_setup_fc"; descriptor.filename = "drivers/net/ethernet/intel/ixgbe/ixgbe_common.c"; descriptor.format = "ixgbe_fc_rx_pause not valid in strict IEEE mode\n"; descriptor.lineno = 124U; descriptor.flags = 0U; tmp = ldv__builtin_expect((long )descriptor.flags & 1L, 0L); } if (tmp != 0L) { { __dynamic_netdev_dbg(& descriptor, (struct net_device const *)((struct ixgbe_adapter *)hw->back)->netdev, "ixgbe_fc_rx_pause not valid in strict IEEE mode\n"); } } else { } ret_val = -13; goto out; } else { } if ((unsigned int )hw->fc.requested_mode == 4U) { hw->fc.requested_mode = 3; } else { } { if ((unsigned int )hw->phy.media_type == 2U) { goto case_2; } else { } if ((unsigned int )hw->phy.media_type == 1U) { goto case_1; } else { } if ((unsigned int )hw->phy.media_type == 6U) { goto case_6; } else { } if ((unsigned int )hw->phy.media_type == 5U) { goto case_5; } else { } goto switch_default; case_2: /* CIL Label */ ; case_1: /* CIL Label */ ; case_6: /* CIL Label */ { reg = ixgbe_read_reg(hw, 16920U); reg_bp = ixgbe_read_reg(hw, 17056U); } goto ldv_51004; case_5: /* CIL Label */ { (*(hw->phy.ops.read_reg))(hw, 16U, 7U, & reg_cu); } goto ldv_51004; switch_default: /* CIL Label */ ; goto ldv_51004; switch_break: /* CIL Label */ ; } ldv_51004: ; { if ((unsigned int )hw->fc.requested_mode == 0U) { goto case_0; } else { } if ((unsigned int )hw->fc.requested_mode == 2U) { goto case_2___0; } else { } if ((unsigned int )hw->fc.requested_mode == 1U) { goto case_1___0; } else { } if ((unsigned int )hw->fc.requested_mode == 3U) { goto case_3; } else { } goto switch_default___0; case_0: /* CIL Label */ reg = reg & 4294966911U; if ((unsigned int )hw->phy.media_type == 6U) { reg_bp = reg_bp & 3489660927U; } else if ((unsigned int )hw->phy.media_type == 5U) { reg_cu = (unsigned int )reg_cu & 62463U; } else { } goto ldv_51008; case_2___0: /* CIL Label */ reg = reg | 256U; reg = reg & 4294967167U; if ((unsigned int )hw->phy.media_type == 6U) { reg_bp = reg_bp | 536870912U; reg_bp = reg_bp & 4026531839U; } else if ((unsigned int )hw->phy.media_type == 5U) { reg_cu = (u16 )((unsigned int )reg_cu | 2048U); reg_cu = (unsigned int )reg_cu & 64511U; } else { } goto ldv_51008; case_1___0: /* CIL Label */ ; case_3: /* CIL Label */ reg = reg | 384U; if ((unsigned int )hw->phy.media_type == 6U) { reg_bp = reg_bp | 805306368U; } else if ((unsigned int )hw->phy.media_type == 5U) { reg_cu = (u16 )((unsigned int )reg_cu | 3072U); } else { } goto ldv_51008; switch_default___0: /* CIL Label */ { descriptor___0.modname = "ixgbe"; descriptor___0.function = "ixgbe_setup_fc"; descriptor___0.filename = "drivers/net/ethernet/intel/ixgbe/ixgbe_common.c"; descriptor___0.format = "Flow control param set incorrectly\n"; descriptor___0.lineno = 211U; descriptor___0.flags = 0U; tmp___0 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); } if (tmp___0 != 0L) { { __dynamic_netdev_dbg(& descriptor___0, (struct net_device const *)((struct ixgbe_adapter *)hw->back)->netdev, "Flow control param set incorrectly\n"); } } else { } ret_val = -4; goto out; switch_break___0: /* CIL Label */ ; } ldv_51008: ; if ((unsigned int )hw->mac.type != 3U) { { ixgbe_write_reg(hw, 16920U, reg); reg = ixgbe_read_reg(hw, 16904U); } if ((int )hw->fc.strict_ieee) { reg = reg & 4294705151U; } else { } { ixgbe_write_reg(hw, 16904U, reg); descriptor___1.modname = "ixgbe"; descriptor___1.function = "ixgbe_setup_fc"; descriptor___1.filename = "drivers/net/ethernet/intel/ixgbe/ixgbe_common.c"; descriptor___1.format = "Set up FC; PCS1GLCTL = 0x%08X\n"; descriptor___1.lineno = 230U; descriptor___1.flags = 0U; tmp___1 = ldv__builtin_expect((long )descriptor___1.flags & 1L, 0L); } if (tmp___1 != 0L) { { __dynamic_netdev_dbg(& descriptor___1, (struct net_device const *)((struct ixgbe_adapter *)hw->back)->netdev, "Set up FC; PCS1GLCTL = 0x%08X\n", reg); } } else { } } else { } if ((unsigned int )hw->phy.media_type == 6U) { if ((unsigned int )hw->mac.type == 2U) { { tmp___2 = ixgbe_verify_lesm_fw_enabled_82599(hw); } if ((int )tmp___2) { { ret_val = (*(hw->mac.ops.acquire_swfw_sync))(hw, 8); } if (ret_val != 0) { goto out; } else { } got_lock = 1; } else { } } else { } { ixgbe_write_reg(hw, 17056U, reg_bp); } if ((unsigned int )hw->mac.type == 2U) { { ixgbe_reset_pipeline_82599(hw); } } else { } if ((int )got_lock) { { (*(hw->mac.ops.release_swfw_sync))(hw, 8); } } else { } } else if ((unsigned int )hw->phy.media_type == 5U) { { tmp___3 = ixgbe_device_supports_autoneg_fc(hw); } if ((int )tmp___3) { { (*(hw->phy.ops.write_reg))(hw, 16U, 7U, (int )reg_cu); } } else { } } else { } { descriptor___2.modname = "ixgbe"; descriptor___2.function = "ixgbe_setup_fc"; descriptor___2.filename = "drivers/net/ethernet/intel/ixgbe/ixgbe_common.c"; descriptor___2.format = "Set up FC; IXGBE_AUTOC = 0x%08X\n"; descriptor___2.lineno = 268U; descriptor___2.flags = 0U; tmp___4 = ldv__builtin_expect((long )descriptor___2.flags & 1L, 0L); } if (tmp___4 != 0L) { { __dynamic_netdev_dbg(& descriptor___2, (struct net_device const *)((struct ixgbe_adapter *)hw->back)->netdev, "Set up FC; IXGBE_AUTOC = 0x%08X\n", reg); } } else { } out: ; return (ret_val); } } s32 ixgbe_start_hw_generic(struct ixgbe_hw *hw ) { u32 ctrl_ext ; { { hw->phy.media_type = (*(hw->mac.ops.get_media_type))(hw); (*(hw->phy.ops.identify))(hw); (*(hw->mac.ops.clear_vfta))(hw); (*(hw->mac.ops.clear_hw_cntrs))(hw); ctrl_ext = ixgbe_read_reg(hw, 24U); ctrl_ext = ctrl_ext | 65536U; ixgbe_write_reg(hw, 24U, ctrl_ext); ixgbe_read_reg(hw, 8U); ixgbe_setup_fc(hw); hw->adapter_stopped = 0; } return (0); } } s32 ixgbe_start_hw_gen2(struct ixgbe_hw *hw ) { u32 i ; u32 regval ; { i = 0U; goto ldv_51026; ldv_51025: { ixgbe_write_reg(hw, 18692U, i); ixgbe_write_reg(hw, 18820U, 0U); i = i + 1U; } ldv_51026: ; if (i < hw->mac.max_tx_queues) { goto ldv_51025; } else { } { ixgbe_read_reg(hw, 8U); i = 0U; } goto ldv_51029; ldv_51028: { regval = ixgbe_read_reg(hw, i * 64U + 24588U); regval = regval & 4294965247U; ixgbe_write_reg(hw, i * 64U + 24588U, regval); i = i + 1U; } ldv_51029: ; if (i < hw->mac.max_tx_queues) { goto ldv_51028; } else { } i = 0U; goto ldv_51032; ldv_51031: { regval = ixgbe_read_reg(hw, i <= 15U ? (i + 2176U) * 4U : (i <= 63U ? i * 64U + 4108U : (i + 67108800U) * 64U + 53260U)); regval = regval & 4294926335U; ixgbe_write_reg(hw, i <= 15U ? (i + 2176U) * 4U : (i <= 63U ? i * 64U + 4108U : (i + 67108800U) * 64U + 53260U), regval); i = i + 1U; } ldv_51032: ; if (i < hw->mac.max_rx_queues) { goto ldv_51031; } else { } return (0); } } s32 ixgbe_init_hw_generic(struct ixgbe_hw *hw ) { s32 status ; { { status = (*(hw->mac.ops.reset_hw))(hw); } if (status == 0) { { status = (*(hw->mac.ops.start_hw))(hw); } } else { } return (status); } } s32 ixgbe_clear_hw_cntrs_generic(struct ixgbe_hw *hw ) { u16 i ; { { i = 0U; ixgbe_read_reg(hw, 16384U); ixgbe_read_reg(hw, 16388U); ixgbe_read_reg(hw, 16392U); ixgbe_read_reg(hw, 16400U); i = 0U; } goto ldv_51043; ldv_51042: { ixgbe_read_reg(hw, (u32 )(((int )i + 4072) * 4)); i = (u16 )((int )i + 1); } ldv_51043: ; if ((unsigned int )i <= 7U) { goto ldv_51042; } else { } { ixgbe_read_reg(hw, 16436U); ixgbe_read_reg(hw, 16440U); ixgbe_read_reg(hw, 16448U); ixgbe_read_reg(hw, 16224U); ixgbe_read_reg(hw, 16232U); } if ((unsigned int )hw->mac.type > 1U) { { ixgbe_read_reg(hw, 16804U); ixgbe_read_reg(hw, 16808U); } } else { { ixgbe_read_reg(hw, 53088U); ixgbe_read_reg(hw, 53096U); } } i = 0U; goto ldv_51046; ldv_51045: { ixgbe_read_reg(hw, (u32 )(((int )i + 4032) * 4)); ixgbe_read_reg(hw, (u32 )(((int )i + 4040) * 4)); } if ((unsigned int )hw->mac.type > 1U) { { ixgbe_read_reg(hw, (u32 )(((int )i + 4176) * 4)); ixgbe_read_reg(hw, (u32 )(((int )i + 4184) * 4)); } } else { { ixgbe_read_reg(hw, (u32 )(((int )i + 13248) * 4)); ixgbe_read_reg(hw, (u32 )(((int )i + 13256) * 4)); } } i = (u16 )((int )i + 1); ldv_51046: ; if ((unsigned int )i <= 7U) { goto ldv_51045; } else { } if ((unsigned int )hw->mac.type > 1U) { i = 0U; goto ldv_51049; ldv_51048: { ixgbe_read_reg(hw, (u32 )(((int )i + 3216) * 4)); i = (u16 )((int )i + 1); } ldv_51049: ; if ((unsigned int )i <= 7U) { goto ldv_51048; } else { } } else { } { ixgbe_read_reg(hw, 16476U); ixgbe_read_reg(hw, 16480U); ixgbe_read_reg(hw, 16484U); ixgbe_read_reg(hw, 16488U); ixgbe_read_reg(hw, 16492U); ixgbe_read_reg(hw, 16496U); ixgbe_read_reg(hw, 16500U); ixgbe_read_reg(hw, 16504U); ixgbe_read_reg(hw, 16508U); ixgbe_read_reg(hw, 16512U); ixgbe_read_reg(hw, 16520U); ixgbe_read_reg(hw, 16524U); ixgbe_read_reg(hw, 16528U); ixgbe_read_reg(hw, 16532U); } if ((unsigned int )hw->mac.type == 1U) { i = 0U; goto ldv_51052; ldv_51051: { ixgbe_read_reg(hw, (u32 )(((int )i + 4080) * 4)); i = (u16 )((int )i + 1); } ldv_51052: ; if ((unsigned int )i <= 7U) { goto ldv_51051; } else { } } else { } { ixgbe_read_reg(hw, 16548U); ixgbe_read_reg(hw, 16552U); ixgbe_read_reg(hw, 16556U); ixgbe_read_reg(hw, 16560U); ixgbe_read_reg(hw, 16564U); ixgbe_read_reg(hw, 16568U); ixgbe_read_reg(hw, 53136U); ixgbe_read_reg(hw, 16576U); ixgbe_read_reg(hw, 16580U); ixgbe_read_reg(hw, 16592U); ixgbe_read_reg(hw, 16596U); ixgbe_read_reg(hw, 16600U); ixgbe_read_reg(hw, 16604U); ixgbe_read_reg(hw, 16608U); ixgbe_read_reg(hw, 16612U); ixgbe_read_reg(hw, 16616U); ixgbe_read_reg(hw, 16620U); ixgbe_read_reg(hw, 16624U); ixgbe_read_reg(hw, 16628U); i = 0U; } goto ldv_51055; ldv_51054: { ixgbe_read_reg(hw, (u32 )((int )i * 64 + 4144)); ixgbe_read_reg(hw, (u32 )((int )i * 64 + 24624)); } if ((unsigned int )hw->mac.type > 1U) { { ixgbe_read_reg(hw, (u32 )((int )i * 64 + 4148)); ixgbe_read_reg(hw, (u32 )((int )i * 64 + 4152)); ixgbe_read_reg(hw, (u32 )(((int )i + 4320) * 8)); ixgbe_read_reg(hw, (u32 )((int )i * 8 + 34564)); ixgbe_read_reg(hw, (u32 )((int )i * 64 + 5168)); } } else { { ixgbe_read_reg(hw, (u32 )((int )i * 64 + 4148)); ixgbe_read_reg(hw, (u32 )((int )i * 64 + 24628)); } } i = (u16 )((int )i + 1); ldv_51055: ; if ((unsigned int )i <= 15U) { goto ldv_51054; } else { } if ((unsigned int )hw->mac.type == 3U) { if (hw->phy.id == 0U) { { (*(hw->phy.ops.identify))(hw); } } else { } { (*(hw->phy.ops.read_reg))(hw, 59408U, 3U, & i); (*(hw->phy.ops.read_reg))(hw, 59409U, 3U, & i); (*(hw->phy.ops.read_reg))(hw, 59424U, 3U, & i); (*(hw->phy.ops.read_reg))(hw, 59425U, 3U, & i); } } else { } return (0); } } s32 ixgbe_read_pba_string_generic(struct ixgbe_hw *hw , u8 *pba_num , u32 pba_num_size ) { s32 ret_val ; u16 data ; u16 pba_ptr ; u16 offset ; u16 length ; struct _ddebug descriptor ; long tmp ; struct _ddebug descriptor___0 ; long tmp___0 ; struct _ddebug descriptor___1 ; long tmp___1 ; struct _ddebug descriptor___2 ; long tmp___2 ; struct _ddebug descriptor___3 ; long tmp___3 ; struct _ddebug descriptor___4 ; long tmp___4 ; struct _ddebug descriptor___5 ; long tmp___5 ; struct _ddebug descriptor___6 ; long tmp___6 ; struct _ddebug descriptor___7 ; long tmp___7 ; { if ((unsigned long )pba_num == (unsigned long )((u8 *)0U)) { { descriptor.modname = "ixgbe"; descriptor.function = "ixgbe_read_pba_string_generic"; descriptor.filename = "drivers/net/ethernet/intel/ixgbe/ixgbe_common.c"; descriptor.format = "PBA string buffer was null\n"; descriptor.lineno = 503U; descriptor.flags = 0U; tmp = ldv__builtin_expect((long )descriptor.flags & 1L, 0L); } if (tmp != 0L) { { __dynamic_netdev_dbg(& descriptor, (struct net_device const *)((struct ixgbe_adapter *)hw->back)->netdev, "PBA string buffer was null\n"); } } else { } return (-32); } else { } { ret_val = (*(hw->eeprom.ops.read))(hw, 21, & data); } if (ret_val != 0) { { descriptor___0.modname = "ixgbe"; descriptor___0.function = "ixgbe_read_pba_string_generic"; descriptor___0.filename = "drivers/net/ethernet/intel/ixgbe/ixgbe_common.c"; descriptor___0.format = "NVM Read Error\n"; descriptor___0.lineno = 509U; descriptor___0.flags = 0U; tmp___0 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); } if (tmp___0 != 0L) { { __dynamic_netdev_dbg(& descriptor___0, (struct net_device const *)((struct ixgbe_adapter *)hw->back)->netdev, "NVM Read Error\n"); } } else { } return (ret_val); } else { } { ret_val = (*(hw->eeprom.ops.read))(hw, 22, & pba_ptr); } if (ret_val != 0) { { descriptor___1.modname = "ixgbe"; descriptor___1.function = "ixgbe_read_pba_string_generic"; descriptor___1.filename = "drivers/net/ethernet/intel/ixgbe/ixgbe_common.c"; descriptor___1.format = "NVM Read Error\n"; descriptor___1.lineno = 515U; descriptor___1.flags = 0U; tmp___1 = ldv__builtin_expect((long )descriptor___1.flags & 1L, 0L); } if (tmp___1 != 0L) { { __dynamic_netdev_dbg(& descriptor___1, (struct net_device const *)((struct ixgbe_adapter *)hw->back)->netdev, "NVM Read Error\n"); } } else { } return (ret_val); } else { } if ((unsigned int )data != 64250U) { { descriptor___2.modname = "ixgbe"; descriptor___2.function = "ixgbe_read_pba_string_generic"; descriptor___2.filename = "drivers/net/ethernet/intel/ixgbe/ixgbe_common.c"; descriptor___2.format = "NVM PBA number is not stored as string\n"; descriptor___2.lineno = 525U; descriptor___2.flags = 0U; tmp___2 = ldv__builtin_expect((long )descriptor___2.flags & 1L, 0L); } if (tmp___2 != 0L) { { __dynamic_netdev_dbg(& descriptor___2, (struct net_device const *)((struct ixgbe_adapter *)hw->back)->netdev, "NVM PBA number is not stored as string\n"); } } else { } if (pba_num_size <= 10U) { { descriptor___3.modname = "ixgbe"; descriptor___3.function = "ixgbe_read_pba_string_generic"; descriptor___3.filename = "drivers/net/ethernet/intel/ixgbe/ixgbe_common.c"; descriptor___3.format = "PBA string buffer too small\n"; descriptor___3.lineno = 529U; descriptor___3.flags = 0U; tmp___3 = ldv__builtin_expect((long )descriptor___3.flags & 1L, 0L); } if (tmp___3 != 0L) { { __dynamic_netdev_dbg(& descriptor___3, (struct net_device const *)((struct ixgbe_adapter *)hw->back)->netdev, "PBA string buffer too small\n"); } } else { } return (-25); } else { } *pba_num = (unsigned int )((u8 )((int )data >> 12)) & 15U; *(pba_num + 1UL) = (unsigned int )((u8 )((int )data >> 8)) & 15U; *(pba_num + 2UL) = (unsigned int )((u8 )((int )data >> 4)) & 15U; *(pba_num + 3UL) = (unsigned int )((u8 )data) & 15U; *(pba_num + 4UL) = (unsigned int )((u8 )((int )pba_ptr >> 12)) & 15U; *(pba_num + 5UL) = (unsigned int )((u8 )((int )pba_ptr >> 8)) & 15U; *(pba_num + 6UL) = 45U; *(pba_num + 7UL) = 0U; *(pba_num + 8UL) = (unsigned int )((u8 )((int )pba_ptr >> 4)) & 15U; *(pba_num + 9UL) = (unsigned int )((u8 )pba_ptr) & 15U; *(pba_num + 10UL) = 0U; offset = 0U; goto ldv_51074; ldv_51073: ; if ((unsigned int )*(pba_num + (unsigned long )offset) <= 9U) { *(pba_num + (unsigned long )offset) = (unsigned int )*(pba_num + (unsigned long )offset) + 48U; } else if ((unsigned int )*(pba_num + (unsigned long )offset) <= 15U) { *(pba_num + (unsigned long )offset) = (unsigned int )*(pba_num + (unsigned long )offset) + 55U; } else { } offset = (u16 )((int )offset + 1); ldv_51074: ; if ((unsigned int )offset <= 9U) { goto ldv_51073; } else { } return (0); } else { } { ret_val = (*(hw->eeprom.ops.read))(hw, (int )pba_ptr, & length); } if (ret_val != 0) { { descriptor___4.modname = "ixgbe"; descriptor___4.function = "ixgbe_read_pba_string_generic"; descriptor___4.filename = "drivers/net/ethernet/intel/ixgbe/ixgbe_common.c"; descriptor___4.format = "NVM Read Error\n"; descriptor___4.lineno = 561U; descriptor___4.flags = 0U; tmp___4 = ldv__builtin_expect((long )descriptor___4.flags & 1L, 0L); } if (tmp___4 != 0L) { { __dynamic_netdev_dbg(& descriptor___4, (struct net_device const *)((struct ixgbe_adapter *)hw->back)->netdev, "NVM Read Error\n"); } } else { } return (ret_val); } else { } if ((unsigned int )length - 1U > 65533U) { { descriptor___5.modname = "ixgbe"; descriptor___5.function = "ixgbe_read_pba_string_generic"; descriptor___5.filename = "drivers/net/ethernet/intel/ixgbe/ixgbe_common.c"; descriptor___5.format = "NVM PBA number section invalid length\n"; descriptor___5.lineno = 566U; descriptor___5.flags = 0U; tmp___5 = ldv__builtin_expect((long )descriptor___5.flags & 1L, 0L); } if (tmp___5 != 0L) { { __dynamic_netdev_dbg(& descriptor___5, (struct net_device const *)((struct ixgbe_adapter *)hw->back)->netdev, "NVM PBA number section invalid length\n"); } } else { } return (-31); } else { } if (pba_num_size < (unsigned int )length * 2U - 1U) { { descriptor___6.modname = "ixgbe"; descriptor___6.function = "ixgbe_read_pba_string_generic"; descriptor___6.filename = "drivers/net/ethernet/intel/ixgbe/ixgbe_common.c"; descriptor___6.format = "PBA string buffer too small\n"; descriptor___6.lineno = 572U; descriptor___6.flags = 0U; tmp___6 = ldv__builtin_expect((long )descriptor___6.flags & 1L, 0L); } if (tmp___6 != 0L) { { __dynamic_netdev_dbg(& descriptor___6, (struct net_device const *)((struct ixgbe_adapter *)hw->back)->netdev, "PBA string buffer too small\n"); } } else { } return (-25); } else { } pba_ptr = (u16 )((int )pba_ptr + 1); length = (u16 )((int )length - 1); offset = 0U; goto ldv_51081; ldv_51080: { ret_val = (*(hw->eeprom.ops.read))(hw, (int )pba_ptr + (int )offset, & data); } if (ret_val != 0) { { descriptor___7.modname = "ixgbe"; descriptor___7.function = "ixgbe_read_pba_string_generic"; descriptor___7.filename = "drivers/net/ethernet/intel/ixgbe/ixgbe_common.c"; descriptor___7.format = "NVM Read Error\n"; descriptor___7.lineno = 583U; descriptor___7.flags = 0U; tmp___7 = ldv__builtin_expect((long )descriptor___7.flags & 1L, 0L); } if (tmp___7 != 0L) { { __dynamic_netdev_dbg(& descriptor___7, (struct net_device const *)((struct ixgbe_adapter *)hw->back)->netdev, "NVM Read Error\n"); } } else { } return (ret_val); } else { } *(pba_num + (unsigned long )((int )offset * 2)) = (unsigned char )((int )data >> 8); *(pba_num + ((unsigned long )((int )offset * 2) + 1UL)) = (unsigned char )data; offset = (u16 )((int )offset + 1); ldv_51081: ; if ((int )offset < (int )length) { goto ldv_51080; } else { } *(pba_num + (unsigned long )((int )offset * 2)) = 0U; return (0); } } s32 ixgbe_get_mac_addr_generic(struct ixgbe_hw *hw , u8 *mac_addr ) { u32 rar_high ; u32 rar_low ; u16 i ; { { rar_high = ixgbe_read_reg(hw, 21508U); rar_low = ixgbe_read_reg(hw, 21504U); i = 0U; } goto ldv_51091; ldv_51090: *(mac_addr + (unsigned long )i) = (unsigned char )(rar_low >> (int )i * 8); i = (u16 )((int )i + 1); ldv_51091: ; if ((unsigned int )i <= 3U) { goto ldv_51090; } else { } i = 0U; goto ldv_51094; ldv_51093: *(mac_addr + ((unsigned long )i + 4UL)) = (unsigned char )(rar_high >> (int )i * 8); i = (u16 )((int )i + 1); ldv_51094: ; if ((unsigned int )i <= 1U) { goto ldv_51093; } else { } return (0); } } enum ixgbe_bus_width ixgbe_convert_bus_width(u16 link_status ) { { { if (((int )link_status & 1008) == 16) { goto case_16; } else { } if (((int )link_status & 1008) == 32) { goto case_32; } else { } if (((int )link_status & 1008) == 64) { goto case_64; } else { } if (((int )link_status & 1008) == 128) { goto case_128; } else { } goto switch_default; case_16: /* CIL Label */ ; return (1); case_32: /* CIL Label */ ; return (2); case_64: /* CIL Label */ ; return (4); case_128: /* CIL Label */ ; return (8); switch_default: /* CIL Label */ ; return (0); switch_break: /* CIL Label */ ; } } } enum ixgbe_bus_speed ixgbe_convert_bus_speed(u16 link_status ) { { { if (((int )link_status & 15) == 1) { goto case_1; } else { } if (((int )link_status & 15) == 2) { goto case_2; } else { } if (((int )link_status & 15) == 3) { goto case_3; } else { } goto switch_default; case_1: /* CIL Label */ ; return (2500); case_2: /* CIL Label */ ; return (5000); case_3: /* CIL Label */ ; return (8000); switch_default: /* CIL Label */ ; return (0); switch_break: /* CIL Label */ ; } } } s32 ixgbe_get_bus_info_generic(struct ixgbe_hw *hw ) { struct ixgbe_adapter *adapter ; struct ixgbe_mac_info *mac ; u16 link_status ; { { adapter = (struct ixgbe_adapter *)hw->back; mac = & hw->mac; hw->bus.type = 3; pci_read_config_word((struct pci_dev const *)adapter->pdev, 178, & link_status); hw->bus.width = ixgbe_convert_bus_width((int )link_status); hw->bus.speed = ixgbe_convert_bus_speed((int )link_status); (*(mac->ops.set_lan_id))(hw); } return (0); } } void ixgbe_set_lan_id_multi_port_pcie(struct ixgbe_hw *hw ) { struct ixgbe_bus_info *bus ; u32 reg ; { { bus = & hw->bus; reg = ixgbe_read_reg(hw, 8U); bus->func = (u16 )((reg & 12U) >> 2); bus->lan_id = bus->func; reg = ixgbe_read_reg(hw, 65872U); } if ((reg & 1073741824U) != 0U) { bus->func = (u16 )((unsigned int )bus->func ^ 1U); } else { } return; } } s32 ixgbe_stop_adapter_generic(struct ixgbe_hw *hw ) { u32 reg_val ; u16 i ; s32 tmp ; { { hw->adapter_stopped = 1; ixgbe_write_reg(hw, 12288U, 0U); ixgbe_write_reg(hw, 2184U, 4294967295U); ixgbe_read_reg(hw, 2048U); i = 0U; } goto ldv_51128; ldv_51127: { ixgbe_write_reg(hw, (u32 )((int )i * 64 + 24616), 67108864U); i = (u16 )((int )i + 1); } ldv_51128: ; if ((u32 )i < hw->mac.max_tx_queues) { goto ldv_51127; } else { } i = 0U; goto ldv_51131; ldv_51130: { reg_val = ixgbe_read_reg(hw, (u32 )((unsigned int )i <= 63U ? (int )i * 64 + 4136 : ((int )i + -64) * 64 + 53288)); reg_val = reg_val & 4261412863U; reg_val = reg_val | 67108864U; ixgbe_write_reg(hw, (u32 )((unsigned int )i <= 63U ? (int )i * 64 + 4136 : ((int )i + -64) * 64 + 53288), reg_val); i = (u16 )((int )i + 1); } ldv_51131: ; if ((u32 )i < hw->mac.max_rx_queues) { goto ldv_51130; } else { } { ixgbe_read_reg(hw, 8U); usleep_range(1000UL, 2000UL); tmp = ixgbe_disable_pcie_master(hw); } return (tmp); } } s32 ixgbe_led_on_generic(struct ixgbe_hw *hw , u32 index ) { u32 led_reg ; u32 tmp ; { { tmp = ixgbe_read_reg(hw, 512U); led_reg = tmp; led_reg = led_reg & (u32 )(~ (15 << (int )(index * 8U))); led_reg = led_reg | (u32 )(14 << (int )(index * 8U)); ixgbe_write_reg(hw, 512U, led_reg); ixgbe_read_reg(hw, 8U); } return (0); } } s32 ixgbe_led_off_generic(struct ixgbe_hw *hw , u32 index ) { u32 led_reg ; u32 tmp ; { { tmp = ixgbe_read_reg(hw, 512U); led_reg = tmp; led_reg = led_reg & (u32 )(~ (15 << (int )(index * 8U))); led_reg = led_reg | (u32 )(15 << (int )(index * 8U)); ixgbe_write_reg(hw, 512U, led_reg); ixgbe_read_reg(hw, 8U); } return (0); } } s32 ixgbe_init_eeprom_params_generic(struct ixgbe_hw *hw ) { struct ixgbe_eeprom_info *eeprom ; u32 eec ; u16 eeprom_size ; struct _ddebug descriptor ; long tmp ; { eeprom = & hw->eeprom; if ((unsigned int )eeprom->type == 0U) { { eeprom->type = 3; eeprom->semaphore_delay = 10U; eeprom->word_page_size = 0U; eec = ixgbe_read_reg(hw, 65552U); } if ((eec & 256U) != 0U) { eeprom->type = 1; eeprom_size = (unsigned short )((eec & 30720U) >> 11); eeprom->word_size = (u16 )(1 << ((int )eeprom_size + 6)); } else { } if ((eec & 1024U) != 0U) { eeprom->address_bits = 16U; } else { eeprom->address_bits = 8U; } { descriptor.modname = "ixgbe"; descriptor.function = "ixgbe_init_eeprom_params_generic"; descriptor.filename = "drivers/net/ethernet/intel/ixgbe/ixgbe_common.c"; descriptor.format = "Eeprom params: type = %d, size = %d, address bits: %d\n"; descriptor.lineno = 832U; descriptor.flags = 0U; tmp = ldv__builtin_expect((long )descriptor.flags & 1L, 0L); } if (tmp != 0L) { { __dynamic_netdev_dbg(& descriptor, (struct net_device const *)((struct ixgbe_adapter *)hw->back)->netdev, "Eeprom params: type = %d, size = %d, address bits: %d\n", (unsigned int )eeprom->type, (int )eeprom->word_size, (int )eeprom->address_bits); } } else { } } else { } return (0); } } s32 ixgbe_write_eeprom_buffer_bit_bang_generic(struct ixgbe_hw *hw , u16 offset , u16 words , u16 *data ) { s32 status ; u16 i ; u16 count ; { { status = 0; (*(hw->eeprom.ops.init_params))(hw); } if ((unsigned int )words == 0U) { status = -32; goto out; } else { } if ((int )offset + (int )words > (int )hw->eeprom.word_size) { status = -1; goto out; } else { } if ((unsigned int )hw->eeprom.word_page_size == 0U && (unsigned int )words > 128U) { { ixgbe_detect_eeprom_page_size_generic(hw, (int )offset); } } else { } i = 0U; goto ldv_51163; ldv_51162: { count = (u16 )(512 < (int )words - (int )i ? 512 : (int )words - (int )i); status = ixgbe_write_eeprom_buffer_bit_bang(hw, (int )offset + (int )i, (int )count, data + (unsigned long )i); } if (status != 0) { goto ldv_51161; } else { } i = (unsigned int )i + 512U; ldv_51163: ; if ((int )i < (int )words) { goto ldv_51162; } else { } ldv_51161: ; out: ; return (status); } } static s32 ixgbe_write_eeprom_buffer_bit_bang(struct ixgbe_hw *hw , u16 offset , u16 words , u16 *data ) { s32 status ; u16 word ; u16 page_size ; u16 i ; u8 write_opcode ; s32 tmp ; { { write_opcode = 2U; status = ixgbe_acquire_eeprom(hw); } if (status == 0) { { tmp = ixgbe_ready_eeprom(hw); } if (tmp != 0) { { ixgbe_release_eeprom(hw); status = -1; } } else { } } else { } if (status == 0) { i = 0U; goto ldv_51178; ldv_51177: { ixgbe_standby_eeprom(hw); ixgbe_shift_out_eeprom_bits(hw, 6, 8); ixgbe_standby_eeprom(hw); } if ((unsigned int )hw->eeprom.address_bits == 8U && (int )offset + (int )i > 127) { write_opcode = (u8 )((unsigned int )write_opcode | 8U); } else { } { ixgbe_shift_out_eeprom_bits(hw, (int )write_opcode, 8); ixgbe_shift_out_eeprom_bits(hw, (int )((unsigned int )((unsigned short )((int )offset + (int )i)) * 2U), (int )hw->eeprom.address_bits); page_size = hw->eeprom.word_page_size; } ldv_51176: { word = *(data + (unsigned long )i); word = (u16 )((int )((short )((int )word >> 8)) | (int )((short )((int )word << 8))); ixgbe_shift_out_eeprom_bits(hw, (int )word, 16); } if ((unsigned int )page_size == 0U) { goto ldv_51175; } else { } if ((((int )offset + (int )i) & ((int )page_size + -1)) == (int )page_size + -1) { goto ldv_51175; } else { } i = (u16 )((int )i + 1); if ((int )i < (int )words) { goto ldv_51176; } else { } ldv_51175: { ixgbe_standby_eeprom(hw); usleep_range(10000UL, 20000UL); i = (u16 )((int )i + 1); } ldv_51178: ; if ((int )i < (int )words) { goto ldv_51177; } else { } { ixgbe_release_eeprom(hw); } } else { } return (status); } } s32 ixgbe_write_eeprom_generic(struct ixgbe_hw *hw , u16 offset , u16 data ) { s32 status ; { { (*(hw->eeprom.ops.init_params))(hw); } if ((int )offset >= (int )hw->eeprom.word_size) { status = -1; goto out; } else { } { status = ixgbe_write_eeprom_buffer_bit_bang(hw, (int )offset, 1, & data); } out: ; return (status); } } s32 ixgbe_read_eeprom_buffer_bit_bang_generic(struct ixgbe_hw *hw , u16 offset , u16 words , u16 *data ) { s32 status ; u16 i ; u16 count ; { { status = 0; (*(hw->eeprom.ops.init_params))(hw); } if ((unsigned int )words == 0U) { status = -32; goto out; } else { } if ((int )offset + (int )words > (int )hw->eeprom.word_size) { status = -1; goto out; } else { } i = 0U; goto ldv_51199; ldv_51198: { count = (u16 )(512 < (int )words - (int )i ? 512 : (int )words - (int )i); status = ixgbe_read_eeprom_buffer_bit_bang(hw, (int )offset + (int )i, (int )count, data + (unsigned long )i); } if (status != 0) { goto ldv_51197; } else { } i = (unsigned int )i + 512U; ldv_51199: ; if ((int )i < (int )words) { goto ldv_51198; } else { } ldv_51197: ; out: ; return (status); } } static s32 ixgbe_read_eeprom_buffer_bit_bang(struct ixgbe_hw *hw , u16 offset , u16 words , u16 *data ) { s32 status ; u16 word_in ; u8 read_opcode ; u16 i ; s32 tmp ; { { read_opcode = 3U; status = ixgbe_acquire_eeprom(hw); } if (status == 0) { { tmp = ixgbe_ready_eeprom(hw); } if (tmp != 0) { { ixgbe_release_eeprom(hw); status = -1; } } else { } } else { } if (status == 0) { i = 0U; goto ldv_51211; ldv_51210: { ixgbe_standby_eeprom(hw); } if ((unsigned int )hw->eeprom.address_bits == 8U && (int )offset + (int )i > 127) { read_opcode = (u8 )((unsigned int )read_opcode | 8U); } else { } { ixgbe_shift_out_eeprom_bits(hw, (int )read_opcode, 8); ixgbe_shift_out_eeprom_bits(hw, (int )((unsigned int )((unsigned short )((int )offset + (int )i)) * 2U), (int )hw->eeprom.address_bits); word_in = ixgbe_shift_in_eeprom_bits(hw, 16); *(data + (unsigned long )i) = (u16 )((int )((short )((int )word_in >> 8)) | (int )((short )((int )word_in << 8))); i = (u16 )((int )i + 1); } ldv_51211: ; if ((int )i < (int )words) { goto ldv_51210; } else { } { ixgbe_release_eeprom(hw); } } else { } return (status); } } s32 ixgbe_read_eeprom_bit_bang_generic(struct ixgbe_hw *hw , u16 offset , u16 *data ) { s32 status ; { { (*(hw->eeprom.ops.init_params))(hw); } if ((int )offset >= (int )hw->eeprom.word_size) { status = -1; goto out; } else { } { status = ixgbe_read_eeprom_buffer_bit_bang(hw, (int )offset, 1, data); } out: ; return (status); } } s32 ixgbe_read_eerd_buffer_generic(struct ixgbe_hw *hw , u16 offset , u16 words , u16 *data ) { u32 eerd ; s32 status ; u32 i ; u32 tmp ; struct _ddebug descriptor ; long tmp___0 ; { { status = 0; (*(hw->eeprom.ops.init_params))(hw); } if ((unsigned int )words == 0U) { status = -32; goto out; } else { } if ((int )offset >= (int )hw->eeprom.word_size) { status = -1; goto out; } else { } i = 0U; goto ldv_51233; ldv_51232: { eerd = (((u32 )offset + i) << 2) | 1U; ixgbe_write_reg(hw, 65556U, eerd); status = ixgbe_poll_eerd_eewr_done(hw, 0U); } if (status == 0) { { tmp = ixgbe_read_reg(hw, 65556U); *(data + (unsigned long )i) = (u16 )(tmp >> 16); } } else { { descriptor.modname = "ixgbe"; descriptor.function = "ixgbe_read_eerd_buffer_generic"; descriptor.filename = "drivers/net/ethernet/intel/ixgbe/ixgbe_common.c"; descriptor.format = "Eeprom read timed out\n"; descriptor.lineno = 1167U; descriptor.flags = 0U; tmp___0 = ldv__builtin_expect((long )descriptor.flags & 1L, 0L); } if (tmp___0 != 0L) { { __dynamic_netdev_dbg(& descriptor, (struct net_device const *)((struct ixgbe_adapter *)hw->back)->netdev, "Eeprom read timed out\n"); } } else { } goto out; } i = i + 1U; ldv_51233: ; if (i < (u32 )words) { goto ldv_51232; } else { } out: ; return (status); } } static s32 ixgbe_detect_eeprom_page_size_generic(struct ixgbe_hw *hw , u16 offset ) { u16 data[128U] ; s32 status ; u16 i ; struct _ddebug descriptor ; long tmp ; { status = 0; i = 0U; goto ldv_51243; ldv_51242: data[(int )i] = i; i = (u16 )((int )i + 1); ldv_51243: ; if ((unsigned int )i <= 127U) { goto ldv_51242; } else { } { hw->eeprom.word_page_size = 128U; status = ixgbe_write_eeprom_buffer_bit_bang(hw, (int )offset, 128, (u16 *)(& data)); hw->eeprom.word_page_size = 0U; } if (status != 0) { goto out; } else { } { status = ixgbe_read_eeprom_buffer_bit_bang(hw, (int )offset, 1, (u16 *)(& data)); } if (status != 0) { goto out; } else { } { hw->eeprom.word_page_size = 128U - (unsigned int )data[0]; descriptor.modname = "ixgbe"; descriptor.function = "ixgbe_detect_eeprom_page_size_generic"; descriptor.filename = "drivers/net/ethernet/intel/ixgbe/ixgbe_common.c"; descriptor.format = "Detected EEPROM page size = %d words."; descriptor.lineno = 1212U; descriptor.flags = 0U; tmp = ldv__builtin_expect((long )descriptor.flags & 1L, 0L); } if (tmp != 0L) { { __dynamic_netdev_dbg(& descriptor, (struct net_device const *)((struct ixgbe_adapter *)hw->back)->netdev, "Detected EEPROM page size = %d words.", (int )hw->eeprom.word_page_size); } } else { } out: ; return (status); } } s32 ixgbe_read_eerd_generic(struct ixgbe_hw *hw , u16 offset , u16 *data ) { s32 tmp ; { { tmp = ixgbe_read_eerd_buffer_generic(hw, (int )offset, 1, data); } return (tmp); } } s32 ixgbe_write_eewr_buffer_generic(struct ixgbe_hw *hw , u16 offset , u16 words , u16 *data ) { u32 eewr ; s32 status ; u16 i ; struct _ddebug descriptor ; long tmp ; struct _ddebug descriptor___0 ; long tmp___0 ; { { status = 0; (*(hw->eeprom.ops.init_params))(hw); } if ((unsigned int )words == 0U) { status = -32; goto out; } else { } if ((int )offset >= (int )hw->eeprom.word_size) { status = -1; goto out; } else { } i = 0U; goto ldv_51267; ldv_51266: { eewr = (u32 )(((((int )offset + (int )i) << 2) | ((int )*(data + (unsigned long )i) << 16)) | 1); status = ixgbe_poll_eerd_eewr_done(hw, 1U); } if (status != 0) { { descriptor.modname = "ixgbe"; descriptor.function = "ixgbe_write_eewr_buffer_generic"; descriptor.filename = "drivers/net/ethernet/intel/ixgbe/ixgbe_common.c"; descriptor.format = "Eeprom write EEWR timed out\n"; descriptor.lineno = 1265U; descriptor.flags = 0U; tmp = ldv__builtin_expect((long )descriptor.flags & 1L, 0L); } if (tmp != 0L) { { __dynamic_netdev_dbg(& descriptor, (struct net_device const *)((struct ixgbe_adapter *)hw->back)->netdev, "Eeprom write EEWR timed out\n"); } } else { } goto out; } else { } { ixgbe_write_reg(hw, 65560U, eewr); status = ixgbe_poll_eerd_eewr_done(hw, 1U); } if (status != 0) { { descriptor___0.modname = "ixgbe"; descriptor___0.function = "ixgbe_write_eewr_buffer_generic"; descriptor___0.filename = "drivers/net/ethernet/intel/ixgbe/ixgbe_common.c"; descriptor___0.format = "Eeprom write EEWR timed out\n"; descriptor___0.lineno = 1273U; descriptor___0.flags = 0U; tmp___0 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); } if (tmp___0 != 0L) { { __dynamic_netdev_dbg(& descriptor___0, (struct net_device const *)((struct ixgbe_adapter *)hw->back)->netdev, "Eeprom write EEWR timed out\n"); } } else { } goto out; } else { } i = (u16 )((int )i + 1); ldv_51267: ; if ((int )i < (int )words) { goto ldv_51266; } else { } out: ; return (status); } } s32 ixgbe_write_eewr_generic(struct ixgbe_hw *hw , u16 offset , u16 data ) { s32 tmp ; { { tmp = ixgbe_write_eewr_buffer_generic(hw, (int )offset, 1, & data); } return (tmp); } } static s32 ixgbe_poll_eerd_eewr_done(struct ixgbe_hw *hw , u32 ee_reg ) { u32 i ; u32 reg ; s32 status ; { status = -1; i = 0U; goto ldv_51283; ldv_51282: ; if (ee_reg == 0U) { { reg = ixgbe_read_reg(hw, 65556U); } } else { { reg = ixgbe_read_reg(hw, 65560U); } } if ((reg & 2U) != 0U) { status = 0; goto ldv_51281; } else { } { __const_udelay(21475UL); i = i + 1U; } ldv_51283: ; if (i <= 99999U) { goto ldv_51282; } else { } ldv_51281: ; return (status); } } static s32 ixgbe_acquire_eeprom(struct ixgbe_hw *hw ) { s32 status ; u32 eec ; u32 i ; s32 tmp ; struct _ddebug descriptor ; long tmp___0 ; { { status = 0; tmp = (*(hw->mac.ops.acquire_swfw_sync))(hw, 1); } if (tmp != 0) { status = -16; } else { } if (status == 0) { { eec = ixgbe_read_reg(hw, 65552U); eec = eec | 64U; ixgbe_write_reg(hw, 65552U, eec); i = 0U; } goto ldv_51292; ldv_51291: { eec = ixgbe_read_reg(hw, 65552U); } if ((eec & 128U) != 0U) { goto ldv_51290; } else { } { __const_udelay(21475UL); i = i + 1U; } ldv_51292: ; if (i <= 999U) { goto ldv_51291; } else { } ldv_51290: ; if ((eec & 128U) == 0U) { { eec = eec & 4294967231U; ixgbe_write_reg(hw, 65552U, eec); descriptor.modname = "ixgbe"; descriptor.function = "ixgbe_acquire_eeprom"; descriptor.filename = "drivers/net/ethernet/intel/ixgbe/ixgbe_common.c"; descriptor.format = "Could not acquire EEPROM grant\n"; descriptor.lineno = 1358U; descriptor.flags = 0U; tmp___0 = ldv__builtin_expect((long )descriptor.flags & 1L, 0L); } if (tmp___0 != 0L) { { __dynamic_netdev_dbg(& descriptor, (struct net_device const *)((struct ixgbe_adapter *)hw->back)->netdev, "Could not acquire EEPROM grant\n"); } } else { } { (*(hw->mac.ops.release_swfw_sync))(hw, 1); status = -1; } } else { } if (status == 0) { { eec = eec & 4294967292U; ixgbe_write_reg(hw, 65552U, eec); ixgbe_read_reg(hw, 8U); __const_udelay(4295UL); } } else { } } else { } return (status); } } static s32 ixgbe_get_eeprom_semaphore(struct ixgbe_hw *hw ) { s32 status ; u32 timeout ; u32 i ; u32 swsm ; struct _ddebug descriptor ; long tmp ; struct _ddebug descriptor___0 ; long tmp___0 ; struct _ddebug descriptor___1 ; long tmp___1 ; { status = -1; timeout = 2000U; i = 0U; goto ldv_51304; ldv_51303: { swsm = ixgbe_read_reg(hw, 65856U); } if ((swsm & 1U) == 0U) { status = 0; goto ldv_51302; } else { } { __const_udelay(214750UL); i = i + 1U; } ldv_51304: ; if (i < timeout) { goto ldv_51303; } else { } ldv_51302: ; if (i == timeout) { { descriptor.modname = "ixgbe"; descriptor.function = "ixgbe_get_eeprom_semaphore"; descriptor.filename = "drivers/net/ethernet/intel/ixgbe/ixgbe_common.c"; descriptor.format = "Driver can\'t access the Eeprom - SMBI Semaphore not granted.\n"; descriptor.lineno = 1405U; descriptor.flags = 0U; tmp = ldv__builtin_expect((long )descriptor.flags & 1L, 0L); } if (tmp != 0L) { { __dynamic_netdev_dbg(& descriptor, (struct net_device const *)((struct ixgbe_adapter *)hw->back)->netdev, "Driver can\'t access the Eeprom - SMBI Semaphore not granted.\n"); } } else { } { ixgbe_release_eeprom_semaphore(hw); __const_udelay(214750UL); swsm = ixgbe_read_reg(hw, 65856U); } if ((swsm & 1U) == 0U) { status = 0; } else { } } else { } if (status == 0) { i = 0U; goto ldv_51309; ldv_51308: { swsm = ixgbe_read_reg(hw, 65856U); swsm = swsm | 2U; ixgbe_write_reg(hw, 65856U, swsm); swsm = ixgbe_read_reg(hw, 65856U); } if ((swsm & 2U) != 0U) { goto ldv_51307; } else { } { __const_udelay(214750UL); i = i + 1U; } ldv_51309: ; if (i < timeout) { goto ldv_51308; } else { } ldv_51307: ; if (i >= timeout) { { descriptor___0.modname = "ixgbe"; descriptor___0.function = "ixgbe_get_eeprom_semaphore"; descriptor___0.filename = "drivers/net/ethernet/intel/ixgbe/ixgbe_common.c"; descriptor___0.format = "SWESMBI Software EEPROM semaphore not granted.\n"; descriptor___0.lineno = 1451U; descriptor___0.flags = 0U; tmp___0 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); } if (tmp___0 != 0L) { { __dynamic_netdev_dbg(& descriptor___0, (struct net_device const *)((struct ixgbe_adapter *)hw->back)->netdev, "SWESMBI Software EEPROM semaphore not granted.\n"); } } else { } { ixgbe_release_eeprom_semaphore(hw); status = -1; } } else { } } else { { descriptor___1.modname = "ixgbe"; descriptor___1.function = "ixgbe_get_eeprom_semaphore"; descriptor___1.filename = "drivers/net/ethernet/intel/ixgbe/ixgbe_common.c"; descriptor___1.format = "Software semaphore SMBI between device drivers not granted.\n"; descriptor___1.lineno = 1457U; descriptor___1.flags = 0U; tmp___1 = ldv__builtin_expect((long )descriptor___1.flags & 1L, 0L); } if (tmp___1 != 0L) { { __dynamic_netdev_dbg(& descriptor___1, (struct net_device const *)((struct ixgbe_adapter *)hw->back)->netdev, "Software semaphore SMBI between device drivers not granted.\n"); } } else { } } return (status); } } static void ixgbe_release_eeprom_semaphore(struct ixgbe_hw *hw ) { u32 swsm ; { { swsm = ixgbe_read_reg(hw, 65856U); swsm = swsm & 4294967292U; ixgbe_write_reg(hw, 65856U, swsm); ixgbe_read_reg(hw, 8U); } return; } } static s32 ixgbe_ready_eeprom(struct ixgbe_hw *hw ) { s32 status ; u16 i ; u8 spi_stat_reg ; u16 tmp ; struct _ddebug descriptor ; long tmp___0 ; { status = 0; i = 0U; goto ldv_51324; ldv_51323: { ixgbe_shift_out_eeprom_bits(hw, 5, 8); tmp = ixgbe_shift_in_eeprom_bits(hw, 8); spi_stat_reg = (unsigned char )tmp; } if (((int )spi_stat_reg & 1) == 0) { goto ldv_51322; } else { } { __const_udelay(21475UL); ixgbe_standby_eeprom(hw); i = (unsigned int )i + 5U; } ldv_51324: ; if ((unsigned int )i <= 4999U) { goto ldv_51323; } else { } ldv_51322: ; if ((unsigned int )i > 4999U) { { descriptor.modname = "ixgbe"; descriptor.function = "ixgbe_ready_eeprom"; descriptor.filename = "drivers/net/ethernet/intel/ixgbe/ixgbe_common.c"; descriptor.format = "SPI EEPROM Status error\n"; descriptor.lineno = 1513U; descriptor.flags = 0U; tmp___0 = ldv__builtin_expect((long )descriptor.flags & 1L, 0L); } if (tmp___0 != 0L) { { __dynamic_netdev_dbg(& descriptor, (struct net_device const *)((struct ixgbe_adapter *)hw->back)->netdev, "SPI EEPROM Status error\n"); } } else { } status = -1; } else { } return (status); } } static void ixgbe_standby_eeprom(struct ixgbe_hw *hw ) { u32 eec ; { { eec = ixgbe_read_reg(hw, 65552U); eec = eec | 2U; ixgbe_write_reg(hw, 65552U, eec); ixgbe_read_reg(hw, 8U); __const_udelay(4295UL); eec = eec & 4294967293U; ixgbe_write_reg(hw, 65552U, eec); ixgbe_read_reg(hw, 8U); __const_udelay(4295UL); } return; } } static void ixgbe_shift_out_eeprom_bits(struct ixgbe_hw *hw , u16 data , u16 count ) { u32 eec ; u32 mask ; u32 i ; { { eec = ixgbe_read_reg(hw, 65552U); mask = (u32 )(1 << ((int )count + -1)); i = 0U; } goto ldv_51340; ldv_51339: ; if (((u32 )data & mask) != 0U) { eec = eec | 4U; } else { eec = eec & 4294967291U; } { ixgbe_write_reg(hw, 65552U, eec); ixgbe_read_reg(hw, 8U); __const_udelay(4295UL); ixgbe_raise_eeprom_clk(hw, & eec); ixgbe_lower_eeprom_clk(hw, & eec); mask = mask >> 1; i = i + 1U; } ldv_51340: ; if (i < (u32 )count) { goto ldv_51339; } else { } { eec = eec & 4294967291U; ixgbe_write_reg(hw, 65552U, eec); ixgbe_read_reg(hw, 8U); } return; } } static u16 ixgbe_shift_in_eeprom_bits(struct ixgbe_hw *hw , u16 count ) { u32 eec ; u32 i ; u16 data ; { { data = 0U; eec = ixgbe_read_reg(hw, 65552U); eec = eec & 4294967283U; i = 0U; } goto ldv_51350; ldv_51349: { data = (int )data << 1U; ixgbe_raise_eeprom_clk(hw, & eec); eec = ixgbe_read_reg(hw, 65552U); eec = eec & 4294967291U; } if ((eec & 8U) != 0U) { data = (u16 )((unsigned int )data | 1U); } else { } { ixgbe_lower_eeprom_clk(hw, & eec); i = i + 1U; } ldv_51350: ; if (i < (u32 )count) { goto ldv_51349; } else { } return (data); } } static void ixgbe_raise_eeprom_clk(struct ixgbe_hw *hw , u32 *eec ) { { { *eec = *eec | 1U; ixgbe_write_reg(hw, 65552U, *eec); ixgbe_read_reg(hw, 8U); __const_udelay(4295UL); } return; } } static void ixgbe_lower_eeprom_clk(struct ixgbe_hw *hw , u32 *eec ) { { { *eec = *eec & 4294967294U; ixgbe_write_reg(hw, 65552U, *eec); ixgbe_read_reg(hw, 8U); __const_udelay(4295UL); } return; } } static void ixgbe_release_eeprom(struct ixgbe_hw *hw ) { u32 eec ; { { eec = ixgbe_read_reg(hw, 65552U); eec = eec | 2U; eec = eec & 4294967294U; ixgbe_write_reg(hw, 65552U, eec); ixgbe_read_reg(hw, 8U); __const_udelay(4295UL); eec = eec & 4294967231U; ixgbe_write_reg(hw, 65552U, eec); (*(hw->mac.ops.release_swfw_sync))(hw, 1); usleep_range((unsigned long )(hw->eeprom.semaphore_delay * 1000U), (unsigned long )(hw->eeprom.semaphore_delay * 2000U)); } return; } } u16 ixgbe_calc_eeprom_checksum_generic(struct ixgbe_hw *hw ) { u16 i ; u16 j ; u16 checksum ; u16 length ; u16 pointer ; u16 word ; struct _ddebug descriptor ; long tmp ; s32 tmp___0 ; { checksum = 0U; length = 0U; pointer = 0U; word = 0U; i = 0U; goto ldv_51377; ldv_51376: { tmp___0 = (*(hw->eeprom.ops.read))(hw, (int )i, & word); } if (tmp___0 != 0) { { descriptor.modname = "ixgbe"; descriptor.function = "ixgbe_calc_eeprom_checksum_generic"; descriptor.filename = "drivers/net/ethernet/intel/ixgbe/ixgbe_common.c"; descriptor.format = "EEPROM read failed\n"; descriptor.lineno = 1715U; descriptor.flags = 0U; tmp = ldv__builtin_expect((long )descriptor.flags & 1L, 0L); } if (tmp != 0L) { { __dynamic_netdev_dbg(& descriptor, (struct net_device const *)((struct ixgbe_adapter *)hw->back)->netdev, "EEPROM read failed\n"); } } else { } goto ldv_51375; } else { } checksum = (int )checksum + (int )word; i = (u16 )((int )i + 1); ldv_51377: ; if ((unsigned int )i <= 62U) { goto ldv_51376; } else { } ldv_51375: i = 3U; goto ldv_51382; ldv_51381: { (*(hw->eeprom.ops.read))(hw, (int )i, & pointer); } if ((unsigned int )pointer - 1U <= 65533U) { { (*(hw->eeprom.ops.read))(hw, (int )pointer, & length); } if ((unsigned int )length - 1U <= 65533U) { j = (unsigned int )pointer + 1U; goto ldv_51379; ldv_51378: { (*(hw->eeprom.ops.read))(hw, (int )j, & word); checksum = (int )checksum + (int )word; j = (u16 )((int )j + 1); } ldv_51379: ; if ((int )j <= (int )pointer + (int )length) { goto ldv_51378; } else { } } else { } } else { } i = (u16 )((int )i + 1); ldv_51382: ; if ((unsigned int )i <= 14U) { goto ldv_51381; } else { } checksum = 47802U - (unsigned int )checksum; return (checksum); } } s32 ixgbe_validate_eeprom_checksum_generic(struct ixgbe_hw *hw , u16 *checksum_val ) { s32 status ; u16 checksum ; u16 read_checksum ; struct _ddebug descriptor ; long tmp ; { { read_checksum = 0U; status = (*(hw->eeprom.ops.read))(hw, 0, & checksum); } if (status == 0) { { checksum = (*(hw->eeprom.ops.calc_checksum))(hw); (*(hw->eeprom.ops.read))(hw, 63, & read_checksum); } if ((int )read_checksum != (int )checksum) { status = -2; } else { } if ((unsigned long )checksum_val != (unsigned long )((u16 *)0U)) { *checksum_val = checksum; } else { } } else { { descriptor.modname = "ixgbe"; descriptor.function = "ixgbe_validate_eeprom_checksum_generic"; descriptor.filename = "drivers/net/ethernet/intel/ixgbe/ixgbe_common.c"; descriptor.format = "EEPROM read failed\n"; descriptor.lineno = 1781U; descriptor.flags = 0U; tmp = ldv__builtin_expect((long )descriptor.flags & 1L, 0L); } if (tmp != 0L) { { __dynamic_netdev_dbg(& descriptor, (struct net_device const *)((struct ixgbe_adapter *)hw->back)->netdev, "EEPROM read failed\n"); } } else { } } return (status); } } s32 ixgbe_update_eeprom_checksum_generic(struct ixgbe_hw *hw ) { s32 status ; u16 checksum ; struct _ddebug descriptor ; long tmp ; { { status = (*(hw->eeprom.ops.read))(hw, 0, & checksum); } if (status == 0) { { checksum = (*(hw->eeprom.ops.calc_checksum))(hw); status = (*(hw->eeprom.ops.write))(hw, 63, (int )checksum); } } else { { descriptor.modname = "ixgbe"; descriptor.function = "ixgbe_update_eeprom_checksum_generic"; descriptor.filename = "drivers/net/ethernet/intel/ixgbe/ixgbe_common.c"; descriptor.format = "EEPROM read failed\n"; descriptor.lineno = 1808U; descriptor.flags = 0U; tmp = ldv__builtin_expect((long )descriptor.flags & 1L, 0L); } if (tmp != 0L) { { __dynamic_netdev_dbg(& descriptor, (struct net_device const *)((struct ixgbe_adapter *)hw->back)->netdev, "EEPROM read failed\n"); } } else { } } return (status); } } s32 ixgbe_set_rar_generic(struct ixgbe_hw *hw , u32 index , u8 *addr , u32 vmdq , u32 enable_addr ) { u32 rar_low ; u32 rar_high ; u32 rar_entries ; struct _ddebug descriptor ; long tmp ; { rar_entries = hw->mac.num_rar_entries; if (index >= rar_entries) { { descriptor.modname = "ixgbe"; descriptor.function = "ixgbe_set_rar_generic"; descriptor.filename = "drivers/net/ethernet/intel/ixgbe/ixgbe_common.c"; descriptor.format = "RAR index %d is out of range.\n"; descriptor.lineno = 1832U; descriptor.flags = 0U; tmp = ldv__builtin_expect((long )descriptor.flags & 1L, 0L); } if (tmp != 0L) { { __dynamic_netdev_dbg(& descriptor, (struct net_device const *)((struct ixgbe_adapter *)hw->back)->netdev, "RAR index %d is out of range.\n", index); } } else { } return (-32); } else { } { (*(hw->mac.ops.set_vmdq))(hw, index, vmdq); rar_low = (((unsigned int )*addr | ((unsigned int )*(addr + 1UL) << 8)) | ((unsigned int )*(addr + 2UL) << 16)) | ((unsigned int )*(addr + 3UL) << 24); rar_high = ixgbe_read_reg(hw, index <= 15U ? index * 8U + 21508U : index * 8U + 41476U); rar_high = rar_high & 2147418112U; rar_high = rar_high | ((unsigned int )*(addr + 4UL) | ((unsigned int )*(addr + 5UL) << 8)); } if (enable_addr != 0U) { rar_high = rar_high | 2147483648U; } else { } { ixgbe_write_reg(hw, index <= 15U ? (index + 2688U) * 8U : (index + 5184U) * 8U, rar_low); ixgbe_write_reg(hw, index <= 15U ? index * 8U + 21508U : index * 8U + 41476U, rar_high); } return (0); } } s32 ixgbe_clear_rar_generic(struct ixgbe_hw *hw , u32 index ) { u32 rar_high ; u32 rar_entries ; struct _ddebug descriptor ; long tmp ; { rar_entries = hw->mac.num_rar_entries; if (index >= rar_entries) { { descriptor.modname = "ixgbe"; descriptor.function = "ixgbe_clear_rar_generic"; descriptor.filename = "drivers/net/ethernet/intel/ixgbe/ixgbe_common.c"; descriptor.format = "RAR index %d is out of range.\n"; descriptor.lineno = 1879U; descriptor.flags = 0U; tmp = ldv__builtin_expect((long )descriptor.flags & 1L, 0L); } if (tmp != 0L) { { __dynamic_netdev_dbg(& descriptor, (struct net_device const *)((struct ixgbe_adapter *)hw->back)->netdev, "RAR index %d is out of range.\n", index); } } else { } return (-32); } else { } { rar_high = ixgbe_read_reg(hw, index <= 15U ? index * 8U + 21508U : index * 8U + 41476U); rar_high = rar_high & 2147418112U; ixgbe_write_reg(hw, index <= 15U ? (index + 2688U) * 8U : (index + 5184U) * 8U, 0U); ixgbe_write_reg(hw, index <= 15U ? index * 8U + 21508U : index * 8U + 41476U, rar_high); (*(hw->mac.ops.clear_vmdq))(hw, index, 4294967295U); } return (0); } } s32 ixgbe_init_rx_addrs_generic(struct ixgbe_hw *hw ) { u32 i ; u32 rar_entries ; struct _ddebug descriptor ; long tmp ; struct _ddebug descriptor___0 ; long tmp___0 ; struct _ddebug descriptor___1 ; long tmp___1 ; bool tmp___2 ; int tmp___3 ; struct _ddebug descriptor___2 ; long tmp___4 ; struct _ddebug descriptor___3 ; long tmp___5 ; { { rar_entries = hw->mac.num_rar_entries; tmp___2 = is_valid_ether_addr((u8 const *)(& hw->mac.addr)); } if (tmp___2) { tmp___3 = 0; } else { tmp___3 = 1; } if (tmp___3) { { (*(hw->mac.ops.get_mac_addr))(hw, (u8 *)(& hw->mac.addr)); descriptor.modname = "ixgbe"; descriptor.function = "ixgbe_init_rx_addrs_generic"; descriptor.filename = "drivers/net/ethernet/intel/ixgbe/ixgbe_common.c"; descriptor.format = " Keeping Current RAR0 Addr =%pM\n"; descriptor.lineno = 1922U; descriptor.flags = 0U; tmp = ldv__builtin_expect((long )descriptor.flags & 1L, 0L); } if (tmp != 0L) { { __dynamic_netdev_dbg(& descriptor, (struct net_device const *)((struct ixgbe_adapter *)hw->back)->netdev, " Keeping Current RAR0 Addr =%pM\n", (u8 *)(& hw->mac.addr)); } } else { } } else { { descriptor___0.modname = "ixgbe"; descriptor___0.function = "ixgbe_init_rx_addrs_generic"; descriptor___0.filename = "drivers/net/ethernet/intel/ixgbe/ixgbe_common.c"; descriptor___0.format = "Overriding MAC Address in RAR[0]\n"; descriptor___0.lineno = 1925U; descriptor___0.flags = 0U; tmp___0 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); } if (tmp___0 != 0L) { { __dynamic_netdev_dbg(& descriptor___0, (struct net_device const *)((struct ixgbe_adapter *)hw->back)->netdev, "Overriding MAC Address in RAR[0]\n"); } } else { } { descriptor___1.modname = "ixgbe"; descriptor___1.function = "ixgbe_init_rx_addrs_generic"; descriptor___1.filename = "drivers/net/ethernet/intel/ixgbe/ixgbe_common.c"; descriptor___1.format = " New MAC Addr =%pM\n"; descriptor___1.lineno = 1926U; descriptor___1.flags = 0U; tmp___1 = ldv__builtin_expect((long )descriptor___1.flags & 1L, 0L); } if (tmp___1 != 0L) { { __dynamic_netdev_dbg(& descriptor___1, (struct net_device const *)((struct ixgbe_adapter *)hw->back)->netdev, " New MAC Addr =%pM\n", (u8 *)(& hw->mac.addr)); } } else { } { (*(hw->mac.ops.set_rar))(hw, 0U, (u8 *)(& hw->mac.addr), 0U, 2147483648U); (*(hw->mac.ops.clear_vmdq))(hw, 0U, 4294967295U); } } { hw->addr_ctrl.overflow_promisc = 0U; hw->addr_ctrl.rar_used_count = 1U; descriptor___2.modname = "ixgbe"; descriptor___2.function = "ixgbe_init_rx_addrs_generic"; descriptor___2.filename = "drivers/net/ethernet/intel/ixgbe/ixgbe_common.c"; descriptor___2.format = "Clearing RAR[1-%d]\n"; descriptor___2.lineno = 1938U; descriptor___2.flags = 0U; tmp___4 = ldv__builtin_expect((long )descriptor___2.flags & 1L, 0L); } if (tmp___4 != 0L) { { __dynamic_netdev_dbg(& descriptor___2, (struct net_device const *)((struct ixgbe_adapter *)hw->back)->netdev, "Clearing RAR[1-%d]\n", rar_entries - 1U); } } else { } i = 1U; goto ldv_51431; ldv_51430: { ixgbe_write_reg(hw, i <= 15U ? (i + 2688U) * 8U : (i + 5184U) * 8U, 0U); ixgbe_write_reg(hw, i <= 15U ? i * 8U + 21508U : i * 8U + 41476U, 0U); i = i + 1U; } ldv_51431: ; if (i < rar_entries) { goto ldv_51430; } else { } { hw->addr_ctrl.mta_in_use = 0U; ixgbe_write_reg(hw, 20624U, (u32 )hw->mac.mc_filter_type); descriptor___3.modname = "ixgbe"; descriptor___3.function = "ixgbe_init_rx_addrs_generic"; descriptor___3.filename = "drivers/net/ethernet/intel/ixgbe/ixgbe_common.c"; descriptor___3.format = " Clearing MTA\n"; descriptor___3.lineno = 1948U; descriptor___3.flags = 0U; tmp___5 = ldv__builtin_expect((long )descriptor___3.flags & 1L, 0L); } if (tmp___5 != 0L) { { __dynamic_netdev_dbg(& descriptor___3, (struct net_device const *)((struct ixgbe_adapter *)hw->back)->netdev, " Clearing MTA\n"); } } else { } i = 0U; goto ldv_51435; ldv_51434: { ixgbe_write_reg(hw, (i + 5248U) * 4U, 0U); i = i + 1U; } ldv_51435: ; if (i < hw->mac.mcft_size) { goto ldv_51434; } else { } if ((unsigned long )hw->mac.ops.init_uta_tables != (unsigned long )((s32 (*)(struct ixgbe_hw * ))0)) { { (*(hw->mac.ops.init_uta_tables))(hw); } } else { } return (0); } } static s32 ixgbe_mta_vector(struct ixgbe_hw *hw , u8 *mc_addr ) { u32 vector ; struct _ddebug descriptor ; long tmp ; { vector = 0U; { if (hw->mac.mc_filter_type == 0) { goto case_0; } else { } if (hw->mac.mc_filter_type == 1) { goto case_1; } else { } if (hw->mac.mc_filter_type == 2) { goto case_2; } else { } if (hw->mac.mc_filter_type == 3) { goto case_3; } else { } goto switch_default; case_0: /* CIL Label */ vector = (u32 )(((int )*(mc_addr + 4UL) >> 4) | ((int )*(mc_addr + 5UL) << 4)); goto ldv_51443; case_1: /* CIL Label */ vector = (u32 )(((int )*(mc_addr + 4UL) >> 3) | ((int )*(mc_addr + 5UL) << 5)); goto ldv_51443; case_2: /* CIL Label */ vector = (u32 )(((int )*(mc_addr + 4UL) >> 2) | ((int )*(mc_addr + 5UL) << 6)); goto ldv_51443; case_3: /* CIL Label */ vector = (u32 )((int )*(mc_addr + 4UL) | ((int )*(mc_addr + 5UL) << 8)); goto ldv_51443; switch_default: /* CIL Label */ { descriptor.modname = "ixgbe"; descriptor.function = "ixgbe_mta_vector"; descriptor.filename = "drivers/net/ethernet/intel/ixgbe/ixgbe_common.c"; descriptor.format = "MC filter type param set incorrectly\n"; descriptor.lineno = 1988U; descriptor.flags = 0U; tmp = ldv__builtin_expect((long )descriptor.flags & 1L, 0L); } if (tmp != 0L) { { __dynamic_netdev_dbg(& descriptor, (struct net_device const *)((struct ixgbe_adapter *)hw->back)->netdev, "MC filter type param set incorrectly\n"); } } else { } goto ldv_51443; switch_break: /* CIL Label */ ; } ldv_51443: vector = vector & 4095U; return ((s32 )vector); } } static void ixgbe_set_mta(struct ixgbe_hw *hw , u8 *mc_addr ) { u32 vector ; u32 vector_bit ; u32 vector_reg ; s32 tmp ; struct _ddebug descriptor ; long tmp___0 ; { { hw->addr_ctrl.mta_in_use = hw->addr_ctrl.mta_in_use + 1U; tmp = ixgbe_mta_vector(hw, mc_addr); vector = (u32 )tmp; descriptor.modname = "ixgbe"; descriptor.function = "ixgbe_set_mta"; descriptor.filename = "drivers/net/ethernet/intel/ixgbe/ixgbe_common.c"; descriptor.format = " bit-vector = 0x%03X\n"; descriptor.lineno = 2013U; descriptor.flags = 0U; tmp___0 = ldv__builtin_expect((long )descriptor.flags & 1L, 0L); } if (tmp___0 != 0L) { { __dynamic_netdev_dbg(& descriptor, (struct net_device const *)((struct ixgbe_adapter *)hw->back)->netdev, " bit-vector = 0x%03X\n", vector); } } else { } vector_reg = (vector >> 5) & 127U; vector_bit = vector & 31U; hw->mac.mta_shadow[vector_reg] = hw->mac.mta_shadow[vector_reg] | (u32 )(1 << (int )vector_bit); return; } } s32 ixgbe_update_mc_addr_list_generic(struct ixgbe_hw *hw , struct net_device *netdev ) { struct netdev_hw_addr *ha ; u32 i ; struct _ddebug descriptor ; long tmp ; struct list_head const *__mptr ; struct _ddebug descriptor___0 ; long tmp___0 ; struct list_head const *__mptr___0 ; struct _ddebug descriptor___1 ; long tmp___1 ; { { hw->addr_ctrl.num_mc_addrs = (u32 )netdev->mc.count; hw->addr_ctrl.mta_in_use = 0U; descriptor.modname = "ixgbe"; descriptor.function = "ixgbe_update_mc_addr_list_generic"; descriptor.filename = "drivers/net/ethernet/intel/ixgbe/ixgbe_common.c"; descriptor.format = " Clearing MTA\n"; descriptor.lineno = 2053U; descriptor.flags = 0U; tmp = ldv__builtin_expect((long )descriptor.flags & 1L, 0L); } if (tmp != 0L) { { __dynamic_netdev_dbg(& descriptor, (struct net_device const *)((struct ixgbe_adapter *)hw->back)->netdev, " Clearing MTA\n"); } } else { } { memset((void *)(& hw->mac.mta_shadow), 0, 512UL); __mptr = (struct list_head const *)netdev->mc.list.next; ha = (struct netdev_hw_addr *)__mptr; } goto ldv_51473; ldv_51472: { descriptor___0.modname = "ixgbe"; descriptor___0.function = "ixgbe_update_mc_addr_list_generic"; descriptor___0.filename = "drivers/net/ethernet/intel/ixgbe/ixgbe_common.c"; descriptor___0.format = " Adding the multicast addresses:\n"; descriptor___0.lineno = 2058U; descriptor___0.flags = 0U; tmp___0 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); } if (tmp___0 != 0L) { { __dynamic_netdev_dbg(& descriptor___0, (struct net_device const *)((struct ixgbe_adapter *)hw->back)->netdev, " Adding the multicast addresses:\n"); } } else { } { ixgbe_set_mta(hw, (u8 *)(& ha->addr)); __mptr___0 = (struct list_head const *)ha->list.next; ha = (struct netdev_hw_addr *)__mptr___0; } ldv_51473: ; if ((unsigned long )(& ha->list) != (unsigned long )(& netdev->mc.list)) { goto ldv_51472; } else { } i = 0U; goto ldv_51476; ldv_51475: { ixgbe_write_reg(hw, (i << 2) + 20992U, hw->mac.mta_shadow[i]); i = i + 1U; } ldv_51476: ; if (i < hw->mac.mcft_size) { goto ldv_51475; } else { } if (hw->addr_ctrl.mta_in_use != 0U) { { ixgbe_write_reg(hw, 20624U, (u32 )(hw->mac.mc_filter_type | 4)); } } else { } { descriptor___1.modname = "ixgbe"; descriptor___1.function = "ixgbe_update_mc_addr_list_generic"; descriptor___1.filename = "drivers/net/ethernet/intel/ixgbe/ixgbe_common.c"; descriptor___1.format = "ixgbe_update_mc_addr_list_generic Complete\n"; descriptor___1.lineno = 2071U; descriptor___1.flags = 0U; tmp___1 = ldv__builtin_expect((long )descriptor___1.flags & 1L, 0L); } if (tmp___1 != 0L) { { __dynamic_netdev_dbg(& descriptor___1, (struct net_device const *)((struct ixgbe_adapter *)hw->back)->netdev, "ixgbe_update_mc_addr_list_generic Complete\n"); } } else { } return (0); } } s32 ixgbe_enable_mc_generic(struct ixgbe_hw *hw ) { struct ixgbe_addr_filter_info *a ; { a = & hw->addr_ctrl; if (a->mta_in_use != 0U) { { ixgbe_write_reg(hw, 20624U, (u32 )(hw->mac.mc_filter_type | 4)); } } else { } return (0); } } s32 ixgbe_disable_mc_generic(struct ixgbe_hw *hw ) { struct ixgbe_addr_filter_info *a ; { a = & hw->addr_ctrl; if (a->mta_in_use != 0U) { { ixgbe_write_reg(hw, 20624U, (u32 )hw->mac.mc_filter_type); } } else { } return (0); } } s32 ixgbe_fc_enable_generic(struct ixgbe_hw *hw ) { s32 ret_val ; u32 mflcn_reg ; u32 fccfg_reg ; u32 reg ; u32 fcrtl ; u32 fcrth ; int i ; struct _ddebug descriptor ; long tmp ; struct _ddebug descriptor___0 ; long tmp___0 ; u32 tmp___1 ; { ret_val = 0; if ((hw->fc.low_water == 0U || hw->fc.high_water[0] == 0U) || (unsigned int )hw->fc.pause_time == 0U) { { descriptor.modname = "ixgbe"; descriptor.function = "ixgbe_fc_enable_generic"; descriptor.filename = "drivers/net/ethernet/intel/ixgbe/ixgbe_common.c"; descriptor.format = "Invalid water mark configuration\n"; descriptor.lineno = 2130U; descriptor.flags = 0U; tmp = ldv__builtin_expect((long )descriptor.flags & 1L, 0L); } if (tmp != 0L) { { __dynamic_netdev_dbg(& descriptor, (struct net_device const *)((struct ixgbe_adapter *)hw->back)->netdev, "Invalid water mark configuration\n"); } } else { } ret_val = -13; goto out; } else { } { ixgbe_fc_autoneg(hw); mflcn_reg = ixgbe_read_reg(hw, 17044U); mflcn_reg = mflcn_reg & 4294963203U; fccfg_reg = ixgbe_read_reg(hw, 15616U); fccfg_reg = fccfg_reg & 4294967271U; } { if ((unsigned int )hw->fc.current_mode == 0U) { goto case_0; } else { } if ((unsigned int )hw->fc.current_mode == 1U) { goto case_1; } else { } if ((unsigned int )hw->fc.current_mode == 2U) { goto case_2; } else { } if ((unsigned int )hw->fc.current_mode == 3U) { goto case_3; } else { } goto switch_default; case_0: /* CIL Label */ ; goto ldv_51501; case_1: /* CIL Label */ mflcn_reg = mflcn_reg | 8U; goto ldv_51501; case_2: /* CIL Label */ fccfg_reg = fccfg_reg | 8U; goto ldv_51501; case_3: /* CIL Label */ mflcn_reg = mflcn_reg | 8U; fccfg_reg = fccfg_reg | 8U; goto ldv_51501; switch_default: /* CIL Label */ { descriptor___0.modname = "ixgbe"; descriptor___0.function = "ixgbe_fc_enable_generic"; descriptor___0.filename = "drivers/net/ethernet/intel/ixgbe/ixgbe_common.c"; descriptor___0.format = "Flow control param set incorrectly\n"; descriptor___0.lineno = 2186U; descriptor___0.flags = 0U; tmp___0 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); } if (tmp___0 != 0L) { { __dynamic_netdev_dbg(& descriptor___0, (struct net_device const *)((struct ixgbe_adapter *)hw->back)->netdev, "Flow control param set incorrectly\n"); } } else { } ret_val = -4; goto out; switch_break: /* CIL Label */ ; } ldv_51501: { mflcn_reg = mflcn_reg | 2U; ixgbe_write_reg(hw, 17044U, mflcn_reg); ixgbe_write_reg(hw, 15616U, fccfg_reg); fcrtl = (hw->fc.low_water << 10) | 2147483648U; i = 0; } goto ldv_51508; ldv_51507: ; if (((unsigned int )hw->fc.current_mode & 2U) != 0U && hw->fc.high_water[i] != 0U) { { ixgbe_write_reg(hw, (u32 )((i + 3208) * 4), fcrtl); fcrth = (hw->fc.high_water[i] << 10) | 2147483648U; } } else { { ixgbe_write_reg(hw, (u32 )((i + 3208) * 4), 0U); tmp___1 = ixgbe_read_reg(hw, (u32 )((i + 3840) * 4)); fcrth = tmp___1 - 32U; } } { ixgbe_write_reg(hw, (u32 )((i + 3224) * 4), fcrth); i = i + 1; } ldv_51508: ; if (i <= 7) { goto ldv_51507; } else { } reg = (u32 )((int )hw->fc.pause_time * 65537); i = 0; goto ldv_51511; ldv_51510: { ixgbe_write_reg(hw, (u32 )((i + 3200) * 4), reg); i = i + 1; } ldv_51511: ; if (i <= 3) { goto ldv_51510; } else { } { ixgbe_write_reg(hw, 12960U, (unsigned int )hw->fc.pause_time / 2U); } out: ; return (ret_val); } } static s32 ixgbe_negotiate_fc(struct ixgbe_hw *hw , u32 adv_reg , u32 lp_reg , u32 adv_sym , u32 adv_asm , u32 lp_sym , u32 lp_asm ) { struct _ddebug descriptor ; long tmp ; struct _ddebug descriptor___0 ; long tmp___0 ; struct _ddebug descriptor___1 ; long tmp___1 ; struct _ddebug descriptor___2 ; long tmp___2 ; struct _ddebug descriptor___3 ; long tmp___3 ; { if (adv_reg == 0U || lp_reg == 0U) { return (-27); } else { } if ((adv_reg & adv_sym) != 0U && (lp_reg & lp_sym) != 0U) { if ((unsigned int )hw->fc.requested_mode == 3U) { { hw->fc.current_mode = 3; descriptor.modname = "ixgbe"; descriptor.function = "ixgbe_negotiate_fc"; descriptor.filename = "drivers/net/ethernet/intel/ixgbe/ixgbe_common.c"; descriptor.format = "Flow Control = FULL.\n"; descriptor.lineno = 2259U; descriptor.flags = 0U; tmp = ldv__builtin_expect((long )descriptor.flags & 1L, 0L); } if (tmp != 0L) { { __dynamic_netdev_dbg(& descriptor, (struct net_device const *)((struct ixgbe_adapter *)hw->back)->netdev, "Flow Control = FULL.\n"); } } else { } } else { { hw->fc.current_mode = 1; descriptor___0.modname = "ixgbe"; descriptor___0.function = "ixgbe_negotiate_fc"; descriptor___0.filename = "drivers/net/ethernet/intel/ixgbe/ixgbe_common.c"; descriptor___0.format = "Flow Control=RX PAUSE frames only\n"; descriptor___0.lineno = 2262U; descriptor___0.flags = 0U; tmp___0 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); } if (tmp___0 != 0L) { { __dynamic_netdev_dbg(& descriptor___0, (struct net_device const *)((struct ixgbe_adapter *)hw->back)->netdev, "Flow Control=RX PAUSE frames only\n"); } } else { } } } else if ((((adv_reg & adv_sym) == 0U && (adv_reg & adv_asm) != 0U) && (lp_reg & lp_sym) != 0U) && (lp_reg & lp_asm) != 0U) { { hw->fc.current_mode = 2; descriptor___1.modname = "ixgbe"; descriptor___1.function = "ixgbe_negotiate_fc"; descriptor___1.filename = "drivers/net/ethernet/intel/ixgbe/ixgbe_common.c"; descriptor___1.format = "Flow Control = TX PAUSE frames only.\n"; descriptor___1.lineno = 2267U; descriptor___1.flags = 0U; tmp___1 = ldv__builtin_expect((long )descriptor___1.flags & 1L, 0L); } if (tmp___1 != 0L) { { __dynamic_netdev_dbg(& descriptor___1, (struct net_device const *)((struct ixgbe_adapter *)hw->back)->netdev, "Flow Control = TX PAUSE frames only.\n"); } } else { } } else if ((((adv_reg & adv_sym) != 0U && (adv_reg & adv_asm) != 0U) && (lp_reg & lp_sym) == 0U) && (lp_reg & lp_asm) != 0U) { { hw->fc.current_mode = 1; descriptor___2.modname = "ixgbe"; descriptor___2.function = "ixgbe_negotiate_fc"; descriptor___2.filename = "drivers/net/ethernet/intel/ixgbe/ixgbe_common.c"; descriptor___2.format = "Flow Control = RX PAUSE frames only.\n"; descriptor___2.lineno = 2271U; descriptor___2.flags = 0U; tmp___2 = ldv__builtin_expect((long )descriptor___2.flags & 1L, 0L); } if (tmp___2 != 0L) { { __dynamic_netdev_dbg(& descriptor___2, (struct net_device const *)((struct ixgbe_adapter *)hw->back)->netdev, "Flow Control = RX PAUSE frames only.\n"); } } else { } } else { { hw->fc.current_mode = 0; descriptor___3.modname = "ixgbe"; descriptor___3.function = "ixgbe_negotiate_fc"; descriptor___3.filename = "drivers/net/ethernet/intel/ixgbe/ixgbe_common.c"; descriptor___3.format = "Flow Control = NONE.\n"; descriptor___3.lineno = 2274U; descriptor___3.flags = 0U; tmp___3 = ldv__builtin_expect((long )descriptor___3.flags & 1L, 0L); } if (tmp___3 != 0L) { { __dynamic_netdev_dbg(& descriptor___3, (struct net_device const *)((struct ixgbe_adapter *)hw->back)->netdev, "Flow Control = NONE.\n"); } } else { } } return (0); } } static s32 ixgbe_fc_autoneg_fiber(struct ixgbe_hw *hw ) { u32 pcs_anadv_reg ; u32 pcs_lpab_reg ; u32 linkstat ; s32 ret_val ; { { ret_val = -27; linkstat = ixgbe_read_reg(hw, 16908U); } if ((linkstat & 327680U) != 65536U) { goto out; } else { } { pcs_anadv_reg = ixgbe_read_reg(hw, 16920U); pcs_lpab_reg = ixgbe_read_reg(hw, 16924U); ret_val = ixgbe_negotiate_fc(hw, pcs_anadv_reg, pcs_lpab_reg, 128U, 256U, 128U, 256U); } out: ; return (ret_val); } } static s32 ixgbe_fc_autoneg_backplane(struct ixgbe_hw *hw ) { u32 links2 ; u32 anlp1_reg ; u32 autoc_reg ; u32 links ; s32 ret_val ; { { ret_val = -27; links = ixgbe_read_reg(hw, 17060U); } if ((int )links >= 0) { goto out; } else { } if ((unsigned int )hw->mac.type == 2U) { { links2 = ixgbe_read_reg(hw, 17188U); } if ((links2 & 64U) == 0U) { goto out; } else { } } else { } { autoc_reg = ixgbe_read_reg(hw, 17056U); anlp1_reg = ixgbe_read_reg(hw, 17072U); ret_val = ixgbe_negotiate_fc(hw, autoc_reg, anlp1_reg, 268435456U, 536870912U, 1024U, 2048U); } out: ; return (ret_val); } } static s32 ixgbe_fc_autoneg_copper(struct ixgbe_hw *hw ) { u16 technology_ability_reg ; u16 lp_technology_ability_reg ; s32 tmp ; { { technology_ability_reg = 0U; lp_technology_ability_reg = 0U; (*(hw->phy.ops.read_reg))(hw, 16U, 7U, & technology_ability_reg); (*(hw->phy.ops.read_reg))(hw, 19U, 7U, & lp_technology_ability_reg); tmp = ixgbe_negotiate_fc(hw, (unsigned int )technology_ability_reg, (unsigned int )lp_technology_ability_reg, 1024U, 2048U, 1024U, 2048U); } return (tmp); } } void ixgbe_fc_autoneg(struct ixgbe_hw *hw ) { s32 ret_val ; ixgbe_link_speed speed ; bool link_up ; bool tmp ; { ret_val = -27; if ((int )hw->fc.disable_fc_autoneg) { goto out; } else { } { (*(hw->mac.ops.check_link))(hw, & speed, & link_up, 0); } if (! link_up) { goto out; } else { } { if ((unsigned int )hw->phy.media_type == 2U) { goto case_2; } else { } if ((unsigned int )hw->phy.media_type == 1U) { goto case_1; } else { } if ((unsigned int )hw->phy.media_type == 6U) { goto case_6; } else { } if ((unsigned int )hw->phy.media_type == 5U) { goto case_5; } else { } goto switch_default; case_2: /* CIL Label */ ; case_1: /* CIL Label */ ; if (speed == 32U) { { ret_val = ixgbe_fc_autoneg_fiber(hw); } } else { } goto ldv_51559; case_6: /* CIL Label */ { ret_val = ixgbe_fc_autoneg_backplane(hw); } goto ldv_51559; case_5: /* CIL Label */ { tmp = ixgbe_device_supports_autoneg_fc(hw); } if ((int )tmp) { { ret_val = ixgbe_fc_autoneg_copper(hw); } } else { } goto ldv_51559; switch_default: /* CIL Label */ ; goto ldv_51559; switch_break: /* CIL Label */ ; } ldv_51559: ; out: ; if (ret_val == 0) { hw->fc.fc_was_autonegged = 1; } else { hw->fc.fc_was_autonegged = 0; hw->fc.current_mode = hw->fc.requested_mode; } return; } } static s32 ixgbe_disable_pcie_master(struct ixgbe_hw *hw ) { struct ixgbe_adapter *adapter ; s32 status ; u32 i ; u16 value ; u32 tmp ; u32 tmp___0 ; struct _ddebug descriptor ; long tmp___1 ; struct _ddebug descriptor___0 ; long tmp___2 ; { { adapter = (struct ixgbe_adapter *)hw->back; status = 0; ixgbe_write_reg(hw, 0U, 4U); tmp = ixgbe_read_reg(hw, 8U); } if ((tmp & 524288U) == 0U) { goto out; } else { } i = 0U; goto ldv_51572; ldv_51571: { __const_udelay(429500UL); tmp___0 = ixgbe_read_reg(hw, 8U); } if ((tmp___0 & 524288U) == 0U) { goto out; } else { } i = i + 1U; ldv_51572: ; if (i <= 799U) { goto ldv_51571; } else { } { descriptor.modname = "ixgbe"; descriptor.function = "ixgbe_disable_pcie_master"; descriptor.filename = "drivers/net/ethernet/intel/ixgbe/ixgbe_common.c"; descriptor.format = "GIO Master Disable bit didn\'t clear - requesting resets\n"; descriptor.lineno = 2477U; descriptor.flags = 0U; tmp___1 = ldv__builtin_expect((long )descriptor.flags & 1L, 0L); } if (tmp___1 != 0L) { { __dynamic_netdev_dbg(& descriptor, (struct net_device const *)((struct ixgbe_adapter *)hw->back)->netdev, "GIO Master Disable bit didn\'t clear - requesting resets\n"); } } else { } hw->mac.flags = (u8 )((unsigned int )hw->mac.flags | 1U); i = 0U; goto ldv_51577; ldv_51576: { __const_udelay(429500UL); pci_read_config_word((struct pci_dev const *)adapter->pdev, 170, & value); } if (((int )value & 32) == 0) { goto out; } else { } i = i + 1U; ldv_51577: ; if (i <= 799U) { goto ldv_51576; } else { } { descriptor___0.modname = "ixgbe"; descriptor___0.function = "ixgbe_disable_pcie_master"; descriptor___0.filename = "drivers/net/ethernet/intel/ixgbe/ixgbe_common.c"; descriptor___0.format = "PCIe transaction pending bit also did not clear.\n"; descriptor___0.lineno = 2492U; descriptor___0.flags = 0U; tmp___2 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); } if (tmp___2 != 0L) { { __dynamic_netdev_dbg(& descriptor___0, (struct net_device const *)((struct ixgbe_adapter *)hw->back)->netdev, "PCIe transaction pending bit also did not clear.\n"); } } else { } status = -12; out: ; return (status); } } s32 ixgbe_acquire_swfw_sync(struct ixgbe_hw *hw , u16 mask ) { u32 gssr ; u32 swmask ; u32 fwmask ; u32 timeout ; u32 i ; s32 tmp ; { gssr = 0U; swmask = (u32 )mask; fwmask = (u32 )((int )mask << 5); timeout = 200U; i = 0U; goto ldv_51590; ldv_51589: { tmp = ixgbe_get_eeprom_semaphore(hw); } if (tmp != 0) { return (-16); } else { } { gssr = ixgbe_read_reg(hw, 65888U); } if ((gssr & (fwmask | swmask)) == 0U) { { gssr = gssr | swmask; ixgbe_write_reg(hw, 65888U, gssr); ixgbe_release_eeprom_semaphore(hw); } return (0); } else { { ixgbe_release_eeprom_semaphore(hw); usleep_range(5000UL, 10000UL); } } i = i + 1U; ldv_51590: ; if (i < timeout) { goto ldv_51589; } else { } if ((gssr & (fwmask | swmask)) != 0U) { { ixgbe_release_swfw_sync(hw, (int )((u16 )gssr) & ((int )((u16 )fwmask) | (int )((u16 )swmask))); } } else { } { usleep_range(5000UL, 10000UL); } return (-16); } } void ixgbe_release_swfw_sync(struct ixgbe_hw *hw , u16 mask ) { u32 gssr ; u32 swmask ; { { swmask = (u32 )mask; ixgbe_get_eeprom_semaphore(hw); gssr = ixgbe_read_reg(hw, 65888U); gssr = gssr & ~ swmask; ixgbe_write_reg(hw, 65888U, gssr); ixgbe_release_eeprom_semaphore(hw); } return; } } s32 ixgbe_disable_rx_buff_generic(struct ixgbe_hw *hw ) { int i ; int secrxreg ; u32 tmp ; u32 tmp___0 ; struct _ddebug descriptor ; long tmp___1 ; { { tmp = ixgbe_read_reg(hw, 36096U); secrxreg = (int )tmp; secrxreg = secrxreg | 2; ixgbe_write_reg(hw, 36096U, (u32 )secrxreg); i = 0; } goto ldv_51605; ldv_51604: { tmp___0 = ixgbe_read_reg(hw, 36100U); secrxreg = (int )tmp___0; } if (secrxreg & 1) { goto ldv_51603; } else { { __const_udelay(4295000UL); } } i = i + 1; ldv_51605: ; if (i <= 39) { goto ldv_51604; } else { } ldv_51603: ; if (i > 39) { { descriptor.modname = "ixgbe"; descriptor.function = "ixgbe_disable_rx_buff_generic"; descriptor.filename = "drivers/net/ethernet/intel/ixgbe/ixgbe_common.c"; descriptor.format = "Rx unit being enabled before security path fully disabled. Continuing with init.\n"; descriptor.lineno = 2594U; descriptor.flags = 0U; tmp___1 = ldv__builtin_expect((long )descriptor.flags & 1L, 0L); } if (tmp___1 != 0L) { { __dynamic_netdev_dbg(& descriptor, (struct net_device const *)((struct ixgbe_adapter *)hw->back)->netdev, "Rx unit being enabled before security path fully disabled. Continuing with init.\n"); } } else { } } else { } return (0); } } s32 ixgbe_enable_rx_buff_generic(struct ixgbe_hw *hw ) { int secrxreg ; u32 tmp ; { { tmp = ixgbe_read_reg(hw, 36096U); secrxreg = (int )tmp; secrxreg = secrxreg & -3; ixgbe_write_reg(hw, 36096U, (u32 )secrxreg); ixgbe_read_reg(hw, 8U); } return (0); } } s32 ixgbe_enable_rx_dma_generic(struct ixgbe_hw *hw , u32 regval ) { { { ixgbe_write_reg(hw, 12288U, regval); } return (0); } } s32 ixgbe_blink_led_start_generic(struct ixgbe_hw *hw , u32 index ) { ixgbe_link_speed speed ; bool link_up ; u32 autoc_reg ; u32 tmp ; u32 led_reg ; u32 tmp___0 ; s32 ret_val ; bool got_lock ; bool tmp___1 ; { { speed = 0U; link_up = 0; tmp = ixgbe_read_reg(hw, 17056U); autoc_reg = tmp; tmp___0 = ixgbe_read_reg(hw, 512U); led_reg = tmp___0; ret_val = 0; (*(hw->mac.ops.check_link))(hw, & speed, & link_up, 0); } if (! link_up) { got_lock = 0; if ((unsigned int )hw->mac.type == 2U) { { tmp___1 = ixgbe_verify_lesm_fw_enabled_82599(hw); } if ((int )tmp___1) { { ret_val = (*(hw->mac.ops.acquire_swfw_sync))(hw, 8); } if (ret_val != 0) { goto out; } else { } got_lock = 1; } else { } } else { } { autoc_reg = autoc_reg | 4096U; autoc_reg = autoc_reg | 1U; ixgbe_write_reg(hw, 17056U, autoc_reg); ixgbe_read_reg(hw, 8U); } if ((int )got_lock) { { (*(hw->mac.ops.release_swfw_sync))(hw, 8); } } else { } { usleep_range(10000UL, 20000UL); } } else { } { led_reg = led_reg & (u32 )(~ (15 << (int )(index * 8U))); led_reg = led_reg | (u32 )(128 << (int )(index * 8U)); ixgbe_write_reg(hw, 512U, led_reg); ixgbe_read_reg(hw, 8U); } out: ; return (ret_val); } } s32 ixgbe_blink_led_stop_generic(struct ixgbe_hw *hw , u32 index ) { u32 autoc_reg ; u32 tmp ; u32 led_reg ; u32 tmp___0 ; s32 ret_val ; bool got_lock ; bool tmp___1 ; { { tmp = ixgbe_read_reg(hw, 17056U); autoc_reg = tmp; tmp___0 = ixgbe_read_reg(hw, 512U); led_reg = tmp___0; ret_val = 0; got_lock = 0; } if ((unsigned int )hw->mac.type == 2U) { { tmp___1 = ixgbe_verify_lesm_fw_enabled_82599(hw); } if ((int )tmp___1) { { ret_val = (*(hw->mac.ops.acquire_swfw_sync))(hw, 8); } if (ret_val != 0) { goto out; } else { } got_lock = 1; } else { } } else { } { autoc_reg = autoc_reg & 4294967294U; autoc_reg = autoc_reg | 4096U; ixgbe_write_reg(hw, 17056U, autoc_reg); } if ((unsigned int )hw->mac.type == 2U) { { ixgbe_reset_pipeline_82599(hw); } } else { } if ((int )got_lock) { { (*(hw->mac.ops.release_swfw_sync))(hw, 8); } } else { } { led_reg = led_reg & (u32 )(~ (15 << (int )(index * 8U))); led_reg = led_reg & (u32 )(~ (128 << (int )(index * 8U))); led_reg = led_reg | (u32 )(4 << (int )(index * 8U)); ixgbe_write_reg(hw, 512U, led_reg); ixgbe_read_reg(hw, 8U); } out: ; return (ret_val); } } static s32 ixgbe_get_san_mac_addr_offset(struct ixgbe_hw *hw , u16 *san_mac_offset ) { s32 ret_val ; { { ret_val = (*(hw->eeprom.ops.read))(hw, 40, san_mac_offset); } if (ret_val != 0) { { netdev_err((struct net_device const *)((struct ixgbe_adapter *)hw->back)->netdev, "eeprom read at offset %d failed\n", 40); } } else { } return (ret_val); } } s32 ixgbe_get_san_mac_addr_generic(struct ixgbe_hw *hw , u8 *san_mac_addr ) { u16 san_mac_data ; u16 san_mac_offset ; u8 i ; s32 ret_val ; { { ret_val = ixgbe_get_san_mac_addr_offset(hw, & san_mac_offset); } if ((ret_val != 0 || (unsigned int )san_mac_offset == 0U) || (unsigned int )san_mac_offset == 65535U) { goto san_mac_addr_clr; } else { } { (*(hw->mac.ops.set_lan_id))(hw); } if ((unsigned int )hw->bus.func != 0U) { san_mac_offset = (unsigned int )san_mac_offset + 3U; } else { san_mac_offset = san_mac_offset; } i = 0U; goto ldv_51651; ldv_51650: { ret_val = (*(hw->eeprom.ops.read))(hw, (int )san_mac_offset, & san_mac_data); } if (ret_val != 0) { { netdev_err((struct net_device const *)((struct ixgbe_adapter *)hw->back)->netdev, "eeprom read at offset %d failed\n", (int )san_mac_offset); } goto san_mac_addr_clr; } else { } *(san_mac_addr + (unsigned long )((int )i * 2)) = (unsigned char )san_mac_data; *(san_mac_addr + ((unsigned long )((int )i * 2) + 1UL)) = (unsigned char )((int )san_mac_data >> 8); san_mac_offset = (u16 )((int )san_mac_offset + 1); i = (u8 )((int )i + 1); ldv_51651: ; if ((unsigned int )i <= 2U) { goto ldv_51650; } else { } return (0); san_mac_addr_clr: i = 0U; goto ldv_51654; ldv_51653: *(san_mac_addr + (unsigned long )i) = 255U; i = (u8 )((int )i + 1); ldv_51654: ; if ((unsigned int )i <= 5U) { goto ldv_51653; } else { } return (ret_val); } } u16 ixgbe_get_pcie_msix_count_generic(struct ixgbe_hw *hw ) { struct ixgbe_adapter *adapter ; u16 msix_count ; u16 max_msix_count ; u16 pcie_offset ; { adapter = (struct ixgbe_adapter *)hw->back; msix_count = 1U; { if ((unsigned int )hw->mac.type == 1U) { goto case_1; } else { } if ((unsigned int )hw->mac.type == 2U) { goto case_2; } else { } if ((unsigned int )hw->mac.type == 3U) { goto case_3; } else { } goto switch_default; case_1: /* CIL Label */ pcie_offset = 98U; max_msix_count = 19U; goto ldv_51664; case_2: /* CIL Label */ ; case_3: /* CIL Label */ pcie_offset = 114U; max_msix_count = 64U; goto ldv_51664; switch_default: /* CIL Label */ ; return (msix_count); switch_break: /* CIL Label */ ; } ldv_51664: { pci_read_config_word((struct pci_dev const *)adapter->pdev, (int )pcie_offset, & msix_count); msix_count = (unsigned int )msix_count & 2047U; msix_count = (u16 )((int )msix_count + 1); } if ((int )msix_count > (int )max_msix_count) { msix_count = max_msix_count; } else { } return (msix_count); } } s32 ixgbe_clear_vmdq_generic(struct ixgbe_hw *hw , u32 rar , u32 vmdq ) { u32 mpsar_lo ; u32 mpsar_hi ; u32 rar_entries ; struct _ddebug descriptor ; long tmp ; { rar_entries = hw->mac.num_rar_entries; if (rar >= rar_entries) { { descriptor.modname = "ixgbe"; descriptor.function = "ixgbe_clear_vmdq_generic"; descriptor.filename = "drivers/net/ethernet/intel/ixgbe/ixgbe_common.c"; descriptor.format = "RAR index %d is out of range.\n"; descriptor.lineno = 2864U; descriptor.flags = 0U; tmp = ldv__builtin_expect((long )descriptor.flags & 1L, 0L); } if (tmp != 0L) { { __dynamic_netdev_dbg(& descriptor, (struct net_device const *)((struct ixgbe_adapter *)hw->back)->netdev, "RAR index %d is out of range.\n", rar); } } else { } return (-32); } else { } { mpsar_lo = ixgbe_read_reg(hw, (rar + 5312U) * 8U); mpsar_hi = ixgbe_read_reg(hw, rar * 8U + 42500U); } if ((mpsar_lo | mpsar_hi) == 0U) { goto done; } else { } if (vmdq == 4294967295U) { if (mpsar_lo != 0U) { { ixgbe_write_reg(hw, (rar + 5312U) * 8U, 0U); mpsar_lo = 0U; } } else { } if (mpsar_hi != 0U) { { ixgbe_write_reg(hw, rar * 8U + 42500U, 0U); mpsar_hi = 0U; } } else { } } else if (vmdq <= 31U) { { mpsar_lo = mpsar_lo & (u32 )(~ (1 << (int )vmdq)); ixgbe_write_reg(hw, (rar + 5312U) * 8U, mpsar_lo); } } else { { mpsar_hi = mpsar_hi & (u32 )(~ (1 << (int )(vmdq - 32U))); ixgbe_write_reg(hw, rar * 8U + 42500U, mpsar_hi); } } if ((mpsar_lo | mpsar_hi) == 0U && rar != 0U) { { (*(hw->mac.ops.clear_rar))(hw, rar); } } else { } done: ; return (0); } } s32 ixgbe_set_vmdq_generic(struct ixgbe_hw *hw , u32 rar , u32 vmdq ) { u32 mpsar ; u32 rar_entries ; struct _ddebug descriptor ; long tmp ; { rar_entries = hw->mac.num_rar_entries; if (rar >= rar_entries) { { descriptor.modname = "ixgbe"; descriptor.function = "ixgbe_set_vmdq_generic"; descriptor.filename = "drivers/net/ethernet/intel/ixgbe/ixgbe_common.c"; descriptor.format = "RAR index %d is out of range.\n"; descriptor.lineno = 2911U; descriptor.flags = 0U; tmp = ldv__builtin_expect((long )descriptor.flags & 1L, 0L); } if (tmp != 0L) { { __dynamic_netdev_dbg(& descriptor, (struct net_device const *)((struct ixgbe_adapter *)hw->back)->netdev, "RAR index %d is out of range.\n", rar); } } else { } return (-32); } else { } if (vmdq <= 31U) { { mpsar = ixgbe_read_reg(hw, (rar + 5312U) * 8U); mpsar = mpsar | (u32 )(1 << (int )vmdq); ixgbe_write_reg(hw, (rar + 5312U) * 8U, mpsar); } } else { { mpsar = ixgbe_read_reg(hw, rar * 8U + 42500U); mpsar = mpsar | (u32 )(1 << (int )(vmdq - 32U)); ixgbe_write_reg(hw, rar * 8U + 42500U, mpsar); } } return (0); } } s32 ixgbe_set_vmdq_san_mac_generic(struct ixgbe_hw *hw , u32 vmdq ) { u32 rar ; { rar = (u32 )hw->mac.san_mac_rar_index; if (vmdq <= 31U) { { ixgbe_write_reg(hw, (rar + 5312U) * 8U, (u32 )(1 << (int )vmdq)); ixgbe_write_reg(hw, rar * 8U + 42500U, 0U); } } else { { ixgbe_write_reg(hw, (rar + 5312U) * 8U, 0U); ixgbe_write_reg(hw, rar * 8U + 42500U, (u32 )(1 << (int )(vmdq - 32U))); } } return (0); } } s32 ixgbe_init_uta_tables_generic(struct ixgbe_hw *hw ) { int i ; { i = 0; goto ldv_51698; ldv_51697: { ixgbe_write_reg(hw, (u32 )((i + 15616) * 4), 0U); i = i + 1; } ldv_51698: ; if (i <= 127) { goto ldv_51697; } else { } return (0); } } static s32 ixgbe_find_vlvf_slot(struct ixgbe_hw *hw , u32 vlan ) { u32 bits ; u32 first_empty_slot ; s32 regindex ; struct _ddebug descriptor ; long tmp ; { bits = 0U; first_empty_slot = 0U; if (vlan == 0U) { return (0); } else { } regindex = 1; goto ldv_51709; ldv_51708: { bits = ixgbe_read_reg(hw, (u32 )((regindex + 15424) * 4)); } if ((bits | first_empty_slot) == 0U) { first_empty_slot = (u32 )regindex; } else if ((bits & 4095U) == vlan) { goto ldv_51707; } else { } regindex = regindex + 1; ldv_51709: ; if (regindex <= 63) { goto ldv_51708; } else { } ldv_51707: ; if (regindex > 63) { if (first_empty_slot != 0U) { regindex = (s32 )first_empty_slot; } else { { descriptor.modname = "ixgbe"; descriptor.function = "ixgbe_find_vlvf_slot"; descriptor.filename = "drivers/net/ethernet/intel/ixgbe/ixgbe_common.c"; descriptor.format = "No space in VLVF.\n"; descriptor.lineno = 3005U; descriptor.flags = 0U; tmp = ldv__builtin_expect((long )descriptor.flags & 1L, 0L); } if (tmp != 0L) { { __dynamic_netdev_dbg(& descriptor, (struct net_device const *)((struct ixgbe_adapter *)hw->back)->netdev, "No space in VLVF.\n"); } } else { } regindex = -25; } } else { } return (regindex); } } s32 ixgbe_set_vfta_generic(struct ixgbe_hw *hw , u32 vlan , u32 vind , bool vlan_on ) { s32 regindex ; u32 bitindex ; u32 vfta ; u32 bits ; u32 vt ; u32 targetbit ; bool vfta_changed ; s32 vlvf_index ; u32 tmp ; u32 tmp___0 ; { vfta_changed = 0; if (vlan > 4095U) { return (-5); } else { } { regindex = (s32 )(vlan >> 5) & 127; bitindex = vlan & 31U; targetbit = (u32 )(1 << (int )bitindex); vfta = ixgbe_read_reg(hw, (u32 )((regindex + 10240) * 4)); } if ((int )vlan_on) { if ((vfta & targetbit) == 0U) { vfta = vfta | targetbit; vfta_changed = 1; } else { } } else if ((vfta & targetbit) != 0U) { vfta = vfta & ~ targetbit; vfta_changed = 1; } else { } { vt = ixgbe_read_reg(hw, 20912U); } if ((int )vt & 1) { { vlvf_index = ixgbe_find_vlvf_slot(hw, vlan); } if (vlvf_index < 0) { return (vlvf_index); } else { } if ((int )vlan_on) { if (vind <= 31U) { { bits = ixgbe_read_reg(hw, (u32 )((vlvf_index + 7744) * 8)); bits = bits | (u32 )(1 << (int )vind); ixgbe_write_reg(hw, (u32 )((vlvf_index + 7744) * 8), bits); } } else { { bits = ixgbe_read_reg(hw, (u32 )(vlvf_index * 8 + 61956)); bits = bits | (u32 )(1 << (int )(vind - 32U)); ixgbe_write_reg(hw, (u32 )(vlvf_index * 8 + 61956), bits); } } } else if (vind <= 31U) { { bits = ixgbe_read_reg(hw, (u32 )((vlvf_index + 7744) * 8)); bits = bits & (u32 )(~ (1 << (int )vind)); ixgbe_write_reg(hw, (u32 )((vlvf_index + 7744) * 8), bits); tmp = ixgbe_read_reg(hw, (u32 )(vlvf_index * 8 + 61956)); bits = bits | tmp; } } else { { bits = ixgbe_read_reg(hw, (u32 )(vlvf_index * 8 + 61956)); bits = bits & (u32 )(~ (1 << (int )(vind - 32U))); ixgbe_write_reg(hw, (u32 )(vlvf_index * 8 + 61956), bits); tmp___0 = ixgbe_read_reg(hw, (u32 )((vlvf_index + 7744) * 8)); bits = bits | tmp___0; } } if (bits != 0U) { { ixgbe_write_reg(hw, (u32 )((vlvf_index + 15424) * 4), vlan | 2147483648U); } if (! vlan_on) { vfta_changed = 0; } else { } } else { { ixgbe_write_reg(hw, (u32 )((vlvf_index + 15424) * 4), 0U); } } } else { } if ((int )vfta_changed) { { ixgbe_write_reg(hw, (u32 )((regindex + 10240) * 4), vfta); } } else { } return (0); } } s32 ixgbe_clear_vfta_generic(struct ixgbe_hw *hw ) { u32 offset ; { offset = 0U; goto ldv_51731; ldv_51730: { ixgbe_write_reg(hw, (offset + 10240U) * 4U, 0U); offset = offset + 1U; } ldv_51731: ; if (offset < hw->mac.vft_size) { goto ldv_51730; } else { } offset = 0U; goto ldv_51734; ldv_51733: { ixgbe_write_reg(hw, (offset + 15424U) * 4U, 0U); ixgbe_write_reg(hw, (offset + 7744U) * 8U, 0U); ixgbe_write_reg(hw, offset * 8U + 61956U, 0U); offset = offset + 1U; } ldv_51734: ; if (offset <= 63U) { goto ldv_51733; } else { } return (0); } } s32 ixgbe_check_mac_link_generic(struct ixgbe_hw *hw , ixgbe_link_speed *speed , bool *link_up , bool link_up_wait_to_complete ) { u32 links_reg ; u32 links_orig ; u32 i ; struct _ddebug descriptor ; long tmp ; { { links_orig = ixgbe_read_reg(hw, 17060U); links_reg = ixgbe_read_reg(hw, 17060U); } if (links_orig != links_reg) { { descriptor.modname = "ixgbe"; descriptor.function = "ixgbe_check_mac_link_generic"; descriptor.filename = "drivers/net/ethernet/intel/ixgbe/ixgbe_common.c"; descriptor.format = "LINKS changed from %08X to %08X\n"; descriptor.lineno = 3200U; descriptor.flags = 0U; tmp = ldv__builtin_expect((long )descriptor.flags & 1L, 0L); } if (tmp != 0L) { { __dynamic_netdev_dbg(& descriptor, (struct net_device const *)((struct ixgbe_adapter *)hw->back)->netdev, "LINKS changed from %08X to %08X\n", links_orig, links_reg); } } else { } } else { } if ((int )link_up_wait_to_complete) { i = 0U; goto ldv_51749; ldv_51748: ; if ((links_reg & 1073741824U) != 0U) { *link_up = 1; goto ldv_51747; } else { *link_up = 0; } { msleep(100U); links_reg = ixgbe_read_reg(hw, 17060U); i = i + 1U; } ldv_51749: ; if (i <= 89U) { goto ldv_51748; } else { } ldv_51747: ; } else if ((links_reg & 1073741824U) != 0U) { *link_up = 1; } else { *link_up = 0; } if ((links_reg & 805306368U) == 805306368U) { *speed = 128U; } else if ((links_reg & 805306368U) == 536870912U) { *speed = 32U; } else if ((links_reg & 805306368U) == 268435456U) { *speed = 8U; } else { *speed = 0U; } return (0); } } s32 ixgbe_get_wwn_prefix_generic(struct ixgbe_hw *hw , u16 *wwnn_prefix , u16 *wwpn_prefix ) { u16 offset ; u16 caps ; u16 alt_san_mac_blk_offset ; s32 tmp ; s32 tmp___0 ; s32 tmp___1 ; s32 tmp___2 ; { { *wwnn_prefix = 65535U; *wwpn_prefix = 65535U; offset = 39U; tmp = (*(hw->eeprom.ops.read))(hw, (int )offset, & alt_san_mac_blk_offset); } if (tmp != 0) { goto wwn_prefix_err; } else { } if ((unsigned int )alt_san_mac_blk_offset - 1U > 65533U) { goto wwn_prefix_out; } else { } { offset = alt_san_mac_blk_offset; tmp___0 = (*(hw->eeprom.ops.read))(hw, (int )offset, & caps); } if (tmp___0 != 0) { goto wwn_prefix_err; } else { } if (((int )caps & 1) == 0) { goto wwn_prefix_out; } else { } { offset = (unsigned int )alt_san_mac_blk_offset + 7U; tmp___1 = (*(hw->eeprom.ops.read))(hw, (int )offset, wwnn_prefix); } if (tmp___1 != 0) { { netdev_err((struct net_device const *)((struct ixgbe_adapter *)hw->back)->netdev, "eeprom read at offset %d failed\n", (int )offset); } } else { } { offset = (unsigned int )alt_san_mac_blk_offset + 8U; tmp___2 = (*(hw->eeprom.ops.read))(hw, (int )offset, wwpn_prefix); } if (tmp___2 != 0) { goto wwn_prefix_err; } else { } wwn_prefix_out: ; return (0); wwn_prefix_err: { netdev_err((struct net_device const *)((struct ixgbe_adapter *)hw->back)->netdev, "eeprom read at offset %d failed\n", (int )offset); } return (0); } } void ixgbe_set_mac_anti_spoofing(struct ixgbe_hw *hw , bool enable , int pf ) { int j ; int pf_target_reg ; int pf_target_shift ; u32 pfvfspoof ; { pf_target_reg = pf >> 3; pf_target_shift = pf % 8; pfvfspoof = 0U; if ((unsigned int )hw->mac.type == 1U) { return; } else { } if ((int )enable) { pfvfspoof = 255U; } else { } j = 0; goto ldv_51770; ldv_51769: { ixgbe_write_reg(hw, (u32 )((j + 8320) * 4), pfvfspoof); j = j + 1; } ldv_51770: ; if (j < pf_target_reg) { goto ldv_51769; } else { } { pfvfspoof = pfvfspoof & (u32 )((1 << pf_target_shift) + -1); ixgbe_write_reg(hw, (u32 )((j + 8320) * 4), pfvfspoof); j = j + 1; } goto ldv_51773; ldv_51772: { ixgbe_write_reg(hw, (u32 )((j + 8320) * 4), 0U); j = j + 1; } ldv_51773: ; if (j <= 7) { goto ldv_51772; } else { } return; } } void ixgbe_set_vlan_anti_spoofing(struct ixgbe_hw *hw , bool enable , int vf ) { int vf_target_reg ; int vf_target_shift ; u32 pfvfspoof ; { vf_target_reg = vf >> 3; vf_target_shift = vf % 8 + 8; if ((unsigned int )hw->mac.type == 1U) { return; } else { } { pfvfspoof = ixgbe_read_reg(hw, (u32 )((vf_target_reg + 8320) * 4)); } if ((int )enable) { pfvfspoof = pfvfspoof | (u32 )(1 << vf_target_shift); } else { pfvfspoof = pfvfspoof & (u32 )(~ (1 << vf_target_shift)); } { ixgbe_write_reg(hw, (u32 )((vf_target_reg + 8320) * 4), pfvfspoof); } return; } } s32 ixgbe_get_device_caps_generic(struct ixgbe_hw *hw , u16 *device_caps ) { { { (*(hw->eeprom.ops.read))(hw, 44, device_caps); } return (0); } } void ixgbe_set_rxpba_generic(struct ixgbe_hw *hw , int num_pb , u32 headroom , int strategy ) { u32 pbsize ; int i ; u32 rxpktsize ; u32 txpktsize ; u32 txpbthresh ; { pbsize = hw->mac.rx_pb_size; i = 0; pbsize = pbsize - headroom; if (num_pb == 0) { num_pb = 1; } else { } { if (strategy == 1) { goto case_1; } else { } if (strategy == 0) { goto case_0; } else { } goto switch_default; case_1: /* CIL Label */ rxpktsize = (pbsize * 10U) / (u32 )(num_pb * 8); pbsize = pbsize - rxpktsize * (u32 )(num_pb / 2); rxpktsize = rxpktsize << 10; goto ldv_51800; ldv_51799: { ixgbe_write_reg(hw, (u32 )((i + 3840) * 4), rxpktsize); i = i + 1; } ldv_51800: ; if (i < num_pb / 2) { goto ldv_51799; } else { } case_0: /* CIL Label */ rxpktsize = pbsize / (u32 )(num_pb - i) << 10; goto ldv_51804; ldv_51803: { ixgbe_write_reg(hw, (u32 )((i + 3840) * 4), rxpktsize); i = i + 1; } ldv_51804: ; if (i < num_pb) { goto ldv_51803; } else { } goto ldv_51806; switch_default: /* CIL Label */ ; goto ldv_51806; switch_break: /* CIL Label */ ; } ldv_51806: txpktsize = (u32 )(163840 / num_pb); txpbthresh = txpktsize / 1024U - 10U; i = 0; goto ldv_51809; ldv_51808: { ixgbe_write_reg(hw, (u32 )((i + 13056) * 4), txpktsize); ixgbe_write_reg(hw, (u32 )((i + 4692) * 4), txpbthresh); i = i + 1; } ldv_51809: ; if (i < num_pb) { goto ldv_51808; } else { } goto ldv_51812; ldv_51811: { ixgbe_write_reg(hw, (u32 )((i + 3840) * 4), 0U); ixgbe_write_reg(hw, (u32 )((i + 13056) * 4), 0U); ixgbe_write_reg(hw, (u32 )((i + 4692) * 4), 0U); i = i + 1; } ldv_51812: ; if (i <= 7) { goto ldv_51811; } else { } return; } } static u8 ixgbe_calculate_checksum(u8 *buffer , u32 length ) { u32 i ; u8 sum ; { sum = 0U; if ((unsigned long )buffer == (unsigned long )((u8 *)0U)) { return (0U); } else { } i = 0U; goto ldv_51821; ldv_51820: sum = (int )sum + (int )*(buffer + (unsigned long )i); i = i + 1U; ldv_51821: ; if (i < length) { goto ldv_51820; } else { } return (- ((int )sum)); } } static s32 ixgbe_host_interface_command(struct ixgbe_hw *hw , u32 *buffer , u32 length ) { u32 hicr ; u32 i ; u32 bi ; u32 hdr_size ; u8 buf_len ; u8 dword_len ; s32 ret_val ; struct _ddebug descriptor ; long tmp ; struct _ddebug descriptor___0 ; long tmp___0 ; struct _ddebug descriptor___1 ; long tmp___1 ; u32 tmp___2 ; struct _ddebug descriptor___2 ; long tmp___3 ; { hdr_size = 4U; ret_val = 0; if (length == 0U || ((length & 3U) != 0U || length > 1792U)) { { descriptor.modname = "ixgbe"; descriptor.function = "ixgbe_host_interface_command"; descriptor.filename = "drivers/net/ethernet/intel/ixgbe/ixgbe_common.c"; descriptor.format = "Buffer length failure.\n"; descriptor.lineno = 3479U; descriptor.flags = 0U; tmp = ldv__builtin_expect((long )descriptor.flags & 1L, 0L); } if (tmp != 0L) { { __dynamic_netdev_dbg(& descriptor, (struct net_device const *)((struct ixgbe_adapter *)hw->back)->netdev, "Buffer length failure.\n"); } } else { } ret_val = -33; goto out; } else { } { hicr = ixgbe_read_reg(hw, 89856U); } if ((hicr & 1U) == 0U) { { descriptor___0.modname = "ixgbe"; descriptor___0.function = "ixgbe_host_interface_command"; descriptor___0.filename = "drivers/net/ethernet/intel/ixgbe/ixgbe_common.c"; descriptor___0.format = "IXGBE_HOST_EN bit disabled.\n"; descriptor___0.lineno = 3487U; descriptor___0.flags = 0U; tmp___0 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); } if (tmp___0 != 0L) { { __dynamic_netdev_dbg(& descriptor___0, (struct net_device const *)((struct ixgbe_adapter *)hw->back)->netdev, "IXGBE_HOST_EN bit disabled.\n"); } } else { } ret_val = -33; goto out; } else { } dword_len = (u8 )(length >> 2); i = 0U; goto ldv_51840; ldv_51839: { ixgbe_write_reg(hw, (i << 2) + 88064U, *(buffer + (unsigned long )i)); i = i + 1U; } ldv_51840: ; if (i < (u32 )dword_len) { goto ldv_51839; } else { } { ixgbe_write_reg(hw, 89856U, hicr | 2U); i = 0U; } goto ldv_51844; ldv_51843: { hicr = ixgbe_read_reg(hw, 89856U); } if ((hicr & 2U) == 0U) { goto ldv_51842; } else { } { usleep_range(1000UL, 2000UL); i = i + 1U; } ldv_51844: ; if (i <= 499U) { goto ldv_51843; } else { } ldv_51842: ; if (i == 500U) { goto _L; } else { { tmp___2 = ixgbe_read_reg(hw, 89856U); } if ((tmp___2 & 4U) == 0U) { _L: /* CIL Label */ { descriptor___1.modname = "ixgbe"; descriptor___1.function = "ixgbe_host_interface_command"; descriptor___1.filename = "drivers/net/ethernet/intel/ixgbe/ixgbe_common.c"; descriptor___1.format = "Command has failed with no status valid.\n"; descriptor___1.lineno = 3516U; descriptor___1.flags = 0U; tmp___1 = ldv__builtin_expect((long )descriptor___1.flags & 1L, 0L); } if (tmp___1 != 0L) { { __dynamic_netdev_dbg(& descriptor___1, (struct net_device const *)((struct ixgbe_adapter *)hw->back)->netdev, "Command has failed with no status valid.\n"); } } else { } ret_val = -33; goto out; } else { } } dword_len = (u8 )(hdr_size >> 2); bi = 0U; goto ldv_51847; ldv_51846: { *(buffer + (unsigned long )bi) = ixgbe_read_reg(hw, (bi << 2) + 88064U); bi = bi + 1U; } ldv_51847: ; if (bi < (u32 )dword_len) { goto ldv_51846; } else { } buf_len = ((struct ixgbe_hic_hdr *)buffer)->buf_len; if ((unsigned int )buf_len == 0U) { goto out; } else { } if (length < (u32 )buf_len + hdr_size) { { descriptor___2.modname = "ixgbe"; descriptor___2.function = "ixgbe_host_interface_command"; descriptor___2.filename = "drivers/net/ethernet/intel/ixgbe/ixgbe_common.c"; descriptor___2.format = "Buffer not large enough for reply message.\n"; descriptor___2.lineno = 3536U; descriptor___2.flags = 0U; tmp___3 = ldv__builtin_expect((long )descriptor___2.flags & 1L, 0L); } if (tmp___3 != 0L) { { __dynamic_netdev_dbg(& descriptor___2, (struct net_device const *)((struct ixgbe_adapter *)hw->back)->netdev, "Buffer not large enough for reply message.\n"); } } else { } ret_val = -33; goto out; } else { } dword_len = (u8 )(((int )buf_len + 3) >> 2); goto ldv_51851; ldv_51850: { *(buffer + (unsigned long )bi) = ixgbe_read_reg(hw, (bi << 2) + 88064U); bi = bi + 1U; } ldv_51851: ; if (bi <= (u32 )dword_len) { goto ldv_51850; } else { } out: ; return (ret_val); } } s32 ixgbe_set_fw_drv_ver_generic(struct ixgbe_hw *hw , u8 maj , u8 min , u8 build , u8 sub ) { struct ixgbe_hic_drv_info fw_cmd ; int i ; s32 ret_val ; s32 tmp ; { { ret_val = 0; tmp = (*(hw->mac.ops.acquire_swfw_sync))(hw, 1024); } if (tmp != 0) { ret_val = -16; goto out; } else { } { fw_cmd.hdr.cmd = 221U; fw_cmd.hdr.buf_len = 5U; fw_cmd.hdr.cmd_or_resp.cmd_resv = 0U; fw_cmd.port_num = (unsigned char )hw->bus.func; fw_cmd.ver_maj = maj; fw_cmd.ver_min = min; fw_cmd.ver_build = build; fw_cmd.ver_sub = sub; fw_cmd.hdr.checksum = 0U; fw_cmd.hdr.checksum = ixgbe_calculate_checksum((u8 *)(& fw_cmd), (u32 )((int )fw_cmd.hdr.buf_len + 4)); fw_cmd.pad = 0U; fw_cmd.pad2 = 0U; i = 0; } goto ldv_51867; ldv_51866: { ret_val = ixgbe_host_interface_command(hw, (u32 *)(& fw_cmd), 12U); } if (ret_val != 0) { goto ldv_51864; } else { } if ((unsigned int )fw_cmd.hdr.cmd_or_resp.ret_status == 1U) { ret_val = 0; } else { ret_val = -33; } goto ldv_51865; ldv_51864: i = i + 1; ldv_51867: ; if (i <= 3) { goto ldv_51866; } else { } ldv_51865: { (*(hw->mac.ops.release_swfw_sync))(hw, 1024); } out: ; return (ret_val); } } void ixgbe_clear_tx_pending(struct ixgbe_hw *hw ) { u32 gcr_ext ; u32 hlreg0 ; { if (((int )hw->mac.flags & 1) == 0) { return; } else { } { hlreg0 = ixgbe_read_reg(hw, 16960U); ixgbe_write_reg(hw, 16960U, hlreg0 | 32768U); gcr_ext = ixgbe_read_reg(hw, 69712U); ixgbe_write_reg(hw, 69712U, gcr_ext | 1073741824U); ixgbe_read_reg(hw, 8U); __const_udelay(85900UL); ixgbe_write_reg(hw, 69712U, gcr_ext); ixgbe_write_reg(hw, 16960U, hlreg0); } return; } } static u8 const ixgbe_emc_temp_data[4U] = { 0U, 1U, 35U, 42U}; static u8 const ixgbe_emc_therm_limit[4U] = { 32U, 25U, 26U, 48U}; static s32 ixgbe_get_ets_data(struct ixgbe_hw *hw , u16 *ets_cfg , u16 *ets_offset ) { s32 status ; { { status = 0; status = (*(hw->eeprom.ops.read))(hw, 38, ets_offset); } if (status != 0) { goto out; } else { } if ((unsigned int )*ets_offset - 1U > 65533U) { status = 2147483647; goto out; } else { } { status = (*(hw->eeprom.ops.read))(hw, (int )*ets_offset, ets_cfg); } if (status != 0) { goto out; } else { } if (((int )*ets_cfg & 56) != 0) { status = 2147483647; goto out; } else { } out: ; return (status); } } s32 ixgbe_get_thermal_sensor_data_generic(struct ixgbe_hw *hw ) { s32 status ; u16 ets_offset ; u16 ets_cfg ; u16 ets_sensor ; u8 num_sensors ; u8 i ; struct ixgbe_thermal_sensor_data *data ; u32 tmp ; u8 sensor_index ; u8 sensor_location ; { { status = 0; data = & hw->mac.thermal_sensor_data; tmp = ixgbe_read_reg(hw, 8U); } if ((tmp & 4U) != 0U) { status = 2147483647; goto out; } else { } { status = ixgbe_get_ets_data(hw, & ets_cfg, & ets_offset); } if (status != 0) { goto out; } else { } num_sensors = (unsigned int )((u8 )ets_cfg) & 7U; if ((unsigned int )num_sensors > 3U) { num_sensors = 3U; } else { } i = 0U; goto ldv_51896; ldv_51895: { status = (*(hw->eeprom.ops.read))(hw, (int )((unsigned int )((int )ets_offset + (int )((u16 )i)) + 1U), & ets_sensor); } if (status != 0) { goto out; } else { } sensor_index = (u8 )(((int )ets_sensor & 768) >> 8); sensor_location = (u8 )(((int )ets_sensor & 15360) >> 10); if ((unsigned int )sensor_location != 0U) { { status = (*(hw->phy.ops.read_i2c_byte))(hw, (int )ixgbe_emc_temp_data[(int )sensor_index], 248, & data->sensor[(int )i].temp); } if (status != 0) { goto out; } else { } } else { } i = (u8 )((int )i + 1); ldv_51896: ; if ((int )i < (int )num_sensors) { goto ldv_51895; } else { } out: ; return (status); } } s32 ixgbe_init_thermal_sensor_thresh_generic(struct ixgbe_hw *hw ) { s32 status ; u16 ets_offset ; u16 ets_cfg ; u16 ets_sensor ; u8 low_thresh_delta ; u8 num_sensors ; u8 therm_limit ; u8 i ; struct ixgbe_thermal_sensor_data *data ; u32 tmp ; u8 sensor_index ; u8 sensor_location ; s32 tmp___0 ; { { status = 0; data = & hw->mac.thermal_sensor_data; memset((void *)data, 0, 12UL); tmp = ixgbe_read_reg(hw, 8U); } if ((tmp & 4U) != 0U) { status = 2147483647; goto out; } else { } { status = ixgbe_get_ets_data(hw, & ets_cfg, & ets_offset); } if (status != 0) { goto out; } else { } low_thresh_delta = (u8 )(((int )ets_cfg & 1984) >> 6); num_sensors = (unsigned int )((u8 )ets_cfg) & 7U; if ((unsigned int )num_sensors > 3U) { num_sensors = 3U; } else { } i = 0U; goto ldv_51915; ldv_51914: { tmp___0 = (*(hw->eeprom.ops.read))(hw, (int )((unsigned int )((int )ets_offset + (int )((u16 )i)) + 1U), & ets_sensor); } if (tmp___0 != 0) { { netdev_err((struct net_device const *)((struct ixgbe_adapter *)hw->back)->netdev, "eeprom read at offset %d failed\n", ((int )ets_offset + 1) + (int )i); } goto ldv_51913; } else { } { sensor_index = (u8 )(((int )ets_sensor & 768) >> 8); sensor_location = (u8 )(((int )ets_sensor & 15360) >> 10); therm_limit = (u8 )ets_sensor; (*(hw->phy.ops.write_i2c_byte))(hw, (int )ixgbe_emc_therm_limit[(int )sensor_index], 248, (int )therm_limit); } if ((unsigned int )sensor_location == 0U) { goto ldv_51913; } else { } data->sensor[(int )i].location = sensor_location; data->sensor[(int )i].caution_thresh = therm_limit; data->sensor[(int )i].max_op_thresh = (int )therm_limit - (int )low_thresh_delta; ldv_51913: i = (u8 )((int )i + 1); ldv_51915: ; if ((int )i < (int )num_sensors) { goto ldv_51914; } else { } out: ; return (status); } } void *ldv_kzalloc(size_t size , gfp_t flags ) ; __inline static void INIT_HLIST_NODE(struct hlist_node *h ) { { h->next = (struct hlist_node *)0; h->pprev = (struct hlist_node **)0; return; } } __inline static void hlist_add_head(struct hlist_node *n , struct hlist_head *h ) { struct hlist_node *first ; { first = h->first; n->next = first; if ((unsigned long )first != (unsigned long )((struct hlist_node *)0)) { first->pprev = & n->next; } else { } h->first = n; n->pprev = & h->first; return; } } __inline static void hlist_add_after(struct hlist_node *n , struct hlist_node *next ) { { next->next = n->next; n->next = next; next->pprev = & n->next; if ((unsigned long )next->next != (unsigned long )((struct hlist_node *)0)) { (next->next)->pprev = & next->next; } else { } return; } } __inline static __u32 __fswab32(__u32 val ) { int tmp ; { { tmp = __builtin_bswap32(val); } return ((__u32 )tmp); } } extern int sprintf(char * , char const * , ...) ; extern int memcmp(void const * , void const * , size_t ) ; extern size_t strlcpy(char * , char const * , size_t ) ; __inline static void atomic_inc(atomic_t *v ) ; extern void *vmalloc(unsigned long ) ; __inline static bool device_can_wakeup(struct device *dev ) { { return ((int )dev->power.can_wakeup != 0); } } extern unsigned long msleep_interruptible(unsigned int ) ; __inline static void *kmalloc(size_t size , gfp_t flags ) { void *tmp___2 ; { { tmp___2 = __kmalloc(size, flags); } return (tmp___2); } } __inline static void *kzalloc(size_t size , gfp_t flags ) ; extern void debug_dma_sync_single_for_cpu(struct device * , dma_addr_t , size_t , int ) ; extern void debug_dma_sync_single_for_device(struct device * , dma_addr_t , size_t , int ) ; __inline static void dma_sync_single_for_cpu(struct device *dev , dma_addr_t addr , size_t size , enum dma_data_direction dir ) { struct dma_map_ops *ops ; struct dma_map_ops *tmp ; int tmp___0 ; long tmp___1 ; { { tmp = get_dma_ops(dev); ops = tmp; tmp___0 = valid_dma_direction((int )dir); tmp___1 = ldv__builtin_expect(tmp___0 == 0, 0L); } if (tmp___1 != 0L) { { __asm__ volatile ("1:\tud2\n.pushsection __bug_table,\"a\"\n2:\t.long 1b - 2b, %c0 - 2b\n\t.word %c1, 0\n\t.org 2b+%c2\n.popsection": : "i" ((char *)"include/asm-generic/dma-mapping-common.h"), "i" (103), "i" (12UL)); __builtin_unreachable(); } } else { } if ((unsigned long )ops->sync_single_for_cpu != (unsigned long )((void (*)(struct device * , dma_addr_t , size_t , enum dma_data_direction ))0)) { { (*(ops->sync_single_for_cpu))(dev, addr, size, dir); } } else { } { debug_dma_sync_single_for_cpu(dev, addr, size, (int )dir); } return; } } __inline static void dma_sync_single_for_device(struct device *dev , dma_addr_t addr , size_t size , enum dma_data_direction dir ) { struct dma_map_ops *ops ; struct dma_map_ops *tmp ; int tmp___0 ; long tmp___1 ; { { tmp = get_dma_ops(dev); ops = tmp; tmp___0 = valid_dma_direction((int )dir); tmp___1 = ldv__builtin_expect(tmp___0 == 0, 0L); } if (tmp___1 != 0L) { { __asm__ volatile ("1:\tud2\n.pushsection __bug_table,\"a\"\n2:\t.long 1b - 2b, %c0 - 2b\n\t.word %c1, 0\n\t.org 2b+%c2\n.popsection": : "i" ((char *)"include/asm-generic/dma-mapping-common.h"), "i" (115), "i" (12UL)); __builtin_unreachable(); } } else { } if ((unsigned long )ops->sync_single_for_device != (unsigned long )((void (*)(struct device * , dma_addr_t , size_t , enum dma_data_direction ))0)) { { (*(ops->sync_single_for_device))(dev, addr, size, dir); } } else { } { debug_dma_sync_single_for_device(dev, addr, size, (int )dir); } return; } } extern void kfree_skb(struct sk_buff * ) ; extern struct sk_buff *__alloc_skb(unsigned int , gfp_t , int , int ) ; __inline static struct sk_buff *alloc_skb(unsigned int size , gfp_t priority ) { struct sk_buff *tmp ; { { tmp = __alloc_skb(size, priority, 0, -1); } return (tmp); } } __inline static struct sk_buff *skb_get___0(struct sk_buff *skb ) { { { atomic_inc(& skb->users); } return (skb); } } extern unsigned char *skb_put(struct sk_buff * , unsigned int ) ; __inline static void ethtool_cmd_speed_set(struct ethtool_cmd *ep , __u32 speed ) { { ep->speed = (unsigned short )speed; ep->speed_hi = (unsigned short )(speed >> 16); return; } } __inline static __u32 ethtool_cmd_speed(struct ethtool_cmd const *ep ) { { return ((__u32 )(((int )ep->speed_hi << 16) | (int )ep->speed)); } } extern u32 ethtool_op_get_link(struct net_device * ) ; extern int ethtool_op_get_ts_info(struct net_device * , struct ethtool_ts_info * ) ; extern int dev_open(struct net_device * ) ; extern int dev_close(struct net_device * ) ; extern struct rtnl_link_stats64 *dev_get_stats(struct net_device * , struct rtnl_link_stats64 * ) ; __inline static void *kmap(struct page *page ) { void *tmp ; { { __might_sleep("include/linux/highmem.h", 58, 0); tmp = lowmem_page_address((struct page const *)page); } return (tmp); } } __inline static void kunmap(struct page *page ) { { return; } } __inline static int ldv_request_irq_19(unsigned int irq , irqreturn_t (*handler)(int , void * ) , unsigned long flags , char const *name , void *dev ) ; __inline static int ldv_request_irq_20(unsigned int irq , irqreturn_t (*handler)(int , void * ) , unsigned long flags , char const *name , void *dev ) ; __inline static int ldv_request_irq_22(unsigned int irq , irqreturn_t (*handler)(int , void * ) , unsigned long flags , char const *name , void *dev ) ; static void ldv_free_irq_21___0(unsigned int ldv_func_arg1 , void *ldv_func_arg2 ) ; extern int ptp_clock_index(struct ptp_clock * ) ; s32 ixgbe_fdir_erase_perfect_filter_82599(struct ixgbe_hw *hw , union ixgbe_atr_input *input , u16 soft_id ) ; void ixgbe_atr_compute_perfect_hash_82599(union ixgbe_atr_input *input , union ixgbe_atr_input *input_mask ) ; static struct ixgbe_stats const ixgbe_gstrings_stats[57U] = { {{'r', 'x', '_', 'p', 'a', 'c', 'k', 'e', 't', 's', '\000'}, 0, 8, 0}, {{'t', 'x', '_', 'p', 'a', 'c', 'k', 'e', 't', 's', '\000'}, 0, 8, 8}, {{'r', 'x', '_', 'b', 'y', 't', 'e', 's', '\000'}, 0, 8, 16}, {{'t', 'x', '_', 'b', 'y', 't', 'e', 's', '\000'}, 0, 8, 24}, {{'r', 'x', '_', 'p', 'k', 't', 's', '_', 'n', 'i', 'c', '\000'}, 1, 8, 38880}, {{'t', 'x', '_', 'p', 'k', 't', 's', '_', 'n', 'i', 'c', '\000'}, 1, 8, 38904}, {{'r', 'x', '_', 'b', 'y', 't', 'e', 's', '_', 'n', 'i', 'c', '\000'}, 1, 8, 38912}, {{'t', 'x', '_', 'b', 'y', 't', 'e', 's', '_', 'n', 'i', 'c', '\000'}, 1, 8, 38920}, {{'l', 's', 'c', '_', 'i', 'n', 't', '\000'}, 1, 8, 1096}, {{'t', 'x', '_', 'b', 'u', 's', 'y', '\000'}, 1, 8, 40184}, {{'n', 'o', 'n', '_', 'e', 'o', 'p', '_', 'd', 'e', 's', 'c', 's', '\000'}, 1, 8, 1664}, {{'r', 'x', '_', 'e', 'r', 'r', 'o', 'r', 's', '\000'}, 0, 8, 32}, {{'t', 'x', '_', 'e', 'r', 'r', 'o', 'r', 's', '\000'}, 0, 8, 40}, {{'r', 'x', '_', 'd', 'r', 'o', 'p', 'p', 'e', 'd', '\000'}, 0, 8, 48}, {{'t', 'x', '_', 'd', 'r', 'o', 'p', 'p', 'e', 'd', '\000'}, 0, 8, 56}, {{'m', 'u', 'l', 't', 'i', 'c', 'a', 's', 't', '\000'}, 0, 8, 64}, {{'b', 'r', 'o', 'a', 'd', 'c', 'a', 's', 't', '\000'}, 1, 8, 38888}, {{'r', 'x', '_', 'n', 'o', '_', 'b', 'u', 'f', 'f', 'e', 'r', '_', 'c', 'o', 'u', 'n', 't', '\000'}, 1, 8, 38928}, {{'c', 'o', 'l', 'l', 'i', 's', 'i', 'o', 'n', 's', '\000'}, 0, 8, 72}, {{'r', 'x', '_', 'o', 'v', 'e', 'r', '_', 'e', 'r', 'r', 'o', 'r', 's', '\000'}, 0, 8, 88}, {{'r', 'x', '_', 'c', 'r', 'c', '_', 'e', 'r', 'r', 'o', 'r', 's', '\000'}, 0, 8, 96}, {{'r', 'x', '_', 'f', 'r', 'a', 'm', 'e', '_', 'e', 'r', 'r', 'o', 'r', 's', '\000'}, 0, 8, 104}, {{'h', 'w', '_', 'r', 's', 'c', '_', 'a', 'g', 'g', 'r', 'e', 'g', 'a', 't', 'e', 'd', '\000'}, 1, 8, 1648}, {{'h', 'w', '_', 'r', 's', 'c', '_', 'f', 'l', 'u', 's', 'h', 'e', 'd', '\000'}, 1, 8, 1656}, {{'f', 'd', 'i', 'r', '_', 'm', 'a', 't', 'c', 'h', '\000'}, 1, 8, 40072}, {{'f', 'd', 'i', 'r', '_', 'm', 'i', 's', 's', '\000'}, 1, 8, 40080}, {{'f', 'd', 'i', 'r', '_', 'o', 'v', 'e', 'r', 'f', 'l', 'o', 'w', '\000'}, 1, 8, 40432}, {{'r', 'x', '_', 'f', 'i', 'f', 'o', '_', 'e', 'r', 'r', 'o', 'r', 's', '\000'}, 0, 8, 112}, {{'r', 'x', '_', 'm', 'i', 's', 's', 'e', 'd', '_', 'e', 'r', 'r', 'o', 'r', 's', '\000'}, 0, 8, 120}, {{'t', 'x', '_', 'a', 'b', 'o', 'r', 't', 'e', 'd', '_', 'e', 'r', 'r', 'o', 'r', 's', '\000'}, 0, 8, 128}, {{'t', 'x', '_', 'c', 'a', 'r', 'r', 'i', 'e', 'r', '_', 'e', 'r', 'r', 'o', 'r', 's', '\000'}, 0, 8, 136}, {{'t', 'x', '_', 'f', 'i', 'f', 'o', '_', 'e', 'r', 'r', 'o', 'r', 's', '\000'}, 0, 8, 144}, {{'t', 'x', '_', 'h', 'e', 'a', 'r', 't', 'b', 'e', 'a', 't', '_', 'e', 'r', 'r', 'o', 'r', 's', '\000'}, 0, 8, 152}, {{'t', 'x', '_', 't', 'i', 'm', 'e', 'o', 'u', 't', '_', 'c', 'o', 'u', 'n', 't', '\000'}, 1, 4, 1104}, {{'t', 'x', '_', 'r', 'e', 's', 't', 'a', 'r', 't', '_', 'q', 'u', 'e', 'u', 'e', '\000'}, 1, 8, 1088}, {{'r', 'x', '_', 'l', 'o', 'n', 'g', '_', 'l', 'e', 'n', 'g', 't', 'h', '_', 'e', 'r', 'r', 'o', 'r', 's', '\000'}, 1, 8, 39008}, {{'r', 'x', '_', 's', 'h', 'o', 'r', 't', '_', 'l', 'e', 'n', 'g', 't', 'h', '_', 'e', 'r', 'r', 'o', 'r', 's', '\000'}, 1, 8, 38992}, {{'t', 'x', '_', 'f', 'l', 'o', 'w', '_', 'c', 'o', 'n', 't', 'r', 'o', 'l', '_', 'x', 'o', 'n', '\000'}, 1, 8, 38544}, {{'r', 'x', '_', 'f', 'l', 'o', 'w', '_', 'c', 'o', 'n', 't', 'r', 'o', 'l', '_', 'x', 'o', 'n', '\000'}, 1, 8, 38552}, {{'t', 'x', '_', 'f', 'l', 'o', 'w', '_', 'c', 'o', 'n', 't', 'r', 'o', 'l', '_', 'x', 'o', 'f', 'f', '\000'}, 1, 8, 38560}, {{'r', 'x', '_', 'f', 'l', 'o', 'w', '_', 'c', 'o', 'n', 't', 'r', 'o', 'l', '_', 'x', 'o', 'f', 'f', '\000'}, 1, 8, 38568}, {{'r', 'x', '_', 'c', 's', 'u', 'm', '_', 'o', 'f', 'f', 'l', 'o', 'a', 'd', '_', 'e', 'r', 'r', 'o', 'r', 's', '\000'}, 1, 8, 1632}, {{'a', 'l', 'l', 'o', 'c', '_', 'r', 'x', '_', 'p', 'a', 'g', 'e', '_', 'f', 'a', 'i', 'l', 'e', 'd', '\000'}, 1, 4, 1672}, {{'a', 'l', 'l', 'o', 'c', '_', 'r', 'x', '_', 'b', 'u', 'f', 'f', '_', 'f', 'a', 'i', 'l', 'e', 'd', '\000'}, 1, 4, 1676}, {{'r', 'x', '_', 'n', 'o', '_', 'd', 'm', 'a', '_', 'r', 'e', 's', 'o', 'u', 'r', 'c', 'e', 's', '\000'}, 1, 8, 1640}, {{'o', 's', '2', 'b', 'm', 'c', '_', 'r', 'x', '_', 'b', 'y', '_', 'b', 'm', 'c', '\000'}, 1, 8, 40168}, {{'o', 's', '2', 'b', 'm', 'c', '_', 't', 'x', '_', 'b', 'y', '_', 'b', 'm', 'c', '\000'}, 1, 8, 40152}, {{'o', 's', '2', 'b', 'm', 'c', '_', 't', 'x', '_', 'b', 'y', '_', 'h', 'o', 's', 't', '\000'}, 1, 8, 40176}, {{'o', 's', '2', 'b', 'm', 'c', '_', 'r', 'x', '_', 'b', 'y', '_', 'h', 'o', 's', 't', '\000'}, 1, 8, 40160}, {{'f', 'c', 'o', 'e', '_', 'b', 'a', 'd', '_', 'f', 'c', 'c', 'r', 'c', '\000'}, 1, 8, 40088}, {{'r', 'x', '_', 'f', 'c', 'o', 'e', '_', 'd', 'r', 'o', 'p', 'p', 'e', 'd', '\000'}, 1, 8, 40096}, {{'r', 'x', '_', 'f', 'c', 'o', 'e', '_', 'p', 'a', 'c', 'k', 'e', 't', 's', '\000'}, 1, 8, 40104}, {{'r', 'x', '_', 'f', 'c', 'o', 'e', '_', 'd', 'w', 'o', 'r', 'd', 's', '\000'}, 1, 8, 40120}, {{'f', 'c', 'o', 'e', '_', 'n', 'o', 'd', 'd', 'p', '\000'}, 1, 8, 40136}, {{'f', 'c', 'o', 'e', '_', 'n', 'o', 'd', 'd', 'p', '_', 'e', 'x', 't', '_', 'b', 'u', 'f', 'f', '\000'}, 1, 8, 40144}, {{'t', 'x', '_', 'f', 'c', 'o', 'e', '_', 'p', 'a', 'c', 'k', 'e', 't', 's', '\000'}, 1, 8, 40112}, {{'t', 'x', '_', 'f', 'c', 'o', 'e', '_', 'd', 'w', 'o', 'r', 'd', 's', '\000'}, 1, 8, 40128}}; static char const ixgbe_gstrings_test[5U][32U] = { { 'R', 'e', 'g', 'i', 's', 't', 'e', 'r', ' ', 't', 'e', 's', 't', ' ', ' ', '(', 'o', 'f', 'f', 'l', 'i', 'n', 'e', ')', '\000'}, { 'E', 'e', 'p', 'r', 'o', 'm', ' ', 't', 'e', 's', 't', ' ', ' ', ' ', ' ', '(', 'o', 'f', 'f', 'l', 'i', 'n', 'e', ')', '\000'}, { 'I', 'n', 't', 'e', 'r', 'r', 'u', 'p', 't', ' ', 't', 'e', 's', 't', ' ', '(', 'o', 'f', 'f', 'l', 'i', 'n', 'e', ')', '\000'}, { 'L', 'o', 'o', 'p', 'b', 'a', 'c', 'k', ' ', 't', 'e', 's', 't', ' ', ' ', '(', 'o', 'f', 'f', 'l', 'i', 'n', 'e', ')', '\000'}, { 'L', 'i', 'n', 'k', ' ', 't', 'e', 's', 't', ' ', ' ', ' ', '(', 'o', 'n', '/', 'o', 'f', 'f', 'l', 'i', 'n', 'e', ')', '\000'}}; static int ixgbe_get_settings(struct net_device *netdev , struct ethtool_cmd *ecmd ) { struct ixgbe_adapter *adapter ; void *tmp ; struct ixgbe_hw *hw ; ixgbe_link_speed supported_link ; u32 link_speed ; bool autoneg ; bool link_up ; { { tmp = netdev_priv((struct net_device const *)netdev); adapter = (struct ixgbe_adapter *)tmp; hw = & adapter->hw; link_speed = 0U; autoneg = 0; } if (((unsigned int )hw->phy.media_type & 3U) != 0U) { if ((unsigned int )hw->phy.sfp_type == 65534U) { { (*(hw->phy.ops.identify_sfp))(hw); } } else { } } else { } { (*(hw->mac.ops.get_link_capabilities))(hw, & supported_link, & autoneg); } if ((supported_link & 128U) != 0U) { ecmd->supported = ecmd->supported | 4096U; } else { } if ((supported_link & 32U) != 0U) { ecmd->supported = ecmd->supported | 32U; } else { } if ((supported_link & 8U) != 0U) { ecmd->supported = ecmd->supported | 8U; } else { } if (hw->phy.autoneg_advertised != 0U) { if ((hw->phy.autoneg_advertised & 8U) != 0U) { ecmd->advertising = ecmd->advertising | 8U; } else { } if ((hw->phy.autoneg_advertised & 128U) != 0U) { ecmd->advertising = ecmd->advertising | 4096U; } else { } if ((hw->phy.autoneg_advertised & 32U) != 0U) { ecmd->advertising = ecmd->advertising | 32U; } else { } } else { if ((supported_link & 128U) != 0U) { ecmd->advertising = ecmd->advertising | 4096U; } else { } if ((supported_link & 32U) != 0U) { ecmd->advertising = ecmd->advertising | 32U; } else { } if ((supported_link & 8U) != 0U) { ecmd->advertising = ecmd->advertising | 8U; } else { } if ((int )hw->phy.multispeed_fiber && ! autoneg) { if ((supported_link & 128U) != 0U) { ecmd->advertising = 4096U; } else { } } else { } } if ((int )autoneg) { ecmd->supported = ecmd->supported | 64U; ecmd->advertising = ecmd->advertising | 64U; ecmd->autoneg = 1U; } else { ecmd->autoneg = 0U; } ecmd->transceiver = 1U; { if ((unsigned int )adapter->hw.phy.type == 2U) { goto case_2; } else { } if ((unsigned int )adapter->hw.phy.type == 3U) { goto case_3; } else { } if ((unsigned int )adapter->hw.phy.type == 4U) { goto case_4; } else { } if ((unsigned int )adapter->hw.phy.type == 5U) { goto case_5; } else { } if ((unsigned int )adapter->hw.phy.type == 7U) { goto case_7; } else { } if ((unsigned int )adapter->hw.phy.type == 8U) { goto case_8; } else { } if ((unsigned int )adapter->hw.phy.type == 9U) { goto case_9; } else { } if ((unsigned int )adapter->hw.phy.type == 12U) { goto case_12; } else { } if ((unsigned int )adapter->hw.phy.type == 11U) { goto case_11; } else { } if ((unsigned int )adapter->hw.phy.type == 15U) { goto case_15; } else { } if ((unsigned int )adapter->hw.phy.type == 14U) { goto case_14; } else { } if ((unsigned int )adapter->hw.phy.type == 6U) { goto case_6___0; } else { } if ((unsigned int )adapter->hw.phy.type == 0U) { goto case_0___0; } else { } if ((unsigned int )adapter->hw.phy.type == 21U) { goto case_21; } else { } if ((unsigned int )adapter->hw.phy.type == 20U) { goto case_20; } else { } goto switch_default___0; case_2: /* CIL Label */ ; case_3: /* CIL Label */ ; case_4: /* CIL Label */ ecmd->supported = ecmd->supported | 128U; ecmd->advertising = ecmd->advertising | 128U; ecmd->port = 0U; goto ldv_52153; case_5: /* CIL Label */ ecmd->supported = ecmd->supported | 1024U; ecmd->advertising = ecmd->advertising | 1024U; ecmd->port = 3U; goto ldv_52153; case_7: /* CIL Label */ ; case_8: /* CIL Label */ ; case_9: /* CIL Label */ ; case_12: /* CIL Label */ ; case_11: /* CIL Label */ ; case_15: /* CIL Label */ ; case_14: /* CIL Label */ ; { if ((unsigned int )adapter->hw.phy.sfp_type == 0U) { goto case_0; } else { } if ((unsigned int )adapter->hw.phy.sfp_type == 3U) { goto case_3___0; } else { } if ((unsigned int )adapter->hw.phy.sfp_type == 4U) { goto case_4___0; } else { } if ((unsigned int )adapter->hw.phy.sfp_type == 1U) { goto case_1; } else { } if ((unsigned int )adapter->hw.phy.sfp_type == 2U) { goto case_2___0; } else { } if ((unsigned int )adapter->hw.phy.sfp_type == 5U) { goto case_5___0; } else { } if ((unsigned int )adapter->hw.phy.sfp_type == 6U) { goto case_6; } else { } if ((unsigned int )adapter->hw.phy.sfp_type == 11U) { goto case_11___0; } else { } if ((unsigned int )adapter->hw.phy.sfp_type == 12U) { goto case_12___0; } else { } if ((unsigned int )adapter->hw.phy.sfp_type == 13U) { goto case_13; } else { } if ((unsigned int )adapter->hw.phy.sfp_type == 14U) { goto case_14___0; } else { } if ((unsigned int )adapter->hw.phy.sfp_type == 65534U) { goto case_65534; } else { } if ((unsigned int )adapter->hw.phy.sfp_type == 9U) { goto case_9___0; } else { } if ((unsigned int )adapter->hw.phy.sfp_type == 10U) { goto case_10; } else { } if ((unsigned int )adapter->hw.phy.sfp_type == 65535U) { goto case_65535; } else { } goto switch_default; case_0: /* CIL Label */ ; case_3___0: /* CIL Label */ ; case_4___0: /* CIL Label */ ecmd->supported = ecmd->supported | 1024U; ecmd->advertising = ecmd->advertising | 1024U; ecmd->port = 5U; goto ldv_52165; case_1: /* CIL Label */ ; case_2___0: /* CIL Label */ ; case_5___0: /* CIL Label */ ; case_6: /* CIL Label */ ; case_11___0: /* CIL Label */ ; case_12___0: /* CIL Label */ ; case_13: /* CIL Label */ ; case_14___0: /* CIL Label */ ecmd->supported = ecmd->supported | 1024U; ecmd->advertising = ecmd->advertising | 1024U; ecmd->port = 3U; goto ldv_52165; case_65534: /* CIL Label */ ecmd->supported = ecmd->supported | 1024U; ecmd->advertising = ecmd->advertising | 1024U; ecmd->port = 239U; goto ldv_52165; case_9___0: /* CIL Label */ ; case_10: /* CIL Label */ ecmd->supported = ecmd->supported | 128U; ecmd->advertising = ecmd->advertising | 128U; ecmd->port = 0U; goto ldv_52165; case_65535: /* CIL Label */ ; switch_default: /* CIL Label */ ecmd->supported = ecmd->supported | 1024U; ecmd->advertising = ecmd->advertising | 1024U; ecmd->port = 255U; goto ldv_52165; switch_break___0: /* CIL Label */ ; } ldv_52165: ; goto ldv_52153; case_6___0: /* CIL Label */ ecmd->supported = ecmd->supported | 1024U; ecmd->advertising = ecmd->advertising | 1024U; ecmd->port = 239U; goto ldv_52153; case_0___0: /* CIL Label */ ; case_21: /* CIL Label */ ; case_20: /* CIL Label */ ; switch_default___0: /* CIL Label */ ecmd->supported = ecmd->supported | 1024U; ecmd->advertising = ecmd->advertising | 1024U; ecmd->port = 255U; goto ldv_52153; switch_break: /* CIL Label */ ; } ldv_52153: { (*(hw->mac.ops.check_link))(hw, & link_speed, & link_up, 0); } if ((int )link_up) { { if (link_speed == 128U) { goto case_128; } else { } if (link_speed == 32U) { goto case_32; } else { } if (link_speed == 8U) { goto case_8___0; } else { } goto switch_default___1; case_128: /* CIL Label */ { ethtool_cmd_speed_set(ecmd, 10000U); } goto ldv_52185; case_32: /* CIL Label */ { ethtool_cmd_speed_set(ecmd, 1000U); } goto ldv_52185; case_8___0: /* CIL Label */ { ethtool_cmd_speed_set(ecmd, 100U); } goto ldv_52185; switch_default___1: /* CIL Label */ ; goto ldv_52185; switch_break___1: /* CIL Label */ ; } ldv_52185: ecmd->duplex = 1U; } else { { ethtool_cmd_speed_set(ecmd, 4294967295U); ecmd->duplex = 255U; } } return (0); } } static int ixgbe_set_settings(struct net_device *netdev , struct ethtool_cmd *ecmd ) { struct ixgbe_adapter *adapter ; void *tmp ; struct ixgbe_hw *hw ; u32 advertised ; u32 old ; s32 err ; u32 speed ; __u32 tmp___0 ; { { tmp = netdev_priv((struct net_device const *)netdev); adapter = (struct ixgbe_adapter *)tmp; hw = & adapter->hw; err = 0; } if ((unsigned int )hw->phy.media_type == 5U || (int )hw->phy.multispeed_fiber) { if ((ecmd->advertising & ~ ecmd->supported) != 0U) { return (-22); } else { } if ((unsigned int )ecmd->autoneg == 0U && (int )hw->phy.multispeed_fiber) { if (ecmd->advertising == 4128U) { return (-22); } else { } } else { } old = hw->phy.autoneg_advertised; advertised = 0U; if ((ecmd->advertising & 4096U) != 0U) { advertised = advertised | 128U; } else { } if ((ecmd->advertising & 32U) != 0U) { advertised = advertised | 32U; } else { } if ((ecmd->advertising & 8U) != 0U) { advertised = advertised | 8U; } else { } if (old == advertised) { return (err); } else { } { hw->mac.autotry_restart = 1; err = (*(hw->mac.ops.setup_link))(hw, advertised, 1); } if (err != 0) { if (((int )adapter->msg_enable & 2) != 0) { { netdev_info((struct net_device const *)adapter->netdev, "setup link failed with code %d\n", err); } } else { } { (*(hw->mac.ops.setup_link))(hw, old, 1); } } else { } } else { { tmp___0 = ethtool_cmd_speed((struct ethtool_cmd const *)ecmd); speed = tmp___0; } if (((unsigned int )ecmd->autoneg == 1U || ecmd->advertising != 4096U) || speed + (u32 )ecmd->duplex != 10001U) { return (-22); } else { } } return (err); } } static void ixgbe_get_pauseparam(struct net_device *netdev , struct ethtool_pauseparam *pause ) { struct ixgbe_adapter *adapter ; void *tmp ; struct ixgbe_hw *hw ; bool tmp___0 ; { { tmp = netdev_priv((struct net_device const *)netdev); adapter = (struct ixgbe_adapter *)tmp; hw = & adapter->hw; tmp___0 = ixgbe_device_supports_autoneg_fc(hw); } if ((int )tmp___0 && ! hw->fc.disable_fc_autoneg) { pause->autoneg = 1U; } else { pause->autoneg = 0U; } if ((unsigned int )hw->fc.current_mode == 1U) { pause->rx_pause = 1U; } else if ((unsigned int )hw->fc.current_mode == 2U) { pause->tx_pause = 1U; } else if ((unsigned int )hw->fc.current_mode == 3U) { pause->rx_pause = 1U; pause->tx_pause = 1U; } else { } return; } } static int ixgbe_set_pauseparam(struct net_device *netdev , struct ethtool_pauseparam *pause ) { struct ixgbe_adapter *adapter ; void *tmp ; struct ixgbe_hw *hw ; struct ixgbe_fc_info fc ; bool tmp___0 ; int tmp___1 ; bool tmp___2 ; int tmp___3 ; { { tmp = netdev_priv((struct net_device const *)netdev); adapter = (struct ixgbe_adapter *)tmp; hw = & adapter->hw; fc = hw->fc; } if ((unsigned int )hw->mac.type == 1U && (adapter->flags & 4096U) != 0U) { return (-22); } else { } if (pause->autoneg == 1U) { { tmp___0 = ixgbe_device_supports_autoneg_fc(hw); } if (tmp___0) { tmp___1 = 0; } else { tmp___1 = 1; } if (tmp___1) { return (-22); } else { } } else { } fc.disable_fc_autoneg = pause->autoneg != 1U; if ((pause->rx_pause != 0U && pause->tx_pause != 0U) || pause->autoneg != 0U) { fc.requested_mode = 3; } else if (pause->rx_pause != 0U && pause->tx_pause == 0U) { fc.requested_mode = 1; } else if (pause->rx_pause == 0U && pause->tx_pause != 0U) { fc.requested_mode = 2; } else { fc.requested_mode = 0; } { tmp___3 = memcmp((void const *)(& fc), (void const *)(& hw->fc), 52UL); } if (tmp___3 != 0) { { hw->fc = fc; tmp___2 = netif_running((struct net_device const *)netdev); } if ((int )tmp___2) { { ixgbe_reinit_locked(adapter); } } else { { ixgbe_reset(adapter); } } } else { } return (0); } } static u32 ixgbe_get_msglevel(struct net_device *netdev ) { struct ixgbe_adapter *adapter ; void *tmp ; { { tmp = netdev_priv((struct net_device const *)netdev); adapter = (struct ixgbe_adapter *)tmp; } return ((u32 )adapter->msg_enable); } } static void ixgbe_set_msglevel(struct net_device *netdev , u32 data ) { struct ixgbe_adapter *adapter ; void *tmp ; { { tmp = netdev_priv((struct net_device const *)netdev); adapter = (struct ixgbe_adapter *)tmp; adapter->msg_enable = (u16 )data; } return; } } static int ixgbe_get_regs_len(struct net_device *netdev ) { { return (4556); } } static void ixgbe_get_regs(struct net_device *netdev , struct ethtool_regs *regs , void *p ) { struct ixgbe_adapter *adapter ; void *tmp ; struct ixgbe_hw *hw ; u32 *regs_buff ; u8 i ; { { tmp = netdev_priv((struct net_device const *)netdev); adapter = (struct ixgbe_adapter *)tmp; hw = & adapter->hw; regs_buff = (u32 *)p; memset(p, 0, 4556UL); regs->version = (((unsigned int )hw->mac.type << 24) | (unsigned int )((int )hw->revision_id << 16)) | (unsigned int )hw->device_id; *regs_buff = ixgbe_read_reg(hw, 0U); *(regs_buff + 1UL) = ixgbe_read_reg(hw, 8U); *(regs_buff + 2UL) = ixgbe_read_reg(hw, 24U); *(regs_buff + 3UL) = ixgbe_read_reg(hw, 32U); *(regs_buff + 4UL) = ixgbe_read_reg(hw, 40U); *(regs_buff + 5UL) = ixgbe_read_reg(hw, 512U); *(regs_buff + 6UL) = ixgbe_read_reg(hw, 72U); *(regs_buff + 7UL) = ixgbe_read_reg(hw, 76U); *(regs_buff + 8UL) = ixgbe_read_reg(hw, 65552U); *(regs_buff + 9UL) = ixgbe_read_reg(hw, 65556U); *(regs_buff + 10UL) = ixgbe_read_reg(hw, 65564U); *(regs_buff + 11UL) = ixgbe_read_reg(hw, 65808U); *(regs_buff + 12UL) = ixgbe_read_reg(hw, 65812U); *(regs_buff + 13UL) = ixgbe_read_reg(hw, 65816U); *(regs_buff + 14UL) = ixgbe_read_reg(hw, 65820U); *(regs_buff + 15UL) = ixgbe_read_reg(hw, 65824U); *(regs_buff + 16UL) = ixgbe_read_reg(hw, 65852U); *(regs_buff + 17UL) = ixgbe_read_reg(hw, 66048U); *(regs_buff + 18UL) = ixgbe_read_reg(hw, 2056U); *(regs_buff + 19UL) = ixgbe_read_reg(hw, 2056U); *(regs_buff + 20UL) = ixgbe_read_reg(hw, 2176U); *(regs_buff + 21UL) = ixgbe_read_reg(hw, 2184U); *(regs_buff + 22UL) = ixgbe_read_reg(hw, 2064U); *(regs_buff + 23UL) = ixgbe_read_reg(hw, 2192U); *(regs_buff + 24UL) = ixgbe_read_reg(hw, 2080U); *(regs_buff + 25UL) = ixgbe_read_reg(hw, 2304U); *(regs_buff + 26UL) = ixgbe_read_reg(hw, 0U); *(regs_buff + 27UL) = ixgbe_read_reg(hw, 8192U); *(regs_buff + 28UL) = ixgbe_read_reg(hw, 69736U); *(regs_buff + 29UL) = ixgbe_read_reg(hw, 2200U); *(regs_buff + 30UL) = ixgbe_read_reg(hw, 12296U); *(regs_buff + 31UL) = ixgbe_read_reg(hw, 12800U); *(regs_buff + 32UL) = ixgbe_read_reg(hw, 12804U); *(regs_buff + 33UL) = ixgbe_read_reg(hw, 12808U); *(regs_buff + 34UL) = ixgbe_read_reg(hw, 12812U); i = 0U; } goto ldv_52239; ldv_52238: ; { if ((unsigned int )hw->mac.type == 1U) { goto case_1; } else { } if ((unsigned int )hw->mac.type == 2U) { goto case_2; } else { } if ((unsigned int )hw->mac.type == 3U) { goto case_3; } else { } goto switch_default; case_1: /* CIL Label */ { *(regs_buff + (unsigned long )((int )i + 35)) = ixgbe_read_reg(hw, (u32 )(((int )i + 1604) * 8)); *(regs_buff + (unsigned long )((int )i + 43)) = ixgbe_read_reg(hw, (u32 )(((int )i + 1612) * 8)); } goto ldv_52234; case_2: /* CIL Label */ ; case_3: /* CIL Label */ { *(regs_buff + (unsigned long )((int )i + 35)) = ixgbe_read_reg(hw, (u32 )(((int )i + 3208) * 4)); *(regs_buff + (unsigned long )((int )i + 43)) = ixgbe_read_reg(hw, (u32 )(((int )i + 3224) * 4)); } goto ldv_52234; switch_default: /* CIL Label */ ; goto ldv_52234; switch_break: /* CIL Label */ ; } ldv_52234: i = (u8 )((int )i + 1); ldv_52239: ; if ((unsigned int )i <= 7U) { goto ldv_52238; } else { } { *(regs_buff + 51UL) = ixgbe_read_reg(hw, 12960U); *(regs_buff + 52UL) = ixgbe_read_reg(hw, 52736U); i = 0U; } goto ldv_52242; ldv_52241: { *(regs_buff + (unsigned long )((int )i + 53)) = ixgbe_read_reg(hw, (u32 )((unsigned int )i <= 63U ? ((int )i + 64) * 64 : ((int )i + 768) * 64)); i = (u8 )((int )i + 1); } ldv_52242: ; if ((unsigned int )i <= 63U) { goto ldv_52241; } else { } i = 0U; goto ldv_52245; ldv_52244: { *(regs_buff + (unsigned long )((int )i + 117)) = ixgbe_read_reg(hw, (u32 )((unsigned int )i <= 63U ? (int )i * 64 + 4100 : ((int )i + -64) * 64 + 53252)); i = (u8 )((int )i + 1); } ldv_52245: ; if ((unsigned int )i <= 63U) { goto ldv_52244; } else { } i = 0U; goto ldv_52248; ldv_52247: { *(regs_buff + (unsigned long )((int )i + 181)) = ixgbe_read_reg(hw, (u32 )((unsigned int )i <= 63U ? (int )i * 64 + 4104 : ((int )i + -64) * 64 + 53256)); i = (u8 )((int )i + 1); } ldv_52248: ; if ((unsigned int )i <= 63U) { goto ldv_52247; } else { } i = 0U; goto ldv_52251; ldv_52250: { *(regs_buff + (unsigned long )((int )i + 245)) = ixgbe_read_reg(hw, (u32 )((unsigned int )i <= 63U ? (int )i * 64 + 4112 : ((int )i + -64) * 64 + 53264)); i = (u8 )((int )i + 1); } ldv_52251: ; if ((unsigned int )i <= 63U) { goto ldv_52250; } else { } i = 0U; goto ldv_52254; ldv_52253: { *(regs_buff + (unsigned long )((int )i + 309)) = ixgbe_read_reg(hw, (u32 )((unsigned int )i <= 63U ? (int )i * 64 + 4120 : ((int )i + -64) * 64 + 53272)); i = (u8 )((int )i + 1); } ldv_52254: ; if ((unsigned int )i <= 63U) { goto ldv_52253; } else { } i = 0U; goto ldv_52257; ldv_52256: { *(regs_buff + (unsigned long )((int )i + 373)) = ixgbe_read_reg(hw, (u32 )((unsigned int )i <= 63U ? (int )i * 64 + 4136 : ((int )i + -64) * 64 + 53288)); i = (u8 )((int )i + 1); } ldv_52257: ; if ((unsigned int )i <= 63U) { goto ldv_52256; } else { } i = 0U; goto ldv_52260; ldv_52259: { *(regs_buff + (unsigned long )((int )i + 437)) = ixgbe_read_reg(hw, (u32 )((unsigned int )i <= 15U ? ((int )i + 2112) * 4 : ((unsigned int )i <= 63U ? (int )i * 64 + 4116 : ((int )i + -64) * 64 + 53268))); i = (u8 )((int )i + 1); } ldv_52260: ; if ((unsigned int )i <= 15U) { goto ldv_52259; } else { } i = 0U; goto ldv_52263; ldv_52262: { *(regs_buff + (unsigned long )((int )i + 453)) = ixgbe_read_reg(hw, (u32 )((unsigned int )i <= 15U ? ((int )i + 2176) * 4 : ((unsigned int )i <= 63U ? (int )i * 64 + 4108 : ((int )i + -64) * 64 + 53260))); i = (u8 )((int )i + 1); } ldv_52263: ; if ((unsigned int )i <= 15U) { goto ldv_52262; } else { } { *(regs_buff + 469UL) = ixgbe_read_reg(hw, 12032U); i = 0U; } goto ldv_52266; ldv_52265: { *(regs_buff + (unsigned long )((int )i + 470)) = ixgbe_read_reg(hw, (u32 )(((int )i + 3840) * 4)); i = (u8 )((int )i + 1); } ldv_52266: ; if ((unsigned int )i <= 7U) { goto ldv_52265; } else { } { *(regs_buff + 478UL) = ixgbe_read_reg(hw, 12288U); *(regs_buff + 479UL) = ixgbe_read_reg(hw, 15620U); *(regs_buff + 480UL) = ixgbe_read_reg(hw, 20480U); *(regs_buff + 481UL) = ixgbe_read_reg(hw, 20488U); i = 0U; } goto ldv_52269; ldv_52268: { *(regs_buff + (unsigned long )((int )i + 482)) = ixgbe_read_reg(hw, (u32 )((unsigned int )i <= 15U ? ((int )i + 2688) * 8 : ((int )i + 5184) * 8)); i = (u8 )((int )i + 1); } ldv_52269: ; if ((unsigned int )i <= 15U) { goto ldv_52268; } else { } i = 0U; goto ldv_52272; ldv_52271: { *(regs_buff + (unsigned long )((int )i + 498)) = ixgbe_read_reg(hw, (u32 )((unsigned int )i <= 15U ? (int )i * 8 + 21508 : (int )i * 8 + 41476)); i = (u8 )((int )i + 1); } ldv_52272: ; if ((unsigned int )i <= 15U) { goto ldv_52271; } else { } { *(regs_buff + 514UL) = ixgbe_read_reg(hw, 21632U); *(regs_buff + 515UL) = ixgbe_read_reg(hw, 20608U); *(regs_buff + 516UL) = ixgbe_read_reg(hw, 20616U); *(regs_buff + 517UL) = ixgbe_read_reg(hw, 20624U); *(regs_buff + 518UL) = ixgbe_read_reg(hw, 22552U); *(regs_buff + 519UL) = ixgbe_read_reg(hw, 22556U); i = 0U; } goto ldv_52275; ldv_52274: { *(regs_buff + (unsigned long )((int )i + 520)) = ixgbe_read_reg(hw, (u32 )(((int )i + 5792) * 4)); i = (u8 )((int )i + 1); } ldv_52275: ; if ((unsigned int )i <= 7U) { goto ldv_52274; } else { } i = 0U; goto ldv_52278; ldv_52277: { *(regs_buff + (unsigned long )((int )i + 528)) = ixgbe_read_reg(hw, (u32 )(((int )i + 5800) * 4)); i = (u8 )((int )i + 1); } ldv_52278: ; if ((unsigned int )i <= 7U) { goto ldv_52277; } else { } { *(regs_buff + 536UL) = ixgbe_read_reg(hw, 23232U); i = 0U; } goto ldv_52281; ldv_52280: { *(regs_buff + (unsigned long )((int )i + 537)) = ixgbe_read_reg(hw, (u32 )(((int )i + 384) * 64)); i = (u8 )((int )i + 1); } ldv_52281: ; if ((unsigned int )i <= 31U) { goto ldv_52280; } else { } i = 0U; goto ldv_52284; ldv_52283: { *(regs_buff + (unsigned long )((int )i + 569)) = ixgbe_read_reg(hw, (u32 )((int )i * 64 + 24580)); i = (u8 )((int )i + 1); } ldv_52284: ; if ((unsigned int )i <= 31U) { goto ldv_52283; } else { } i = 0U; goto ldv_52287; ldv_52286: { *(regs_buff + (unsigned long )((int )i + 601)) = ixgbe_read_reg(hw, (u32 )((int )i * 64 + 24584)); i = (u8 )((int )i + 1); } ldv_52287: ; if ((unsigned int )i <= 31U) { goto ldv_52286; } else { } i = 0U; goto ldv_52290; ldv_52289: { *(regs_buff + (unsigned long )((int )i + 633)) = ixgbe_read_reg(hw, (u32 )((int )i * 64 + 24592)); i = (u8 )((int )i + 1); } ldv_52290: ; if ((unsigned int )i <= 31U) { goto ldv_52289; } else { } i = 0U; goto ldv_52293; ldv_52292: { *(regs_buff + (unsigned long )((int )i + 665)) = ixgbe_read_reg(hw, (u32 )((int )i * 64 + 24600)); i = (u8 )((int )i + 1); } ldv_52293: ; if ((unsigned int )i <= 31U) { goto ldv_52292; } else { } i = 0U; goto ldv_52296; ldv_52295: { *(regs_buff + (unsigned long )((int )i + 697)) = ixgbe_read_reg(hw, (u32 )((int )i * 64 + 24616)); i = (u8 )((int )i + 1); } ldv_52296: ; if ((unsigned int )i <= 31U) { goto ldv_52295; } else { } i = 0U; goto ldv_52299; ldv_52298: { *(regs_buff + (unsigned long )((int )i + 729)) = ixgbe_read_reg(hw, (u32 )((int )i * 64 + 24632)); i = (u8 )((int )i + 1); } ldv_52299: ; if ((unsigned int )i <= 31U) { goto ldv_52298; } else { } i = 0U; goto ldv_52302; ldv_52301: { *(regs_buff + (unsigned long )((int )i + 761)) = ixgbe_read_reg(hw, (u32 )((int )i * 64 + 24636)); i = (u8 )((int )i + 1); } ldv_52302: ; if ((unsigned int )i <= 31U) { goto ldv_52301; } else { } { *(regs_buff + 793UL) = ixgbe_read_reg(hw, 32256U); i = 0U; } goto ldv_52305; ldv_52304: { *(regs_buff + (unsigned long )((int )i + 794)) = ixgbe_read_reg(hw, (u32 )(((int )i + 7296) * 4)); i = (u8 )((int )i + 1); } ldv_52305: ; if ((unsigned int )i <= 15U) { goto ldv_52304; } else { } { *(regs_buff + 810UL) = ixgbe_read_reg(hw, 51968U); i = 0U; } goto ldv_52308; ldv_52307: { *(regs_buff + (unsigned long )((int )i + 811)) = ixgbe_read_reg(hw, (u32 )(((int )i + 13056) * 4)); i = (u8 )((int )i + 1); } ldv_52308: ; if ((unsigned int )i <= 7U) { goto ldv_52307; } else { } { *(regs_buff + 819UL) = ixgbe_read_reg(hw, 52496U); *(regs_buff + 820UL) = ixgbe_read_reg(hw, 22528U); *(regs_buff + 821UL) = ixgbe_read_reg(hw, 22536U); *(regs_buff + 822UL) = ixgbe_read_reg(hw, 22544U); *(regs_buff + 823UL) = ixgbe_read_reg(hw, 22584U); *(regs_buff + 824UL) = ixgbe_read_reg(hw, 22592U); *(regs_buff + 825UL) = ixgbe_read_reg(hw, 22656U); *(regs_buff + 826UL) = ixgbe_read_reg(hw, 22784U); *(regs_buff + 827UL) = ixgbe_read_reg(hw, 23040U); *(regs_buff + 828UL) = ixgbe_read_reg(hw, 36864U); *(regs_buff + 829UL) = ixgbe_read_reg(hw, 15616U); *(regs_buff + 831UL) = ixgbe_read_reg(hw, 52480U); } { if ((unsigned int )hw->mac.type == 1U) { goto case_1___0; } else { } if ((unsigned int )hw->mac.type == 2U) { goto case_2___0; } else { } if ((unsigned int )hw->mac.type == 3U) { goto case_3___0; } else { } goto switch_default___0; case_1___0: /* CIL Label */ { *(regs_buff + 830UL) = ixgbe_read_reg(hw, 32576U); *(regs_buff + 832UL) = ixgbe_read_reg(hw, 20640U); i = 0U; } goto ldv_52312; ldv_52311: { *(regs_buff + (unsigned long )((int )i + 833)) = ixgbe_read_reg(hw, (u32 )(((int )i + 3848) * 4)); i = (u8 )((int )i + 1); } ldv_52312: ; if ((unsigned int )i <= 7U) { goto ldv_52311; } else { } i = 0U; goto ldv_52315; ldv_52314: { *(regs_buff + (unsigned long )((int )i + 841)) = ixgbe_read_reg(hw, (u32 )(((int )i + 3856) * 4)); i = (u8 )((int )i + 1); } ldv_52315: ; if ((unsigned int )i <= 7U) { goto ldv_52314; } else { } i = 0U; goto ldv_52318; ldv_52317: { *(regs_buff + (unsigned long )((int )i + 849)) = ixgbe_read_reg(hw, (u32 )((int )i * 64 + 24620)); i = (u8 )((int )i + 1); } ldv_52318: ; if ((unsigned int )i <= 7U) { goto ldv_52317; } else { } i = 0U; goto ldv_52321; ldv_52320: { *(regs_buff + (unsigned long )((int )i + 857)) = ixgbe_read_reg(hw, (u32 )((int )i * 64 + 25132)); i = (u8 )((int )i + 1); } ldv_52321: ; if ((unsigned int )i <= 7U) { goto ldv_52320; } else { } goto ldv_52323; case_2___0: /* CIL Label */ ; case_3___0: /* CIL Label */ { *(regs_buff + 830UL) = ixgbe_read_reg(hw, 18688U); *(regs_buff + 832UL) = ixgbe_read_reg(hw, 9264U); i = 0U; } goto ldv_52327; ldv_52326: { *(regs_buff + (unsigned long )((int )i + 833)) = ixgbe_read_reg(hw, (u32 )(((int )i + 2128) * 4)); i = (u8 )((int )i + 1); } ldv_52327: ; if ((unsigned int )i <= 7U) { goto ldv_52326; } else { } i = 0U; goto ldv_52330; ldv_52329: { *(regs_buff + (unsigned long )((int )i + 841)) = ixgbe_read_reg(hw, (u32 )(((int )i + 2136) * 4)); i = (u8 )((int )i + 1); } ldv_52330: ; if ((unsigned int )i <= 7U) { goto ldv_52329; } else { } i = 0U; goto ldv_52333; ldv_52332: { *(regs_buff + (unsigned long )((int )i + 849)) = ixgbe_read_reg(hw, (u32 )(((int )i + 4676) * 4)); i = (u8 )((int )i + 1); } ldv_52333: ; if ((unsigned int )i <= 7U) { goto ldv_52332; } else { } i = 0U; goto ldv_52336; ldv_52335: { *(regs_buff + (unsigned long )((int )i + 857)) = ixgbe_read_reg(hw, (u32 )(((int )i + 4684) * 4)); i = (u8 )((int )i + 1); } ldv_52336: ; if ((unsigned int )i <= 7U) { goto ldv_52335; } else { } goto ldv_52323; switch_default___0: /* CIL Label */ ; goto ldv_52323; switch_break___0: /* CIL Label */ ; } ldv_52323: i = 0U; goto ldv_52340; ldv_52339: { *(regs_buff + (unsigned long )((int )i + 865)) = ixgbe_read_reg(hw, (u32 )(((int )i + 13128) * 4)); i = (u8 )((int )i + 1); } ldv_52340: ; if ((unsigned int )i <= 7U) { goto ldv_52339; } else { } i = 0U; goto ldv_52343; ldv_52342: { *(regs_buff + (unsigned long )((int )i + 873)) = ixgbe_read_reg(hw, (u32 )(((int )i + 13136) * 4)); i = (u8 )((int )i + 1); } ldv_52343: ; if ((unsigned int )i <= 7U) { goto ldv_52342; } else { } *(regs_buff + 881UL) = (u32 )adapter->stats.crcerrs; *(regs_buff + 882UL) = (u32 )adapter->stats.illerrc; *(regs_buff + 883UL) = (u32 )adapter->stats.errbc; *(regs_buff + 884UL) = (u32 )adapter->stats.mspdc; i = 0U; goto ldv_52346; ldv_52345: *(regs_buff + (unsigned long )((int )i + 885)) = (u32 )adapter->stats.mpc[(int )i]; i = (u8 )((int )i + 1); ldv_52346: ; if ((unsigned int )i <= 7U) { goto ldv_52345; } else { } *(regs_buff + 893UL) = (u32 )adapter->stats.mlfc; *(regs_buff + 894UL) = (u32 )adapter->stats.mrfc; *(regs_buff + 895UL) = (u32 )adapter->stats.rlec; *(regs_buff + 896UL) = (u32 )adapter->stats.lxontxc; *(regs_buff + 897UL) = (u32 )adapter->stats.lxonrxc; *(regs_buff + 898UL) = (u32 )adapter->stats.lxofftxc; *(regs_buff + 899UL) = (u32 )adapter->stats.lxoffrxc; i = 0U; goto ldv_52349; ldv_52348: *(regs_buff + (unsigned long )((int )i + 900)) = (u32 )adapter->stats.pxontxc[(int )i]; i = (u8 )((int )i + 1); ldv_52349: ; if ((unsigned int )i <= 7U) { goto ldv_52348; } else { } i = 0U; goto ldv_52352; ldv_52351: *(regs_buff + (unsigned long )((int )i + 908)) = (u32 )adapter->stats.pxonrxc[(int )i]; i = (u8 )((int )i + 1); ldv_52352: ; if ((unsigned int )i <= 7U) { goto ldv_52351; } else { } i = 0U; goto ldv_52355; ldv_52354: *(regs_buff + (unsigned long )((int )i + 916)) = (u32 )adapter->stats.pxofftxc[(int )i]; i = (u8 )((int )i + 1); ldv_52355: ; if ((unsigned int )i <= 7U) { goto ldv_52354; } else { } i = 0U; goto ldv_52358; ldv_52357: *(regs_buff + (unsigned long )((int )i + 924)) = (u32 )adapter->stats.pxoffrxc[(int )i]; i = (u8 )((int )i + 1); ldv_52358: ; if ((unsigned int )i <= 7U) { goto ldv_52357; } else { } *(regs_buff + 932UL) = (u32 )adapter->stats.prc64; *(regs_buff + 933UL) = (u32 )adapter->stats.prc127; *(regs_buff + 934UL) = (u32 )adapter->stats.prc255; *(regs_buff + 935UL) = (u32 )adapter->stats.prc511; *(regs_buff + 936UL) = (u32 )adapter->stats.prc1023; *(regs_buff + 937UL) = (u32 )adapter->stats.prc1522; *(regs_buff + 938UL) = (u32 )adapter->stats.gprc; *(regs_buff + 939UL) = (u32 )adapter->stats.bprc; *(regs_buff + 940UL) = (u32 )adapter->stats.mprc; *(regs_buff + 941UL) = (u32 )adapter->stats.gptc; *(regs_buff + 942UL) = (u32 )adapter->stats.gorc; *(regs_buff + 944UL) = (u32 )adapter->stats.gotc; i = 0U; goto ldv_52361; ldv_52360: *(regs_buff + (unsigned long )((int )i + 946)) = (u32 )adapter->stats.rnbc[(int )i]; i = (u8 )((int )i + 1); ldv_52361: ; if ((unsigned int )i <= 7U) { goto ldv_52360; } else { } *(regs_buff + 954UL) = (u32 )adapter->stats.ruc; *(regs_buff + 955UL) = (u32 )adapter->stats.rfc; *(regs_buff + 956UL) = (u32 )adapter->stats.roc; *(regs_buff + 957UL) = (u32 )adapter->stats.rjc; *(regs_buff + 958UL) = (u32 )adapter->stats.mngprc; *(regs_buff + 959UL) = (u32 )adapter->stats.mngpdc; *(regs_buff + 960UL) = (u32 )adapter->stats.mngptc; *(regs_buff + 961UL) = (u32 )adapter->stats.tor; *(regs_buff + 963UL) = (u32 )adapter->stats.tpr; *(regs_buff + 964UL) = (u32 )adapter->stats.tpt; *(regs_buff + 965UL) = (u32 )adapter->stats.ptc64; *(regs_buff + 966UL) = (u32 )adapter->stats.ptc127; *(regs_buff + 967UL) = (u32 )adapter->stats.ptc255; *(regs_buff + 968UL) = (u32 )adapter->stats.ptc511; *(regs_buff + 969UL) = (u32 )adapter->stats.ptc1023; *(regs_buff + 970UL) = (u32 )adapter->stats.ptc1522; *(regs_buff + 971UL) = (u32 )adapter->stats.mptc; *(regs_buff + 972UL) = (u32 )adapter->stats.bptc; *(regs_buff + 973UL) = (u32 )adapter->stats.xec; i = 0U; goto ldv_52364; ldv_52363: *(regs_buff + (unsigned long )((int )i + 974)) = (u32 )adapter->stats.qprc[(int )i]; i = (u8 )((int )i + 1); ldv_52364: ; if ((unsigned int )i <= 15U) { goto ldv_52363; } else { } i = 0U; goto ldv_52367; ldv_52366: *(regs_buff + (unsigned long )((int )i + 990)) = (u32 )adapter->stats.qptc[(int )i]; i = (u8 )((int )i + 1); ldv_52367: ; if ((unsigned int )i <= 15U) { goto ldv_52366; } else { } i = 0U; goto ldv_52370; ldv_52369: *(regs_buff + (unsigned long )((int )i + 1006)) = (u32 )adapter->stats.qbrc[(int )i]; i = (u8 )((int )i + 1); ldv_52370: ; if ((unsigned int )i <= 15U) { goto ldv_52369; } else { } i = 0U; goto ldv_52373; ldv_52372: *(regs_buff + (unsigned long )((int )i + 1022)) = (u32 )adapter->stats.qbtc[(int )i]; i = (u8 )((int )i + 1); ldv_52373: ; if ((unsigned int )i <= 15U) { goto ldv_52372; } else { } { *(regs_buff + 1038UL) = ixgbe_read_reg(hw, 16896U); *(regs_buff + 1039UL) = ixgbe_read_reg(hw, 16904U); *(regs_buff + 1040UL) = ixgbe_read_reg(hw, 16908U); *(regs_buff + 1041UL) = ixgbe_read_reg(hw, 16912U); *(regs_buff + 1042UL) = ixgbe_read_reg(hw, 16916U); *(regs_buff + 1043UL) = ixgbe_read_reg(hw, 16920U); *(regs_buff + 1044UL) = ixgbe_read_reg(hw, 16924U); *(regs_buff + 1045UL) = ixgbe_read_reg(hw, 16928U); *(regs_buff + 1046UL) = ixgbe_read_reg(hw, 16932U); *(regs_buff + 1047UL) = ixgbe_read_reg(hw, 16960U); *(regs_buff + 1048UL) = ixgbe_read_reg(hw, 16964U); *(regs_buff + 1049UL) = ixgbe_read_reg(hw, 16968U); *(regs_buff + 1050UL) = ixgbe_read_reg(hw, 16972U); *(regs_buff + 1051UL) = ixgbe_read_reg(hw, 16976U); *(regs_buff + 1052UL) = ixgbe_read_reg(hw, 16980U); *(regs_buff + 1053UL) = ixgbe_read_reg(hw, 16984U); *(regs_buff + 1054UL) = ixgbe_read_reg(hw, 16988U); *(regs_buff + 1055UL) = ixgbe_read_reg(hw, 16992U); *(regs_buff + 1056UL) = ixgbe_read_reg(hw, 16996U); *(regs_buff + 1057UL) = ixgbe_read_reg(hw, 17000U); *(regs_buff + 1058UL) = ixgbe_read_reg(hw, 17004U); *(regs_buff + 1059UL) = ixgbe_read_reg(hw, 17032U); *(regs_buff + 1060UL) = ixgbe_read_reg(hw, 17036U); *(regs_buff + 1061UL) = ixgbe_read_reg(hw, 17040U); *(regs_buff + 1062UL) = ixgbe_read_reg(hw, 17048U); *(regs_buff + 1063UL) = ixgbe_read_reg(hw, 17052U); *(regs_buff + 1064UL) = ixgbe_read_reg(hw, 17056U); *(regs_buff + 1065UL) = ixgbe_read_reg(hw, 17060U); *(regs_buff + 1066UL) = ixgbe_read_reg(hw, 17064U); *(regs_buff + 1067UL) = ixgbe_read_reg(hw, 17068U); *(regs_buff + 1068UL) = ixgbe_read_reg(hw, 17072U); *(regs_buff + 1069UL) = ixgbe_read_reg(hw, 17076U); *(regs_buff + 1070UL) = ixgbe_read_reg(hw, 18432U); *(regs_buff + 1071UL) = ixgbe_read_reg(hw, 11296U); i = 0U; } goto ldv_52376; ldv_52375: { *(regs_buff + (unsigned long )((int )i + 1072)) = ixgbe_read_reg(hw, (u32 )(((int )i + 2816) * 4)); i = (u8 )((int )i + 1); } ldv_52376: ; if ((unsigned int )i <= 7U) { goto ldv_52375; } else { } { *(regs_buff + 1080UL) = ixgbe_read_reg(hw, 12040U); i = 0U; } goto ldv_52379; ldv_52378: { *(regs_buff + (unsigned long )((int )i + 1081)) = ixgbe_read_reg(hw, (u32 )(((int )i + 3012) * 4)); i = (u8 )((int )i + 1); } ldv_52379: ; if ((unsigned int )i <= 3U) { goto ldv_52378; } else { } { *(regs_buff + 1085UL) = ixgbe_read_reg(hw, 12064U); *(regs_buff + 1086UL) = ixgbe_read_reg(hw, 31776U); i = 0U; } goto ldv_52382; ldv_52381: { *(regs_buff + (unsigned long )((int )i + 1087)) = ixgbe_read_reg(hw, (u32 )(((int )i + 7936) * 4)); i = (u8 )((int )i + 1); } ldv_52382: ; if ((unsigned int )i <= 7U) { goto ldv_52381; } else { } { *(regs_buff + 1095UL) = ixgbe_read_reg(hw, 32520U); i = 0U; } goto ldv_52385; ldv_52384: { *(regs_buff + (unsigned long )((int )i + 1096)) = ixgbe_read_reg(hw, (u32 )(((int )i + 8132) * 4)); i = (u8 )((int )i + 1); } ldv_52385: ; if ((unsigned int )i <= 3U) { goto ldv_52384; } else { } { *(regs_buff + 1100UL) = ixgbe_read_reg(hw, 32544U); *(regs_buff + 1101UL) = ixgbe_read_reg(hw, 50688U); *(regs_buff + 1102UL) = ixgbe_read_reg(hw, 50704U); *(regs_buff + 1103UL) = ixgbe_read_reg(hw, 50708U); *(regs_buff + 1104UL) = ixgbe_read_reg(hw, 50712U); *(regs_buff + 1105UL) = ixgbe_read_reg(hw, 50716U); *(regs_buff + 1106UL) = ixgbe_read_reg(hw, 13824U); *(regs_buff + 1107UL) = ixgbe_read_reg(hw, 13840U); *(regs_buff + 1108UL) = ixgbe_read_reg(hw, 13844U); *(regs_buff + 1109UL) = ixgbe_read_reg(hw, 13848U); *(regs_buff + 1110UL) = ixgbe_read_reg(hw, 13852U); i = 0U; } goto ldv_52388; ldv_52387: { *(regs_buff + (unsigned long )((int )i + 1111)) = ixgbe_read_reg(hw, (u32 )(((int )i + 17444) * 4)); i = (u8 )((int )i + 1); } ldv_52388: ; if ((unsigned int )i <= 7U) { goto ldv_52387; } else { } { *(regs_buff + 1119UL) = ixgbe_read_reg(hw, 20644U); *(regs_buff + 1120UL) = ixgbe_read_reg(hw, 17080U); *(regs_buff + 1121UL) = ixgbe_read_reg(hw, 17088U); *(regs_buff + 1122UL) = ixgbe_read_reg(hw, 17092U); *(regs_buff + 1123UL) = ixgbe_read_reg(hw, 17096U); *(regs_buff + 1124UL) = ixgbe_read_reg(hw, 17100U); *(regs_buff + 1125UL) = ixgbe_read_reg(hw, 69740U); *(regs_buff + 1126UL) = ixgbe_read_reg(hw, 49920U); *(regs_buff + 1127UL) = ixgbe_read_reg(hw, 13056U); *(regs_buff + 1128UL) = ixgbe_read_reg(hw, 17044U); *(regs_buff + 1129UL) = ixgbe_read_reg(hw, 12320U); *(regs_buff + 1130UL) = ixgbe_read_reg(hw, 51200U); i = 0U; } goto ldv_52391; ldv_52390: { *(regs_buff + (unsigned long )((int )i + 1131)) = ixgbe_read_reg(hw, (u32 )(((int )i + 8376) * 4)); i = (u8 )((int )i + 1); } ldv_52391: ; if ((unsigned int )i <= 3U) { goto ldv_52390; } else { } { *(regs_buff + 1135UL) = ixgbe_read_reg(hw, 18816U); *(regs_buff + 1136UL) = ixgbe_read_reg(hw, 18828U); *(regs_buff + 1137UL) = ixgbe_read_reg(hw, 35584U); *(regs_buff + 1138UL) = ixgbe_read_reg(hw, 19088U); } return; } } static int ixgbe_get_eeprom_len(struct net_device *netdev ) { struct ixgbe_adapter *adapter ; void *tmp ; { { tmp = netdev_priv((struct net_device const *)netdev); adapter = (struct ixgbe_adapter *)tmp; } return ((int )adapter->hw.eeprom.word_size * 2); } } static int ixgbe_get_eeprom(struct net_device *netdev , struct ethtool_eeprom *eeprom , u8 *bytes ) { struct ixgbe_adapter *adapter ; void *tmp ; struct ixgbe_hw *hw ; u16 *eeprom_buff ; int first_word ; int last_word ; int eeprom_len ; int ret_val ; u16 i ; void *tmp___0 ; { { tmp = netdev_priv((struct net_device const *)netdev); adapter = (struct ixgbe_adapter *)tmp; hw = & adapter->hw; ret_val = 0; } if (eeprom->len == 0U) { return (-22); } else { } { eeprom->magic = (__u32 )((int )hw->vendor_id | ((int )hw->device_id << 16)); first_word = (int )(eeprom->offset >> 1); last_word = (int )(((eeprom->offset + eeprom->len) - 1U) >> 1); eeprom_len = (last_word - first_word) + 1; tmp___0 = kmalloc((unsigned long )eeprom_len * 2UL, 208U); eeprom_buff = (u16 *)tmp___0; } if ((unsigned long )eeprom_buff == (unsigned long )((u16 *)0U)) { return (-12); } else { } { ret_val = (*(hw->eeprom.ops.read_buffer))(hw, (int )((u16 )first_word), (int )((u16 )eeprom_len), eeprom_buff); i = 0U; } goto ldv_52411; ldv_52410: i = (u16 )((int )i + 1); ldv_52411: ; if ((int )i < eeprom_len) { goto ldv_52410; } else { } { memcpy((void *)bytes, (void const *)eeprom_buff + ((unsigned long )eeprom->offset & 1UL), (size_t )eeprom->len); kfree((void const *)eeprom_buff); } return (ret_val); } } static int ixgbe_set_eeprom(struct net_device *netdev , struct ethtool_eeprom *eeprom , u8 *bytes ) { struct ixgbe_adapter *adapter ; void *tmp ; struct ixgbe_hw *hw ; u16 *eeprom_buff ; void *ptr ; int max_len ; int first_word ; int last_word ; int ret_val ; u16 i ; void *tmp___0 ; { { tmp = netdev_priv((struct net_device const *)netdev); adapter = (struct ixgbe_adapter *)tmp; hw = & adapter->hw; ret_val = 0; } if (eeprom->len == 0U) { return (-22); } else { } if (eeprom->magic != (__u32 )((int )hw->vendor_id | ((int )hw->device_id << 16))) { return (-22); } else { } { max_len = (int )hw->eeprom.word_size * 2; first_word = (int )(eeprom->offset >> 1); last_word = (int )(((eeprom->offset + eeprom->len) - 1U) >> 1); tmp___0 = kmalloc((size_t )max_len, 208U); eeprom_buff = (u16 *)tmp___0; } if ((unsigned long )eeprom_buff == (unsigned long )((u16 *)0U)) { return (-12); } else { } ptr = (void *)eeprom_buff; if ((int )eeprom->offset & 1) { { ret_val = (*(hw->eeprom.ops.read))(hw, (int )((u16 )first_word), eeprom_buff); } if (ret_val != 0) { goto err; } else { } ptr = ptr + 1; } else { } if ((int )(eeprom->offset + eeprom->len) & 1) { { ret_val = (*(hw->eeprom.ops.read))(hw, (int )((u16 )last_word), eeprom_buff + (unsigned long )(last_word - first_word)); } if (ret_val != 0) { goto err; } else { } } else { } i = 0U; goto ldv_52429; ldv_52428: i = (u16 )((int )i + 1); ldv_52429: ; if ((int )i < (last_word - first_word) + 1) { goto ldv_52428; } else { } { memcpy(ptr, (void const *)bytes, (size_t )eeprom->len); i = 0U; } goto ldv_52432; ldv_52431: i = (u16 )((int )i + 1); ldv_52432: ; if ((int )i < (last_word - first_word) + 1) { goto ldv_52431; } else { } { ret_val = (*(hw->eeprom.ops.write_buffer))(hw, (int )((u16 )first_word), (int )((unsigned int )((int )((u16 )last_word) - (int )((u16 )first_word)) + 1U), eeprom_buff); } if (ret_val == 0) { { (*(hw->eeprom.ops.update_checksum))(hw); } } else { } err: { kfree((void const *)eeprom_buff); } return (ret_val); } } static void ixgbe_get_drvinfo(struct net_device *netdev , struct ethtool_drvinfo *drvinfo ) { struct ixgbe_adapter *adapter ; void *tmp ; u32 nvm_track_id ; char const *tmp___0 ; int tmp___1 ; { { tmp = netdev_priv((struct net_device const *)netdev); adapter = (struct ixgbe_adapter *)tmp; strlcpy((char *)(& drvinfo->driver), (char const *)(& ixgbe_driver_name), 32UL); strlcpy((char *)(& drvinfo->version), (char const *)(& ixgbe_driver_version), 32UL); nvm_track_id = (u32 )(((int )adapter->eeprom_verh << 16) | (int )adapter->eeprom_verl); snprintf((char *)(& drvinfo->fw_version), 32UL, "0x%08x", nvm_track_id); tmp___0 = pci_name((struct pci_dev const *)adapter->pdev); strlcpy((char *)(& drvinfo->bus_info), tmp___0, 32UL); drvinfo->n_stats = netdev->num_tx_queues * 10U + 89U; drvinfo->testinfo_len = 5U; tmp___1 = ixgbe_get_regs_len(netdev); drvinfo->regdump_len = (__u32 )tmp___1; } return; } } static void ixgbe_get_ringparam(struct net_device *netdev , struct ethtool_ringparam *ring ) { struct ixgbe_adapter *adapter ; void *tmp ; struct ixgbe_ring *tx_ring ; struct ixgbe_ring *rx_ring ; { { tmp = netdev_priv((struct net_device const *)netdev); adapter = (struct ixgbe_adapter *)tmp; tx_ring = adapter->tx_ring[0]; rx_ring = adapter->rx_ring[0]; ring->rx_max_pending = 4096U; ring->tx_max_pending = 4096U; ring->rx_pending = (__u32 )rx_ring->count; ring->tx_pending = (__u32 )tx_ring->count; } return; } } static int ixgbe_set_ringparam(struct net_device *netdev , struct ethtool_ringparam *ring ) { struct ixgbe_adapter *adapter ; void *tmp ; struct ixgbe_ring *temp_ring ; int i ; int err ; u32 new_rx_count ; u32 new_tx_count ; u32 __val ; u32 __min ; u32 __max ; u32 __val___0 ; u32 __min___0 ; u32 __max___0 ; int tmp___0 ; bool tmp___1 ; int tmp___2 ; int __max1 ; int __max2 ; void *tmp___3 ; { { tmp = netdev_priv((struct net_device const *)netdev); adapter = (struct ixgbe_adapter *)tmp; err = 0; } if (ring->rx_mini_pending != 0U || ring->rx_jumbo_pending != 0U) { return (-22); } else { } __val = ring->tx_pending; __min = 64U; __max = 4096U; __val = __min > __val ? __min : __val; new_tx_count = __max < __val ? __max : __val; new_tx_count = (new_tx_count + 7U) & 4294967288U; __val___0 = ring->rx_pending; __min___0 = 64U; __max___0 = 4096U; __val___0 = __min___0 > __val___0 ? __min___0 : __val___0; new_rx_count = __max___0 < __val___0 ? __max___0 : __val___0; new_rx_count = (new_rx_count + 7U) & 4294967288U; if (new_tx_count == adapter->tx_ring_count && new_rx_count == adapter->rx_ring_count) { return (0); } else { } goto ldv_52468; ldv_52467: { usleep_range(1000UL, 2000UL); } ldv_52468: { tmp___0 = test_and_set_bit(1L, (unsigned long volatile *)(& adapter->state)); } if (tmp___0 != 0) { goto ldv_52467; } else { } { tmp___1 = netif_running((struct net_device const *)adapter->netdev); } if (tmp___1) { tmp___2 = 0; } else { tmp___2 = 1; } if (tmp___2) { i = 0; goto ldv_52471; ldv_52470: (adapter->tx_ring[i])->count = (u16 )new_tx_count; i = i + 1; ldv_52471: ; if (i < adapter->num_tx_queues) { goto ldv_52470; } else { } i = 0; goto ldv_52474; ldv_52473: (adapter->rx_ring[i])->count = (u16 )new_rx_count; i = i + 1; ldv_52474: ; if (i < adapter->num_rx_queues) { goto ldv_52473; } else { } adapter->tx_ring_count = new_tx_count; adapter->rx_ring_count = new_rx_count; goto clear_reset; } else { } { __max1 = adapter->num_tx_queues; __max2 = adapter->num_rx_queues; i = __max1 > __max2 ? __max1 : __max2; tmp___3 = vmalloc((unsigned long )i * 4096UL); temp_ring = (struct ixgbe_ring *)tmp___3; } if ((unsigned long )temp_ring == (unsigned long )((struct ixgbe_ring *)0)) { err = -12; goto clear_reset; } else { } { ixgbe_down(adapter); } if (new_tx_count != adapter->tx_ring_count) { i = 0; goto ldv_52485; ldv_52484: { memcpy((void *)temp_ring + (unsigned long )i, (void const *)adapter->tx_ring[i], 4096UL); (temp_ring + (unsigned long )i)->count = (u16 )new_tx_count; err = ixgbe_setup_tx_resources(temp_ring + (unsigned long )i); } if (err != 0) { goto ldv_52481; ldv_52480: { i = i - 1; ixgbe_free_tx_resources(temp_ring + (unsigned long )i); } ldv_52481: ; if (i != 0) { goto ldv_52480; } else { } goto err_setup; } else { } i = i + 1; ldv_52485: ; if (i < adapter->num_tx_queues) { goto ldv_52484; } else { } i = 0; goto ldv_52488; ldv_52487: { ixgbe_free_tx_resources(adapter->tx_ring[i]); memcpy((void *)adapter->tx_ring[i], (void const *)temp_ring + (unsigned long )i, 4096UL); i = i + 1; } ldv_52488: ; if (i < adapter->num_tx_queues) { goto ldv_52487; } else { } adapter->tx_ring_count = new_tx_count; } else { } if (new_rx_count != adapter->rx_ring_count) { i = 0; goto ldv_52494; ldv_52493: { memcpy((void *)temp_ring + (unsigned long )i, (void const *)adapter->rx_ring[i], 4096UL); (temp_ring + (unsigned long )i)->count = (u16 )new_rx_count; err = ixgbe_setup_rx_resources(temp_ring + (unsigned long )i); } if (err != 0) { goto ldv_52491; ldv_52490: { i = i - 1; ixgbe_free_rx_resources(temp_ring + (unsigned long )i); } ldv_52491: ; if (i != 0) { goto ldv_52490; } else { } goto err_setup; } else { } i = i + 1; ldv_52494: ; if (i < adapter->num_rx_queues) { goto ldv_52493; } else { } i = 0; goto ldv_52497; ldv_52496: { ixgbe_free_rx_resources(adapter->rx_ring[i]); memcpy((void *)adapter->rx_ring[i], (void const *)temp_ring + (unsigned long )i, 4096UL); i = i + 1; } ldv_52497: ; if (i < adapter->num_rx_queues) { goto ldv_52496; } else { } adapter->rx_ring_count = new_rx_count; } else { } err_setup: { ixgbe_up(adapter); vfree((void const *)temp_ring); } clear_reset: { clear_bit(1L, (unsigned long volatile *)(& adapter->state)); } return (err); } } static int ixgbe_get_sset_count(struct net_device *netdev , int sset ) { { { if (sset == 0) { goto case_0; } else { } if (sset == 1) { goto case_1; } else { } goto switch_default; case_0: /* CIL Label */ ; return (5); case_1: /* CIL Label */ ; return ((int )(netdev->num_tx_queues * 10U + 89U)); switch_default: /* CIL Label */ ; return (-95); switch_break: /* CIL Label */ ; } } } static void ixgbe_get_ethtool_stats(struct net_device *netdev , struct ethtool_stats *stats , u64 *data ) { struct ixgbe_adapter *adapter ; void *tmp ; struct rtnl_link_stats64 temp ; struct rtnl_link_stats64 const *net_stats ; unsigned int start ; struct ixgbe_ring *ring ; int i ; int j ; char *p ; struct rtnl_link_stats64 *tmp___0 ; bool tmp___1 ; bool tmp___2 ; int tmp___3 ; int tmp___4 ; int tmp___5 ; int tmp___6 ; { { tmp = netdev_priv((struct net_device const *)netdev); adapter = (struct ixgbe_adapter *)tmp; p = (char *)0; ixgbe_update_stats(adapter); tmp___0 = dev_get_stats(netdev, & temp); net_stats = (struct rtnl_link_stats64 const *)tmp___0; i = 0; } goto ldv_52529; ldv_52528: ; { if (ixgbe_gstrings_stats[i].type == 0) { goto case_0; } else { } if (ixgbe_gstrings_stats[i].type == 1) { goto case_1; } else { } goto switch_default; case_0: /* CIL Label */ p = (char *)net_stats + (unsigned long )ixgbe_gstrings_stats[i].stat_offset; goto ldv_52524; case_1: /* CIL Label */ p = (char *)adapter + (unsigned long )ixgbe_gstrings_stats[i].stat_offset; goto ldv_52524; switch_default: /* CIL Label */ *(data + (unsigned long )i) = 0ULL; goto ldv_52527; switch_break: /* CIL Label */ ; } ldv_52524: *(data + (unsigned long )i) = ixgbe_gstrings_stats[i].sizeof_stat == 8 ? *((u64 *)p) : (u64 )*((u32 *)p); ldv_52527: i = i + 1; ldv_52529: ; if ((unsigned int )i <= 56U) { goto ldv_52528; } else { } j = 0; goto ldv_52535; ldv_52534: ring = adapter->tx_ring[j]; if ((unsigned long )ring == (unsigned long )((struct ixgbe_ring *)0)) { *(data + (unsigned long )i) = 0ULL; *(data + ((unsigned long )i + 1UL)) = 0ULL; i = i + 2; *(data + (unsigned long )i) = 0ULL; *(data + ((unsigned long )i + 1UL)) = 0ULL; *(data + ((unsigned long )i + 2UL)) = 0ULL; i = i + 3; goto ldv_52531; } else { } ldv_52532: { start = u64_stats_fetch_begin_bh((struct u64_stats_sync const *)(& ring->syncp)); *(data + (unsigned long )i) = ring->stats.packets; *(data + ((unsigned long )i + 1UL)) = ring->stats.bytes; tmp___1 = u64_stats_fetch_retry_bh((struct u64_stats_sync const *)(& ring->syncp), start); } if ((int )tmp___1) { goto ldv_52532; } else { } i = i + 2; *(data + (unsigned long )i) = ring->stats.yields; *(data + ((unsigned long )i + 1UL)) = ring->stats.misses; *(data + ((unsigned long )i + 2UL)) = ring->stats.cleaned; i = i + 3; ldv_52531: j = j + 1; ldv_52535: ; if ((unsigned int )j < netdev->num_tx_queues) { goto ldv_52534; } else { } j = 0; goto ldv_52541; ldv_52540: ring = adapter->rx_ring[j]; if ((unsigned long )ring == (unsigned long )((struct ixgbe_ring *)0)) { *(data + (unsigned long )i) = 0ULL; *(data + ((unsigned long )i + 1UL)) = 0ULL; i = i + 2; *(data + (unsigned long )i) = 0ULL; *(data + ((unsigned long )i + 1UL)) = 0ULL; *(data + ((unsigned long )i + 2UL)) = 0ULL; i = i + 3; goto ldv_52537; } else { } ldv_52538: { start = u64_stats_fetch_begin_bh((struct u64_stats_sync const *)(& ring->syncp)); *(data + (unsigned long )i) = ring->stats.packets; *(data + ((unsigned long )i + 1UL)) = ring->stats.bytes; tmp___2 = u64_stats_fetch_retry_bh((struct u64_stats_sync const *)(& ring->syncp), start); } if ((int )tmp___2) { goto ldv_52538; } else { } i = i + 2; *(data + (unsigned long )i) = ring->stats.yields; *(data + ((unsigned long )i + 1UL)) = ring->stats.misses; *(data + ((unsigned long )i + 2UL)) = ring->stats.cleaned; i = i + 3; ldv_52537: j = j + 1; ldv_52541: ; if ((unsigned int )j < netdev->num_tx_queues) { goto ldv_52540; } else { } j = 0; goto ldv_52544; ldv_52543: tmp___3 = i; i = i + 1; *(data + (unsigned long )tmp___3) = adapter->stats.pxontxc[j]; tmp___4 = i; i = i + 1; *(data + (unsigned long )tmp___4) = adapter->stats.pxofftxc[j]; j = j + 1; ldv_52544: ; if (j <= 7) { goto ldv_52543; } else { } j = 0; goto ldv_52547; ldv_52546: tmp___5 = i; i = i + 1; *(data + (unsigned long )tmp___5) = adapter->stats.pxonrxc[j]; tmp___6 = i; i = i + 1; *(data + (unsigned long )tmp___6) = adapter->stats.pxoffrxc[j]; j = j + 1; ldv_52547: ; if (j <= 7) { goto ldv_52546; } else { } return; } } static void ixgbe_get_strings(struct net_device *netdev , u32 stringset , u8 *data ) { char *p ; int i ; { p = (char *)data; { if (stringset == 0U) { goto case_0; } else { } if (stringset == 1U) { goto case_1; } else { } goto switch_break; case_0: /* CIL Label */ i = 0; goto ldv_52558; ldv_52557: { memcpy((void *)data, (void const *)(& ixgbe_gstrings_test) + (unsigned long )i, 32UL); data = data + 32UL; i = i + 1; } ldv_52558: ; if ((unsigned int )i <= 4U) { goto ldv_52557; } else { } goto ldv_52560; case_1: /* CIL Label */ i = 0; goto ldv_52565; ldv_52564: { memcpy((void *)p, (void const *)(& ixgbe_gstrings_stats[i].stat_string), 32UL); p = p + 32UL; i = i + 1; } ldv_52565: ; if ((unsigned int )i <= 56U) { goto ldv_52564; } else { } i = 0; goto ldv_52568; ldv_52567: { sprintf(p, "tx_queue_%u_packets", i); p = p + 32UL; sprintf(p, "tx_queue_%u_bytes", i); p = p + 32UL; sprintf(p, "tx_queue_%u_bp_napi_yield", i); p = p + 32UL; sprintf(p, "tx_queue_%u_bp_misses", i); p = p + 32UL; sprintf(p, "tx_queue_%u_bp_cleaned", i); p = p + 32UL; i = i + 1; } ldv_52568: ; if ((unsigned int )i < netdev->num_tx_queues) { goto ldv_52567; } else { } i = 0; goto ldv_52571; ldv_52570: { sprintf(p, "rx_queue_%u_packets", i); p = p + 32UL; sprintf(p, "rx_queue_%u_bytes", i); p = p + 32UL; sprintf(p, "rx_queue_%u_bp_poll_yield", i); p = p + 32UL; sprintf(p, "rx_queue_%u_bp_misses", i); p = p + 32UL; sprintf(p, "rx_queue_%u_bp_cleaned", i); p = p + 32UL; i = i + 1; } ldv_52571: ; if ((unsigned int )i < netdev->num_tx_queues) { goto ldv_52570; } else { } i = 0; goto ldv_52574; ldv_52573: { sprintf(p, "tx_pb_%u_pxon", i); p = p + 32UL; sprintf(p, "tx_pb_%u_pxoff", i); p = p + 32UL; i = i + 1; } ldv_52574: ; if (i <= 7) { goto ldv_52573; } else { } i = 0; goto ldv_52577; ldv_52576: { sprintf(p, "rx_pb_%u_pxon", i); p = p + 32UL; sprintf(p, "rx_pb_%u_pxoff", i); p = p + 32UL; i = i + 1; } ldv_52577: ; if (i <= 7) { goto ldv_52576; } else { } goto ldv_52560; switch_break: /* CIL Label */ ; } ldv_52560: ; return; } } static int ixgbe_link_test(struct ixgbe_adapter *adapter , u64 *data ) { struct ixgbe_hw *hw ; bool link_up ; u32 link_speed ; { { hw = & adapter->hw; link_speed = 0U; *data = 0ULL; (*(hw->mac.ops.check_link))(hw, & link_speed, & link_up, 1); } if ((int )link_up) { return ((int )*data); } else { *data = 1ULL; } return ((int )*data); } } static struct ixgbe_reg_test const reg_test_82599[20U] = { {12832U, 1U, 1U, 2148007920U, 2148007920U}, {12896U, 1U, 1U, 2148007920U, 2148007920U}, {12296U, 1U, 1U, 4294967295U, 4294967295U}, {20616U, 1U, 1U, 0U, 0U}, {4096U, 4U, 1U, 4294967168U, 4294967168U}, {4100U, 4U, 1U, 4294967295U, 4294967295U}, {4104U, 4U, 1U, 1048448U, 1048575U}, {4136U, 4U, 3U, 0U, 33554432U}, {4120U, 4U, 1U, 65535U, 65535U}, {4136U, 4U, 3U, 0U, 0U}, {12896U, 1U, 1U, 2148007920U, 2148007920U}, {12800U, 1U, 1U, 4294967295U, 4294967295U}, {24576U, 4U, 1U, 4294967168U, 4294967295U}, {24580U, 4U, 1U, 4294967295U, 4294967295U}, {24584U, 4U, 1U, 1048448U, 1048448U}, {12288U, 1U, 2U, 1U, 1U}, {21504U, 16U, 5U, 4294967295U, 4294967295U}, {21504U, 16U, 6U, 2147614719U, 2148335615U}, {20992U, 128U, 4U, 4294967295U, 4294967295U}, {0U, 0U, 0U, 0U, 0U}}; static struct ixgbe_reg_test const reg_test_82598[22U] = { {12832U, 1U, 1U, 2148007920U, 2148007920U}, {12896U, 1U, 1U, 2148007920U, 2148007920U}, {12296U, 1U, 1U, 4294967295U, 4294967295U}, {20616U, 1U, 1U, 0U, 0U}, {4096U, 4U, 1U, 4294967168U, 4294967295U}, {4100U, 4U, 1U, 4294967295U, 4294967295U}, {4104U, 4U, 1U, 1048448U, 1048575U}, {4136U, 4U, 3U, 0U, 33554432U}, {4120U, 4U, 1U, 65535U, 65535U}, {4136U, 4U, 3U, 0U, 0U}, {12896U, 1U, 1U, 2148007920U, 2148007920U}, {12800U, 1U, 1U, 4294967295U, 4294967295U}, {51968U, 1U, 1U, 255U, 255U}, {24576U, 4U, 1U, 4294967168U, 4294967295U}, {24580U, 4U, 1U, 4294967295U, 4294967295U}, {24584U, 4U, 1U, 1048448U, 1048575U}, {12288U, 1U, 2U, 3U, 3U}, {32256U, 1U, 2U, 5U, 5U}, {21504U, 16U, 5U, 4294967295U, 4294967295U}, {21504U, 16U, 6U, 2148335615U, 2148335615U}, {20992U, 128U, 4U, 4294967295U, 4294967295U}, {0U, 0U, 0U, 0U, 0U}}; static bool reg_pattern_test(struct ixgbe_adapter *adapter , u64 *data , int reg , u32 mask , u32 write ) { u32 pat ; u32 val ; u32 before ; u32 test_pattern[4U] ; bool tmp ; { { test_pattern[0] = 1515870810U; test_pattern[1] = 2779096485U; test_pattern[2] = 0U; test_pattern[3] = 4294967295U; tmp = ixgbe_removed((void *)adapter->hw.hw_addr); } if ((int )tmp) { *data = 1ULL; return (1); } else { } pat = 0U; goto ldv_52608; ldv_52607: { before = ixgbe_read_reg(& adapter->hw, (u32 )reg); ixgbe_write_reg(& adapter->hw, (u32 )reg, test_pattern[pat] & write); val = ixgbe_read_reg(& adapter->hw, (u32 )reg); } if (val != ((test_pattern[pat] & write) & mask)) { if ((int )adapter->msg_enable & 1) { { netdev_err((struct net_device const *)adapter->netdev, "pattern test reg %04X failed: got 0x%08X expected 0x%08X\n", reg, val, (test_pattern[pat] & write) & mask); } } else { } { *data = (u64 )reg; ixgbe_write_reg(& adapter->hw, (u32 )reg, before); } return (1); } else { } { ixgbe_write_reg(& adapter->hw, (u32 )reg, before); pat = pat + 1U; } ldv_52608: ; if (pat <= 3U) { goto ldv_52607; } else { } return (0); } } static bool reg_set_and_check(struct ixgbe_adapter *adapter , u64 *data , int reg , u32 mask , u32 write ) { u32 val ; u32 before ; bool tmp ; { { tmp = ixgbe_removed((void *)adapter->hw.hw_addr); } if ((int )tmp) { *data = 1ULL; return (1); } else { } { before = ixgbe_read_reg(& adapter->hw, (u32 )reg); ixgbe_write_reg(& adapter->hw, (u32 )reg, write & mask); val = ixgbe_read_reg(& adapter->hw, (u32 )reg); } if (((write ^ val) & mask) != 0U) { if ((int )adapter->msg_enable & 1) { { netdev_err((struct net_device const *)adapter->netdev, "set/check reg %04X test failed: got 0x%08X expected 0x%08X\n", reg, val & mask, write & mask); } } else { } { *data = (u64 )reg; ixgbe_write_reg(& adapter->hw, (u32 )reg, before); } return (1); } else { } { ixgbe_write_reg(& adapter->hw, (u32 )reg, before); } return (0); } } static int ixgbe_reg_test(struct ixgbe_adapter *adapter , u64 *data ) { struct ixgbe_reg_test const *test ; u32 value ; u32 before ; u32 after ; u32 i ; u32 toggle ; bool tmp ; u32 tmp___0 ; u32 tmp___1 ; bool b ; { { tmp = ixgbe_removed((void *)adapter->hw.hw_addr); } if ((int )tmp) { if ((int )adapter->msg_enable & 1) { { netdev_err((struct net_device const *)adapter->netdev, "Adapter removed - register test blocked\n"); } } else { } *data = 1ULL; return (1); } else { } { if ((unsigned int )adapter->hw.mac.type == 1U) { goto case_1; } else { } if ((unsigned int )adapter->hw.mac.type == 2U) { goto case_2; } else { } if ((unsigned int )adapter->hw.mac.type == 3U) { goto case_3; } else { } goto switch_default; case_1: /* CIL Label */ toggle = 2147480575U; test = (struct ixgbe_reg_test const *)(& reg_test_82598); goto ldv_52630; case_2: /* CIL Label */ ; case_3: /* CIL Label */ toggle = 2147480335U; test = (struct ixgbe_reg_test const *)(& reg_test_82599); goto ldv_52630; switch_default: /* CIL Label */ *data = 1ULL; return (1); switch_break: /* CIL Label */ ; } ldv_52630: { before = ixgbe_read_reg(& adapter->hw, 8U); tmp___0 = ixgbe_read_reg(& adapter->hw, 8U); value = tmp___0 & toggle; ixgbe_write_reg(& adapter->hw, 8U, toggle); tmp___1 = ixgbe_read_reg(& adapter->hw, 8U); after = tmp___1 & toggle; } if (value != after) { if ((int )adapter->msg_enable & 1) { { netdev_err((struct net_device const *)adapter->netdev, "failed STATUS register test got: 0x%08X expected: 0x%08X\n", after, value); } } else { } *data = 1ULL; return (1); } else { } { ixgbe_write_reg(& adapter->hw, 8U, before); } goto ldv_52646; ldv_52645: i = 0U; goto ldv_52643; ldv_52642: b = 0; { if ((int )test->test_type == 1) { goto case_1___0; } else { } if ((int )test->test_type == 2) { goto case_2___0; } else { } if ((int )test->test_type == 3) { goto case_3___0; } else { } if ((int )test->test_type == 4) { goto case_4; } else { } if ((int )test->test_type == 5) { goto case_5; } else { } if ((int )test->test_type == 6) { goto case_6; } else { } goto switch_break___0; case_1___0: /* CIL Label */ { b = reg_pattern_test(adapter, data, (int )((u32 )test->reg + i * 64U), test->mask, test->write); } goto ldv_52636; case_2___0: /* CIL Label */ { b = reg_set_and_check(adapter, data, (int )((u32 )test->reg + i * 64U), test->mask, test->write); } goto ldv_52636; case_3___0: /* CIL Label */ { ixgbe_write_reg(& adapter->hw, (u32 )test->reg + i * 64U, test->write); } goto ldv_52636; case_4: /* CIL Label */ { b = reg_pattern_test(adapter, data, (int )((u32 )test->reg + i * 4U), test->mask, test->write); } goto ldv_52636; case_5: /* CIL Label */ { b = reg_pattern_test(adapter, data, (int )((u32 )test->reg + i * 8U), test->mask, test->write); } goto ldv_52636; case_6: /* CIL Label */ { b = reg_pattern_test(adapter, data, (int )(((u32 )test->reg + i * 8U) + 4U), test->mask, test->write); } goto ldv_52636; switch_break___0: /* CIL Label */ ; } ldv_52636: ; if ((int )b) { return (1); } else { } i = i + 1U; ldv_52643: ; if (i < (u32 )test->array_len) { goto ldv_52642; } else { } test = test + 1; ldv_52646: ; if ((unsigned int )((unsigned short )test->reg) != 0U) { goto ldv_52645; } else { } *data = 0ULL; return (0); } } static int ixgbe_eeprom_test(struct ixgbe_adapter *adapter , u64 *data ) { struct ixgbe_hw *hw ; s32 tmp ; { { hw = & adapter->hw; tmp = (*(hw->eeprom.ops.validate_checksum))(hw, (u16 *)0U); } if (tmp != 0) { *data = 1ULL; } else { *data = 0ULL; } return ((int )*data); } } static irqreturn_t ixgbe_test_intr(int irq , void *data ) { struct net_device *netdev ; struct ixgbe_adapter *adapter ; void *tmp ; u32 tmp___0 ; { { netdev = (struct net_device *)data; tmp = netdev_priv((struct net_device const *)netdev); adapter = (struct ixgbe_adapter *)tmp; tmp___0 = ixgbe_read_reg(& adapter->hw, 2048U); adapter->test_icr = adapter->test_icr | tmp___0; } return (1); } } static int ixgbe_intr_test(struct ixgbe_adapter *adapter , u64 *data ) { struct net_device *netdev ; u32 mask ; u32 i ; u32 shared_int ; u32 irq ; int tmp ; int tmp___0 ; int tmp___1 ; { netdev = adapter->netdev; i = 0U; shared_int = 1U; irq = (adapter->pdev)->irq; *data = 0ULL; if ((unsigned long )adapter->msix_entries != (unsigned long )((struct msix_entry *)0)) { return (0); } else if ((adapter->flags & 2U) != 0U) { { shared_int = 0U; tmp = ldv_request_irq_19(irq, & ixgbe_test_intr, 0UL, (char const *)(& netdev->name), (void *)netdev); } if (tmp != 0) { *data = 1ULL; return (-1); } else { } } else { { tmp___1 = ldv_request_irq_20(irq, & ixgbe_test_intr, 256UL, (char const *)(& netdev->name), (void *)netdev); } if (tmp___1 == 0) { shared_int = 0U; } else { { tmp___0 = ldv_request_irq_22(irq, & ixgbe_test_intr, 128UL, (char const *)(& netdev->name), (void *)netdev); } if (tmp___0 != 0) { *data = 1ULL; return (-1); } else { } } } if (((int )adapter->msg_enable & 8192) != 0) { { netdev_info((struct net_device const *)adapter->netdev, "testing %s interrupt\n", shared_int != 0U ? (char *)"shared" : (char *)"unshared"); } } else { } { ixgbe_write_reg(& adapter->hw, 2184U, 4294967295U); ixgbe_read_reg(& adapter->hw, 8U); usleep_range(10000UL, 20000UL); } goto ldv_52670; ldv_52669: mask = (u32 )(1 << (int )i); if (shared_int == 0U) { { adapter->test_icr = 0U; ixgbe_write_reg(& adapter->hw, 2184U, ~ mask & 32767U); ixgbe_write_reg(& adapter->hw, 2056U, ~ mask & 32767U); ixgbe_read_reg(& adapter->hw, 8U); usleep_range(10000UL, 20000UL); } if ((adapter->test_icr & mask) != 0U) { *data = 3ULL; goto ldv_52668; } else { } } else { } { adapter->test_icr = 0U; ixgbe_write_reg(& adapter->hw, 2176U, mask); ixgbe_write_reg(& adapter->hw, 2056U, mask); ixgbe_read_reg(& adapter->hw, 8U); usleep_range(10000UL, 20000UL); } if ((adapter->test_icr & mask) == 0U) { *data = 4ULL; goto ldv_52668; } else { } if (shared_int == 0U) { { adapter->test_icr = 0U; ixgbe_write_reg(& adapter->hw, 2184U, ~ mask & 32767U); ixgbe_write_reg(& adapter->hw, 2056U, ~ mask & 32767U); ixgbe_read_reg(& adapter->hw, 8U); usleep_range(10000UL, 20000UL); } if (adapter->test_icr != 0U) { *data = 5ULL; goto ldv_52668; } else { } } else { } i = i + 1U; ldv_52670: ; if (i <= 9U) { goto ldv_52669; } else { } ldv_52668: { ixgbe_write_reg(& adapter->hw, 2184U, 4294967295U); ixgbe_read_reg(& adapter->hw, 8U); usleep_range(10000UL, 20000UL); ldv_free_irq_21___0(irq, (void *)netdev); } return ((int )*data); } } static void ixgbe_free_desc_rings(struct ixgbe_adapter *adapter ) { struct ixgbe_ring *tx_ring ; struct ixgbe_ring *rx_ring ; struct ixgbe_hw *hw ; u32 reg_ctl ; { { tx_ring = & adapter->test_tx_ring; rx_ring = & adapter->test_rx_ring; hw = & adapter->hw; reg_ctl = ixgbe_read_reg(hw, 12288U); reg_ctl = reg_ctl & 4294967294U; ixgbe_write_reg(hw, 12288U, reg_ctl); ixgbe_disable_rx_queue(adapter, rx_ring); reg_ctl = ixgbe_read_reg(hw, (u32 )((int )tx_ring->reg_idx * 64 + 24616)); reg_ctl = reg_ctl & 4261412863U; ixgbe_write_reg(hw, (u32 )((int )tx_ring->reg_idx * 64 + 24616), reg_ctl); } { if ((unsigned int )hw->mac.type == 2U) { goto case_2; } else { } if ((unsigned int )hw->mac.type == 3U) { goto case_3; } else { } goto switch_default; case_2: /* CIL Label */ ; case_3: /* CIL Label */ { reg_ctl = ixgbe_read_reg(hw, 19072U); reg_ctl = reg_ctl & 4294967294U; ixgbe_write_reg(hw, 19072U, reg_ctl); } goto ldv_52680; switch_default: /* CIL Label */ ; goto ldv_52680; switch_break: /* CIL Label */ ; } ldv_52680: { ixgbe_reset(adapter); ixgbe_free_tx_resources(& adapter->test_tx_ring); ixgbe_free_rx_resources(& adapter->test_rx_ring); } return; } } static int ixgbe_setup_desc_rings(struct ixgbe_adapter *adapter ) { struct ixgbe_ring *tx_ring ; struct ixgbe_ring *rx_ring ; u32 rctl ; u32 reg_data ; int ret_val ; int err ; { { tx_ring = & adapter->test_tx_ring; rx_ring = & adapter->test_rx_ring; tx_ring->count = 512U; tx_ring->queue_index = 0U; tx_ring->dev = & (adapter->pdev)->dev; tx_ring->netdev = adapter->netdev; tx_ring->reg_idx = (adapter->tx_ring[0])->reg_idx; err = ixgbe_setup_tx_resources(tx_ring); } if (err != 0) { return (1); } else { } { if ((unsigned int )adapter->hw.mac.type == 2U) { goto case_2; } else { } if ((unsigned int )adapter->hw.mac.type == 3U) { goto case_3; } else { } goto switch_default; case_2: /* CIL Label */ ; case_3: /* CIL Label */ { reg_data = ixgbe_read_reg(& adapter->hw, 19072U); reg_data = reg_data | 1U; ixgbe_write_reg(& adapter->hw, 19072U, reg_data); } goto ldv_52693; switch_default: /* CIL Label */ ; goto ldv_52693; switch_break: /* CIL Label */ ; } ldv_52693: { ixgbe_configure_tx_ring(adapter, tx_ring); rx_ring->count = 512U; rx_ring->queue_index = 0U; rx_ring->dev = & (adapter->pdev)->dev; rx_ring->netdev = adapter->netdev; rx_ring->reg_idx = (adapter->rx_ring[0])->reg_idx; err = ixgbe_setup_rx_resources(rx_ring); } if (err != 0) { ret_val = 4; goto err_nomem; } else { } { rctl = ixgbe_read_reg(& adapter->hw, 12288U); ixgbe_write_reg(& adapter->hw, 12288U, rctl & 4294967294U); ixgbe_configure_rx_ring(adapter, rx_ring); rctl = rctl | 3U; ixgbe_write_reg(& adapter->hw, 12288U, rctl); } return (0); err_nomem: { ixgbe_free_desc_rings(adapter); } return (ret_val); } } static int ixgbe_setup_loopback_test(struct ixgbe_adapter *adapter ) { struct ixgbe_hw *hw ; u32 reg_data ; u8 atlas ; { { hw = & adapter->hw; reg_data = ixgbe_read_reg(hw, 16960U); reg_data = reg_data | 32768U; ixgbe_write_reg(hw, 16960U, reg_data); reg_data = ixgbe_read_reg(hw, 20608U); reg_data = reg_data | 1282U; ixgbe_write_reg(hw, 20608U, reg_data); } if ((unsigned int )adapter->hw.mac.type == 3U) { { reg_data = ixgbe_read_reg(hw, 17200U); reg_data = reg_data | 1U; ixgbe_write_reg(hw, 17200U, reg_data); } } else if (hw->mac.orig_autoc != 0U) { { reg_data = hw->mac.orig_autoc | 1U; ixgbe_write_reg(hw, 17056U, reg_data); } } else { return (10); } { ixgbe_read_reg(hw, 8U); usleep_range(10000UL, 20000UL); } if ((unsigned int )hw->mac.type == 1U) { { (*(hw->mac.ops.read_analog_reg8))(hw, 36U, & atlas); atlas = (u8 )((unsigned int )atlas | 16U); (*(hw->mac.ops.write_analog_reg8))(hw, 36U, (int )atlas); (*(hw->mac.ops.read_analog_reg8))(hw, 11U, & atlas); atlas = (u8 )((unsigned int )atlas | 240U); (*(hw->mac.ops.write_analog_reg8))(hw, 11U, (int )atlas); (*(hw->mac.ops.read_analog_reg8))(hw, 12U, & atlas); atlas = (u8 )((unsigned int )atlas | 240U); (*(hw->mac.ops.write_analog_reg8))(hw, 12U, (int )atlas); (*(hw->mac.ops.read_analog_reg8))(hw, 13U, & atlas); atlas = (u8 )((unsigned int )atlas | 240U); (*(hw->mac.ops.write_analog_reg8))(hw, 13U, (int )atlas); } } else { } return (0); } } static void ixgbe_loopback_cleanup(struct ixgbe_adapter *adapter ) { u32 reg_data ; { { reg_data = ixgbe_read_reg(& adapter->hw, 16960U); reg_data = reg_data & 4294934527U; ixgbe_write_reg(& adapter->hw, 16960U, reg_data); } return; } } static void ixgbe_create_lbtest_frame(struct sk_buff *skb , unsigned int frame_size ) { { { memset((void *)skb->data, 255, (size_t )frame_size); frame_size = frame_size >> 1; memset((void *)skb->data + (unsigned long )frame_size, 170, (size_t )(frame_size / 2U - 1U)); memset((void *)skb->data + (unsigned long )(frame_size + 10U), 190, 1UL); memset((void *)skb->data + (unsigned long )(frame_size + 12U), 175, 1UL); } return; } } static bool ixgbe_check_lbtest_frame(struct ixgbe_rx_buffer *rx_buffer , unsigned int frame_size ) { unsigned char *data ; bool match ; void *tmp ; { { match = 1; frame_size = frame_size >> 1; tmp = kmap(rx_buffer->page); data = (unsigned char *)tmp + (unsigned long )rx_buffer->page_offset; } if (((unsigned int )*(data + 3UL) != 255U || (unsigned int )*(data + (unsigned long )(frame_size + 10U)) != 190U) || (unsigned int )*(data + (unsigned long )(frame_size + 12U)) != 175U) { match = 0; } else { } { kunmap(rx_buffer->page); } return (match); } } static u16 ixgbe_clean_test_rings(struct ixgbe_ring *rx_ring , struct ixgbe_ring *tx_ring , unsigned int size ) { union ixgbe_adv_rx_desc *rx_desc ; struct ixgbe_rx_buffer *rx_buffer ; struct ixgbe_tx_buffer *tx_buffer ; u16 rx_ntc ; u16 tx_ntc ; u16 count ; unsigned int tmp ; bool tmp___0 ; unsigned int tmp___1 ; __le32 tmp___2 ; struct netdev_queue *tmp___3 ; { count = 0U; rx_ntc = rx_ring->next_to_clean; tx_ntc = tx_ring->next_to_clean; rx_desc = (union ixgbe_adv_rx_desc *)rx_ring->desc + (unsigned long )rx_ntc; goto ldv_52728; ldv_52727: { rx_buffer = rx_ring->__annonCompField94.rx_buffer_info + (unsigned long )rx_ntc; tmp = ixgbe_rx_bufsz(rx_ring); dma_sync_single_for_cpu(rx_ring->dev, rx_buffer->dma, (size_t )tmp, 2); tmp___0 = ixgbe_check_lbtest_frame(rx_buffer, size); } if ((int )tmp___0) { count = (u16 )((int )count + 1); } else { } { tmp___1 = ixgbe_rx_bufsz(rx_ring); dma_sync_single_for_device(rx_ring->dev, rx_buffer->dma, (size_t )tmp___1, 2); tx_buffer = tx_ring->__annonCompField94.tx_buffer_info + (unsigned long )tx_ntc; ixgbe_unmap_and_free_tx_resource(tx_ring, tx_buffer); rx_ntc = (u16 )((int )rx_ntc + 1); } if ((int )rx_ntc == (int )rx_ring->count) { rx_ntc = 0U; } else { } tx_ntc = (u16 )((int )tx_ntc + 1); if ((int )tx_ntc == (int )tx_ring->count) { tx_ntc = 0U; } else { } rx_desc = (union ixgbe_adv_rx_desc *)rx_ring->desc + (unsigned long )rx_ntc; ldv_52728: { tmp___2 = ixgbe_test_staterr(rx_desc, 1U); } if (tmp___2 != 0U) { goto ldv_52727; } else { } { tmp___3 = txring_txq((struct ixgbe_ring const *)tx_ring); netdev_tx_reset_queue(tmp___3); ixgbe_alloc_rx_buffers(rx_ring, (int )count); rx_ring->next_to_clean = rx_ntc; tx_ring->next_to_clean = tx_ntc; } return (count); } } static int ixgbe_run_loopback_test(struct ixgbe_adapter *adapter ) { struct ixgbe_ring *tx_ring ; struct ixgbe_ring *rx_ring ; int i ; int j ; int lc ; int good_cnt ; int ret_val ; unsigned int size ; netdev_tx_t tx_ret_val ; struct sk_buff *skb ; u32 flags_orig ; u16 tmp ; { { tx_ring = & adapter->test_tx_ring; rx_ring = & adapter->test_rx_ring; ret_val = 0; size = 1024U; flags_orig = adapter->flags; adapter->flags = adapter->flags & 4294963199U; skb = alloc_skb(size, 208U); } if ((unsigned long )skb == (unsigned long )((struct sk_buff *)0)) { return (11); } else { } { ixgbe_create_lbtest_frame(skb, size); skb_put(skb, size); } if ((int )rx_ring->count <= (int )tx_ring->count) { lc = (int )((unsigned int )tx_ring->count / 64U) * 2 + 1; } else { lc = (int )((unsigned int )rx_ring->count / 64U) * 2 + 1; } j = 0; goto ldv_52749; ldv_52748: good_cnt = 0; i = 0; goto ldv_52745; ldv_52744: { skb_get___0(skb); tx_ret_val = ixgbe_xmit_frame_ring(skb, adapter, tx_ring); } if ((int )tx_ret_val == 0) { good_cnt = good_cnt + 1; } else { } i = i + 1; ldv_52745: ; if (i <= 63) { goto ldv_52744; } else { } if (good_cnt != 64) { ret_val = 12; goto ldv_52747; } else { } { msleep(200U); tmp = ixgbe_clean_test_rings(rx_ring, tx_ring, size); good_cnt = (int )tmp; } if (good_cnt != 64) { ret_val = 13; goto ldv_52747; } else { } j = j + 1; ldv_52749: ; if (j <= lc) { goto ldv_52748; } else { } ldv_52747: { kfree_skb(skb); adapter->flags = flags_orig; } return (ret_val); } } static int ixgbe_loopback_test(struct ixgbe_adapter *adapter , u64 *data ) { int tmp ; int tmp___0 ; int tmp___1 ; { { tmp = ixgbe_setup_desc_rings(adapter); *data = (u64 )tmp; } if (*data != 0ULL) { goto out; } else { } { tmp___0 = ixgbe_setup_loopback_test(adapter); *data = (u64 )tmp___0; } if (*data != 0ULL) { goto err_loopback; } else { } { tmp___1 = ixgbe_run_loopback_test(adapter); *data = (u64 )tmp___1; ixgbe_loopback_cleanup(adapter); } err_loopback: { ixgbe_free_desc_rings(adapter); } out: ; return ((int )*data); } } static void ixgbe_diag_test(struct net_device *netdev , struct ethtool_test *eth_test , u64 *data ) { struct ixgbe_adapter *adapter ; void *tmp ; bool if_running ; bool tmp___0 ; bool tmp___1 ; struct ixgbe_hw *hw ; int i ; int tmp___2 ; int tmp___3 ; int tmp___4 ; int tmp___5 ; int tmp___6 ; int tmp___7 ; { { tmp = netdev_priv((struct net_device const *)netdev); adapter = (struct ixgbe_adapter *)tmp; tmp___0 = netif_running((struct net_device const *)netdev); if_running = tmp___0; tmp___1 = ixgbe_removed((void *)adapter->hw.hw_addr); } if ((int )tmp___1) { if (((int )adapter->msg_enable & 8192) != 0) { { netdev_err((struct net_device const *)adapter->netdev, "Adapter removed - test blocked\n"); } } else { } *data = 1ULL; *(data + 1UL) = 1ULL; *(data + 2UL) = 1ULL; *(data + 3UL) = 1ULL; eth_test->flags = eth_test->flags | 2U; return; } else { } { set_bit(0L, (unsigned long volatile *)(& adapter->state)); } if (eth_test->flags == 1U) { hw = & adapter->hw; if ((adapter->flags & 8388608U) != 0U) { i = 0; goto ldv_52767; ldv_52766: ; if ((int )(adapter->vfinfo + (unsigned long )i)->clear_to_send) { { netdev_warn((struct net_device const *)netdev, "%s", (char *)"offline diagnostic is not supported when VFs are present\n"); *data = 1ULL; *(data + 1UL) = 1ULL; *(data + 2UL) = 1ULL; *(data + 3UL) = 1ULL; eth_test->flags = eth_test->flags | 2U; clear_bit(0L, (unsigned long volatile *)(& adapter->state)); } goto skip_ol_tests; } else { } i = i + 1; ldv_52767: ; if ((unsigned int )i < adapter->num_vfs) { goto ldv_52766; } else { } } else { } if (((int )adapter->msg_enable & 8192) != 0) { { netdev_info((struct net_device const *)adapter->netdev, "offline testing starting\n"); } } else { } { tmp___2 = ixgbe_link_test(adapter, data + 4UL); } if (tmp___2 != 0) { eth_test->flags = eth_test->flags | 2U; } else { } if ((int )if_running) { { dev_close(netdev); } } else { { ixgbe_reset(adapter); } } if (((int )adapter->msg_enable & 8192) != 0) { { netdev_info((struct net_device const *)adapter->netdev, "register testing starting\n"); } } else { } { tmp___3 = ixgbe_reg_test(adapter, data); } if (tmp___3 != 0) { eth_test->flags = eth_test->flags | 2U; } else { } { ixgbe_reset(adapter); } if (((int )adapter->msg_enable & 8192) != 0) { { netdev_info((struct net_device const *)adapter->netdev, "eeprom testing starting\n"); } } else { } { tmp___4 = ixgbe_eeprom_test(adapter, data + 1UL); } if (tmp___4 != 0) { eth_test->flags = eth_test->flags | 2U; } else { } { ixgbe_reset(adapter); } if (((int )adapter->msg_enable & 8192) != 0) { { netdev_info((struct net_device const *)adapter->netdev, "interrupt testing starting\n"); } } else { } { tmp___5 = ixgbe_intr_test(adapter, data + 2UL); } if (tmp___5 != 0) { eth_test->flags = eth_test->flags | 2U; } else { } if ((adapter->flags & 8404992U) != 0U) { if (((int )adapter->msg_enable & 8192) != 0) { { netdev_info((struct net_device const *)adapter->netdev, "Skip MAC loopback diagnostic in VT mode\n"); } } else { } *(data + 3UL) = 0ULL; goto skip_loopback; } else { } { ixgbe_reset(adapter); } if (((int )adapter->msg_enable & 8192) != 0) { { netdev_info((struct net_device const *)adapter->netdev, "loopback testing starting\n"); } } else { } { tmp___6 = ixgbe_loopback_test(adapter, data + 3UL); } if (tmp___6 != 0) { eth_test->flags = eth_test->flags | 2U; } else { } skip_loopback: { ixgbe_reset(adapter); clear_bit(0L, (unsigned long volatile *)(& adapter->state)); } if ((int )if_running) { { dev_open(netdev); } } else if ((unsigned long )hw->mac.ops.disable_tx_laser != (unsigned long )((void (*)(struct ixgbe_hw * ))0)) { { (*(hw->mac.ops.disable_tx_laser))(hw); } } else { } } else { if (((int )adapter->msg_enable & 8192) != 0) { { netdev_info((struct net_device const *)adapter->netdev, "online testing starting\n"); } } else { } { tmp___7 = ixgbe_link_test(adapter, data + 4UL); } if (tmp___7 != 0) { eth_test->flags = eth_test->flags | 2U; } else { } { *data = 0ULL; *(data + 1UL) = 0ULL; *(data + 2UL) = 0ULL; *(data + 3UL) = 0ULL; clear_bit(0L, (unsigned long volatile *)(& adapter->state)); } } skip_ol_tests: { msleep_interruptible(4000U); } return; } } static int ixgbe_wol_exclusion(struct ixgbe_adapter *adapter , struct ethtool_wolinfo *wol ) { struct ixgbe_hw *hw ; int retval ; int tmp ; { { hw = & adapter->hw; retval = 0; tmp = ixgbe_wol_supported(adapter, (int )hw->device_id, (int )hw->subsystem_device_id); } if (tmp == 0) { retval = 1; wol->supported = 0U; } else { } return (retval); } } static void ixgbe_get_wol(struct net_device *netdev , struct ethtool_wolinfo *wol ) { struct ixgbe_adapter *adapter ; void *tmp ; int tmp___0 ; bool tmp___1 ; int tmp___2 ; { { tmp = netdev_priv((struct net_device const *)netdev); adapter = (struct ixgbe_adapter *)tmp; wol->supported = 46U; wol->wolopts = 0U; tmp___0 = ixgbe_wol_exclusion(adapter, wol); } if (tmp___0 != 0) { return; } else { { tmp___1 = device_can_wakeup(& (adapter->pdev)->dev); } if (tmp___1) { tmp___2 = 0; } else { tmp___2 = 1; } if (tmp___2) { return; } else { } } if ((adapter->wol & 4U) != 0U) { wol->wolopts = wol->wolopts | 2U; } else { } if ((adapter->wol & 8U) != 0U) { wol->wolopts = wol->wolopts | 4U; } else { } if ((adapter->wol & 16U) != 0U) { wol->wolopts = wol->wolopts | 8U; } else { } if ((adapter->wol & 2U) != 0U) { wol->wolopts = wol->wolopts | 32U; } else { } return; } } static int ixgbe_set_wol(struct net_device *netdev , struct ethtool_wolinfo *wol ) { struct ixgbe_adapter *adapter ; void *tmp ; int tmp___0 ; { { tmp = netdev_priv((struct net_device const *)netdev); adapter = (struct ixgbe_adapter *)tmp; } if ((wol->wolopts & 81U) != 0U) { return (-95); } else { } { tmp___0 = ixgbe_wol_exclusion(adapter, wol); } if (tmp___0 != 0) { return (wol->wolopts != 0U ? -95 : 0); } else { } adapter->wol = 0U; if ((wol->wolopts & 2U) != 0U) { adapter->wol = adapter->wol | 4U; } else { } if ((wol->wolopts & 4U) != 0U) { adapter->wol = adapter->wol | 8U; } else { } if ((wol->wolopts & 8U) != 0U) { adapter->wol = adapter->wol | 16U; } else { } if ((wol->wolopts & 32U) != 0U) { adapter->wol = adapter->wol | 2U; } else { } { device_set_wakeup_enable(& (adapter->pdev)->dev, adapter->wol != 0U); } return (0); } } static int ixgbe_nway_reset(struct net_device *netdev ) { struct ixgbe_adapter *adapter ; void *tmp ; bool tmp___0 ; { { tmp = netdev_priv((struct net_device const *)netdev); adapter = (struct ixgbe_adapter *)tmp; tmp___0 = netif_running((struct net_device const *)netdev); } if ((int )tmp___0) { { ixgbe_reinit_locked(adapter); } } else { } return (0); } } static int ixgbe_set_phys_id(struct net_device *netdev , enum ethtool_phys_id_state state ) { struct ixgbe_adapter *adapter ; void *tmp ; struct ixgbe_hw *hw ; { { tmp = netdev_priv((struct net_device const *)netdev); adapter = (struct ixgbe_adapter *)tmp; hw = & adapter->hw; } { if ((unsigned int )state == 1U) { goto case_1; } else { } if ((unsigned int )state == 2U) { goto case_2; } else { } if ((unsigned int )state == 3U) { goto case_3; } else { } if ((unsigned int )state == 0U) { goto case_0; } else { } goto switch_break; case_1: /* CIL Label */ { adapter->led_reg = ixgbe_read_reg(hw, 512U); } return (2); case_2: /* CIL Label */ { (*(hw->mac.ops.led_on))(hw, 14U); } goto ldv_52798; case_3: /* CIL Label */ { (*(hw->mac.ops.led_off))(hw, 14U); } goto ldv_52798; case_0: /* CIL Label */ { ixgbe_write_reg(& adapter->hw, 512U, adapter->led_reg); } goto ldv_52798; switch_break: /* CIL Label */ ; } ldv_52798: ; return (0); } } static int ixgbe_get_coalesce(struct net_device *netdev , struct ethtool_coalesce *ec ) { struct ixgbe_adapter *adapter ; void *tmp ; { { tmp = netdev_priv((struct net_device const *)netdev); adapter = (struct ixgbe_adapter *)tmp; } if ((unsigned int )adapter->rx_itr_setting <= 1U) { ec->rx_coalesce_usecs = (__u32 )adapter->rx_itr_setting; } else { ec->rx_coalesce_usecs = (__u32 )((int )adapter->rx_itr_setting >> 2); } if ((unsigned int )(adapter->q_vector[0])->tx.count != 0U && (unsigned int )(adapter->q_vector[0])->rx.count != 0U) { return (0); } else { } if ((unsigned int )adapter->tx_itr_setting <= 1U) { ec->tx_coalesce_usecs = (__u32 )adapter->tx_itr_setting; } else { ec->tx_coalesce_usecs = (__u32 )((int )adapter->tx_itr_setting >> 2); } return (0); } } static bool ixgbe_update_rsc(struct ixgbe_adapter *adapter ) { struct net_device *netdev ; { netdev = adapter->netdev; if ((adapter->flags2 & 1U) == 0U || (netdev->features & 32768ULL) == 0ULL) { return (0); } else { } if ((unsigned int )adapter->rx_itr_setting == 1U || (unsigned int )adapter->rx_itr_setting > 24U) { if ((adapter->flags2 & 2U) == 0U) { adapter->flags2 = adapter->flags2 | 2U; if (((int )adapter->msg_enable & 2) != 0) { { netdev_info((struct net_device const *)adapter->netdev, "rx-usecs value high enough to re-enable RSC\n"); } } else { } return (1); } else { } } else if ((adapter->flags2 & 2U) != 0U) { adapter->flags2 = adapter->flags2 & 4294967293U; if (((int )adapter->msg_enable & 2) != 0) { { netdev_info((struct net_device const *)adapter->netdev, "rx-usecs set too low, disabling RSC\n"); } } else { } return (1); } else { } return (0); } } static int ixgbe_set_coalesce(struct net_device *netdev , struct ethtool_coalesce *ec ) { struct ixgbe_adapter *adapter ; void *tmp ; struct ixgbe_q_vector *q_vector ; int i ; u16 tx_itr_param ; u16 rx_itr_param ; u16 tx_itr_prev ; bool need_reset ; bool tmp___0 ; { { tmp = netdev_priv((struct net_device const *)netdev); adapter = (struct ixgbe_adapter *)tmp; need_reset = 0; } if ((unsigned int )(adapter->q_vector[0])->tx.count != 0U && (unsigned int )(adapter->q_vector[0])->rx.count != 0U) { if (ec->tx_coalesce_usecs != 0U) { return (-22); } else { } tx_itr_prev = adapter->rx_itr_setting; } else { tx_itr_prev = adapter->tx_itr_setting; } if (ec->rx_coalesce_usecs > 1022U || ec->tx_coalesce_usecs > 1022U) { return (-22); } else { } if (ec->rx_coalesce_usecs > 1U) { adapter->rx_itr_setting = (int )((u16 )ec->rx_coalesce_usecs) << 2U; } else { adapter->rx_itr_setting = (u16 )ec->rx_coalesce_usecs; } if ((unsigned int )adapter->rx_itr_setting == 1U) { rx_itr_param = 200U; } else { rx_itr_param = adapter->rx_itr_setting; } if (ec->tx_coalesce_usecs > 1U) { adapter->tx_itr_setting = (int )((u16 )ec->tx_coalesce_usecs) << 2U; } else { adapter->tx_itr_setting = (u16 )ec->tx_coalesce_usecs; } if ((unsigned int )adapter->tx_itr_setting == 1U) { tx_itr_param = 400U; } else { tx_itr_param = adapter->tx_itr_setting; } if ((unsigned int )(adapter->q_vector[0])->tx.count != 0U && (unsigned int )(adapter->q_vector[0])->rx.count != 0U) { adapter->tx_itr_setting = adapter->rx_itr_setting; } else { } if ((unsigned int )adapter->tx_itr_setting != 1U && (unsigned int )adapter->tx_itr_setting <= 39U) { if ((unsigned int )tx_itr_prev == 1U || (unsigned int )tx_itr_prev > 39U) { need_reset = 1; } else { } } else if ((unsigned int )tx_itr_prev != 1U && (unsigned int )tx_itr_prev <= 39U) { need_reset = 1; } else { } { tmp___0 = ixgbe_update_rsc(adapter); need_reset = ((int )need_reset | (int )tmp___0) != 0; i = 0; } goto ldv_52822; ldv_52821: q_vector = adapter->q_vector[i]; if ((unsigned int )q_vector->tx.count != 0U && (unsigned int )q_vector->rx.count == 0U) { q_vector->itr = tx_itr_param; } else { q_vector->itr = rx_itr_param; } { ixgbe_write_eitr(q_vector); i = i + 1; } ldv_52822: ; if (i < adapter->num_q_vectors) { goto ldv_52821; } else { } if ((int )need_reset) { { ixgbe_do_reset(netdev); } } else { } return (0); } } static int ixgbe_get_ethtool_fdir_entry(struct ixgbe_adapter *adapter , struct ethtool_rxnfc *cmd ) { union ixgbe_atr_input *mask ; struct ethtool_rx_flow_spec *fsp ; struct hlist_node *node2 ; struct ixgbe_fdir_filter *rule ; struct hlist_node *____ptr ; struct hlist_node const *__mptr ; struct ixgbe_fdir_filter *tmp ; struct hlist_node *____ptr___0 ; struct hlist_node const *__mptr___0 ; struct ixgbe_fdir_filter *tmp___0 ; __u32 tmp___1 ; __u32 tmp___2 ; { mask = & adapter->fdir_mask; fsp = & cmd->fs; rule = (struct ixgbe_fdir_filter *)0; cmd->data = (__u64 )((1024 << (int )adapter->fdir_pballoc) + -2); ____ptr = adapter->fdir_filter_list.first; if ((unsigned long )____ptr != (unsigned long )((struct hlist_node *)0)) { __mptr = (struct hlist_node const *)____ptr; tmp = (struct ixgbe_fdir_filter *)__mptr; } else { tmp = (struct ixgbe_fdir_filter *)0; } rule = tmp; goto ldv_52843; ldv_52842: ; if (fsp->location <= (__u32 )rule->sw_idx) { goto ldv_52841; } else { } ____ptr___0 = node2; if ((unsigned long )____ptr___0 != (unsigned long )((struct hlist_node *)0)) { __mptr___0 = (struct hlist_node const *)____ptr___0; tmp___0 = (struct ixgbe_fdir_filter *)__mptr___0; } else { tmp___0 = (struct ixgbe_fdir_filter *)0; } rule = tmp___0; ldv_52843: ; if ((unsigned long )rule != (unsigned long )((struct ixgbe_fdir_filter *)0)) { node2 = rule->fdir_node.next; goto ldv_52842; } else { } ldv_52841: ; if ((unsigned long )rule == (unsigned long )((struct ixgbe_fdir_filter *)0) || fsp->location != (__u32 )rule->sw_idx) { return (-22); } else { } { if ((int )rule->filter.formatted.flow_type == 2) { goto case_2; } else { } if ((int )rule->filter.formatted.flow_type == 1) { goto case_1; } else { } if ((int )rule->filter.formatted.flow_type == 3) { goto case_3; } else { } if ((int )rule->filter.formatted.flow_type == 0) { goto case_0; } else { } goto switch_default; case_2: /* CIL Label */ fsp->flow_type = 1U; goto ldv_52845; case_1: /* CIL Label */ fsp->flow_type = 2U; goto ldv_52845; case_3: /* CIL Label */ fsp->flow_type = 3U; goto ldv_52845; case_0: /* CIL Label */ fsp->flow_type = 13U; fsp->h_u.usr_ip4_spec.ip_ver = 1U; fsp->h_u.usr_ip4_spec.proto = 0U; fsp->m_u.usr_ip4_spec.proto = 0U; goto ldv_52845; switch_default: /* CIL Label */ ; return (-22); switch_break: /* CIL Label */ ; } ldv_52845: { fsp->h_u.tcp_ip4_spec.psrc = rule->filter.formatted.src_port; fsp->m_u.tcp_ip4_spec.psrc = mask->formatted.src_port; fsp->h_u.tcp_ip4_spec.pdst = rule->filter.formatted.dst_port; fsp->m_u.tcp_ip4_spec.pdst = mask->formatted.dst_port; fsp->h_u.tcp_ip4_spec.ip4src = rule->filter.formatted.src_ip[0]; fsp->m_u.tcp_ip4_spec.ip4src = mask->formatted.src_ip[0]; fsp->h_u.tcp_ip4_spec.ip4dst = rule->filter.formatted.dst_ip[0]; fsp->m_u.tcp_ip4_spec.ip4dst = mask->formatted.dst_ip[0]; fsp->h_ext.vlan_tci = rule->filter.formatted.vlan_id; fsp->m_ext.vlan_tci = mask->formatted.vlan_id; fsp->h_ext.vlan_etype = rule->filter.formatted.flex_bytes; fsp->m_ext.vlan_etype = mask->formatted.flex_bytes; tmp___1 = __fswab32((__u32 )rule->filter.formatted.vm_pool); fsp->h_ext.data[1] = tmp___1; tmp___2 = __fswab32((__u32 )mask->formatted.vm_pool); fsp->m_ext.data[1] = tmp___2; fsp->flow_type = fsp->flow_type | 2147483648U; } if ((unsigned int )rule->action == 127U) { fsp->ring_cookie = 0xffffffffffffffffULL; } else { fsp->ring_cookie = (__u64 )rule->action; } return (0); } } static int ixgbe_get_ethtool_fdir_all(struct ixgbe_adapter *adapter , struct ethtool_rxnfc *cmd , u32 *rule_locs ) { struct hlist_node *node2 ; struct ixgbe_fdir_filter *rule ; int cnt ; struct hlist_node *____ptr ; struct hlist_node const *__mptr ; struct ixgbe_fdir_filter *tmp ; struct hlist_node *____ptr___0 ; struct hlist_node const *__mptr___0 ; struct ixgbe_fdir_filter *tmp___0 ; { cnt = 0; cmd->data = (__u64 )((1024 << (int )adapter->fdir_pballoc) + -2); ____ptr = adapter->fdir_filter_list.first; if ((unsigned long )____ptr != (unsigned long )((struct hlist_node *)0)) { __mptr = (struct hlist_node const *)____ptr; tmp = (struct ixgbe_fdir_filter *)__mptr; } else { tmp = (struct ixgbe_fdir_filter *)0; } rule = tmp; goto ldv_52868; ldv_52867: ; if ((__u32 )cnt == cmd->rule_cnt) { return (-90); } else { } *(rule_locs + (unsigned long )cnt) = (u32 )rule->sw_idx; cnt = cnt + 1; ____ptr___0 = node2; if ((unsigned long )____ptr___0 != (unsigned long )((struct hlist_node *)0)) { __mptr___0 = (struct hlist_node const *)____ptr___0; tmp___0 = (struct ixgbe_fdir_filter *)__mptr___0; } else { tmp___0 = (struct ixgbe_fdir_filter *)0; } rule = tmp___0; ldv_52868: ; if ((unsigned long )rule != (unsigned long )((struct ixgbe_fdir_filter *)0)) { node2 = rule->fdir_node.next; goto ldv_52867; } else { } cmd->rule_cnt = (__u32 )cnt; return (0); } } static int ixgbe_get_rss_hash_opts(struct ixgbe_adapter *adapter , struct ethtool_rxnfc *cmd ) { { cmd->data = 0ULL; { if (cmd->flow_type == 1U) { goto case_1; } else { } if (cmd->flow_type == 2U) { goto case_2; } else { } if (cmd->flow_type == 3U) { goto case_3; } else { } if (cmd->flow_type == 4U) { goto case_4; } else { } if (cmd->flow_type == 9U) { goto case_9; } else { } if (cmd->flow_type == 10U) { goto case_10; } else { } if (cmd->flow_type == 16U) { goto case_16; } else { } if (cmd->flow_type == 5U) { goto case_5; } else { } if (cmd->flow_type == 6U) { goto case_6; } else { } if (cmd->flow_type == 7U) { goto case_7; } else { } if (cmd->flow_type == 8U) { goto case_8; } else { } if (cmd->flow_type == 11U) { goto case_11; } else { } if (cmd->flow_type == 12U) { goto case_12; } else { } if (cmd->flow_type == 17U) { goto case_17; } else { } goto switch_default; case_1: /* CIL Label */ cmd->data = cmd->data | 192ULL; case_2: /* CIL Label */ ; if ((adapter->flags2 & 256U) != 0U) { cmd->data = cmd->data | 192ULL; } else { } case_3: /* CIL Label */ ; case_4: /* CIL Label */ ; case_9: /* CIL Label */ ; case_10: /* CIL Label */ ; case_16: /* CIL Label */ cmd->data = cmd->data | 48ULL; goto ldv_52881; case_5: /* CIL Label */ cmd->data = cmd->data | 192ULL; case_6: /* CIL Label */ ; if ((adapter->flags2 & 512U) != 0U) { cmd->data = cmd->data | 192ULL; } else { } case_7: /* CIL Label */ ; case_8: /* CIL Label */ ; case_11: /* CIL Label */ ; case_12: /* CIL Label */ ; case_17: /* CIL Label */ cmd->data = cmd->data | 48ULL; goto ldv_52881; switch_default: /* CIL Label */ ; return (-22); switch_break: /* CIL Label */ ; } ldv_52881: ; return (0); } } static int ixgbe_get_rxnfc(struct net_device *dev , struct ethtool_rxnfc *cmd , u32 *rule_locs ) { struct ixgbe_adapter *adapter ; void *tmp ; int ret ; { { tmp = netdev_priv((struct net_device const *)dev); adapter = (struct ixgbe_adapter *)tmp; ret = -95; } { if (cmd->cmd == 45U) { goto case_45; } else { } if (cmd->cmd == 46U) { goto case_46; } else { } if (cmd->cmd == 47U) { goto case_47; } else { } if (cmd->cmd == 48U) { goto case_48; } else { } if (cmd->cmd == 41U) { goto case_41; } else { } goto switch_default; case_45: /* CIL Label */ cmd->data = (__u64 )adapter->num_rx_queues; ret = 0; goto ldv_52898; case_46: /* CIL Label */ cmd->rule_cnt = (__u32 )adapter->fdir_filter_count; ret = 0; goto ldv_52898; case_47: /* CIL Label */ { ret = ixgbe_get_ethtool_fdir_entry(adapter, cmd); } goto ldv_52898; case_48: /* CIL Label */ { ret = ixgbe_get_ethtool_fdir_all(adapter, cmd, rule_locs); } goto ldv_52898; case_41: /* CIL Label */ { ret = ixgbe_get_rss_hash_opts(adapter, cmd); } goto ldv_52898; switch_default: /* CIL Label */ ; goto ldv_52898; switch_break: /* CIL Label */ ; } ldv_52898: ; return (ret); } } static int ixgbe_update_ethtool_fdir_entry(struct ixgbe_adapter *adapter , struct ixgbe_fdir_filter *input , u16 sw_idx ) { struct ixgbe_hw *hw ; struct hlist_node *node2 ; struct ixgbe_fdir_filter *rule ; struct ixgbe_fdir_filter *parent ; int err ; struct hlist_node *____ptr ; struct hlist_node const *__mptr ; struct ixgbe_fdir_filter *tmp ; struct hlist_node *____ptr___0 ; struct hlist_node const *__mptr___0 ; struct ixgbe_fdir_filter *tmp___0 ; { hw = & adapter->hw; err = -22; parent = (struct ixgbe_fdir_filter *)0; rule = (struct ixgbe_fdir_filter *)0; ____ptr = adapter->fdir_filter_list.first; if ((unsigned long )____ptr != (unsigned long )((struct hlist_node *)0)) { __mptr = (struct hlist_node const *)____ptr; tmp = (struct ixgbe_fdir_filter *)__mptr; } else { tmp = (struct ixgbe_fdir_filter *)0; } rule = tmp; goto ldv_52925; ldv_52924: ; if ((int )rule->sw_idx >= (int )sw_idx) { goto ldv_52923; } else { } parent = rule; ____ptr___0 = node2; if ((unsigned long )____ptr___0 != (unsigned long )((struct hlist_node *)0)) { __mptr___0 = (struct hlist_node const *)____ptr___0; tmp___0 = (struct ixgbe_fdir_filter *)__mptr___0; } else { tmp___0 = (struct ixgbe_fdir_filter *)0; } rule = tmp___0; ldv_52925: ; if ((unsigned long )rule != (unsigned long )((struct ixgbe_fdir_filter *)0)) { node2 = rule->fdir_node.next; goto ldv_52924; } else { } ldv_52923: ; if ((unsigned long )rule != (unsigned long )((struct ixgbe_fdir_filter *)0) && (int )rule->sw_idx == (int )sw_idx) { if ((unsigned long )input == (unsigned long )((struct ixgbe_fdir_filter *)0) || (int )rule->filter.formatted.bkt_hash != (int )input->filter.formatted.bkt_hash) { { err = ixgbe_fdir_erase_perfect_filter_82599(hw, & rule->filter, (int )sw_idx); } } else { } { hlist_del(& rule->fdir_node); kfree((void const *)rule); adapter->fdir_filter_count = adapter->fdir_filter_count - 1; } } else { } if ((unsigned long )input == (unsigned long )((struct ixgbe_fdir_filter *)0)) { return (err); } else { } { INIT_HLIST_NODE(& input->fdir_node); } if ((unsigned long )parent != (unsigned long )((struct ixgbe_fdir_filter *)0)) { { hlist_add_after(& parent->fdir_node, & input->fdir_node); } } else { { hlist_add_head(& input->fdir_node, & adapter->fdir_filter_list); } } adapter->fdir_filter_count = adapter->fdir_filter_count + 1; return (0); } } static int ixgbe_flowspec_to_flow_type(struct ethtool_rx_flow_spec *fsp , u8 *flow_type ) { { { if ((fsp->flow_type & 2147483647U) == 1U) { goto case_1; } else { } if ((fsp->flow_type & 2147483647U) == 2U) { goto case_2; } else { } if ((fsp->flow_type & 2147483647U) == 3U) { goto case_3; } else { } if ((fsp->flow_type & 2147483647U) == 13U) { goto case_13; } else { } goto switch_default___0; case_1: /* CIL Label */ *flow_type = 2U; goto ldv_52931; case_2: /* CIL Label */ *flow_type = 1U; goto ldv_52931; case_3: /* CIL Label */ *flow_type = 3U; goto ldv_52931; case_13: /* CIL Label */ ; { if ((int )fsp->h_u.usr_ip4_spec.proto == 6) { goto case_6; } else { } if ((int )fsp->h_u.usr_ip4_spec.proto == 17) { goto case_17; } else { } if ((int )fsp->h_u.usr_ip4_spec.proto == 132) { goto case_132; } else { } if ((int )fsp->h_u.usr_ip4_spec.proto == 0) { goto case_0; } else { } goto switch_default; case_6: /* CIL Label */ *flow_type = 2U; goto ldv_52936; case_17: /* CIL Label */ *flow_type = 1U; goto ldv_52936; case_132: /* CIL Label */ *flow_type = 3U; goto ldv_52936; case_0: /* CIL Label */ ; if ((unsigned int )fsp->m_u.usr_ip4_spec.proto == 0U) { *flow_type = 0U; goto ldv_52936; } else { } switch_default: /* CIL Label */ ; return (0); switch_break___0: /* CIL Label */ ; } ldv_52936: ; goto ldv_52931; switch_default___0: /* CIL Label */ ; return (0); switch_break: /* CIL Label */ ; } ldv_52931: ; return (1); } } static int ixgbe_add_ethtool_fdir_entry(struct ixgbe_adapter *adapter , struct ethtool_rxnfc *cmd ) { struct ethtool_rx_flow_spec *fsp ; struct ixgbe_hw *hw ; struct ixgbe_fdir_filter *input ; union ixgbe_atr_input mask ; int err ; void *tmp ; int tmp___0 ; __u32 tmp___1 ; __u32 tmp___2 ; int tmp___3 ; int tmp___4 ; { fsp = & cmd->fs; hw = & adapter->hw; if ((adapter->flags & 524288U) == 0U) { return (-95); } else { } if (fsp->ring_cookie != 0xffffffffffffffffULL && fsp->ring_cookie >= (__u64 )adapter->num_rx_queues) { return (-22); } else { } if (fsp->location >= (__u32 )((1024 << (int )adapter->fdir_pballoc) + -2)) { if ((int )adapter->msg_enable & 1) { { netdev_err((struct net_device const *)adapter->netdev, "Location out of range\n"); } } else { } return (-22); } else { } { tmp = kzalloc(64UL, 32U); input = (struct ixgbe_fdir_filter *)tmp; } if ((unsigned long )input == (unsigned long )((struct ixgbe_fdir_filter *)0)) { return (-12); } else { } { memset((void *)(& mask), 0, 44UL); input->sw_idx = (u16 )fsp->location; tmp___0 = ixgbe_flowspec_to_flow_type(fsp, & input->filter.formatted.flow_type); } if (tmp___0 == 0) { if ((int )adapter->msg_enable & 1) { { netdev_err((struct net_device const *)adapter->netdev, "Unrecognized flow type\n"); } } else { } goto err_out; } else { } mask.formatted.flow_type = 7U; if ((unsigned int )input->filter.formatted.flow_type == 0U) { mask.formatted.flow_type = (unsigned int )mask.formatted.flow_type & 4U; } else { } input->filter.formatted.src_ip[0] = fsp->h_u.tcp_ip4_spec.ip4src; mask.formatted.src_ip[0] = fsp->m_u.tcp_ip4_spec.ip4src; input->filter.formatted.dst_ip[0] = fsp->h_u.tcp_ip4_spec.ip4dst; mask.formatted.dst_ip[0] = fsp->m_u.tcp_ip4_spec.ip4dst; input->filter.formatted.src_port = fsp->h_u.tcp_ip4_spec.psrc; mask.formatted.src_port = fsp->m_u.tcp_ip4_spec.psrc; input->filter.formatted.dst_port = fsp->h_u.tcp_ip4_spec.pdst; mask.formatted.dst_port = fsp->m_u.tcp_ip4_spec.pdst; if ((int )fsp->flow_type < 0) { { tmp___1 = __fswab32(fsp->h_ext.data[1]); input->filter.formatted.vm_pool = (unsigned char )tmp___1; tmp___2 = __fswab32(fsp->m_ext.data[1]); mask.formatted.vm_pool = (unsigned char )tmp___2; input->filter.formatted.vlan_id = fsp->h_ext.vlan_tci; mask.formatted.vlan_id = fsp->m_ext.vlan_tci; input->filter.formatted.flex_bytes = fsp->h_ext.vlan_etype; mask.formatted.flex_bytes = fsp->m_ext.vlan_etype; } } else { } if (fsp->ring_cookie == 0xffffffffffffffffULL) { input->action = 127U; } else { input->action = (u16 )fsp->ring_cookie; } { spin_lock(& adapter->fdir_perfect_lock); tmp___4 = hlist_empty((struct hlist_head const *)(& adapter->fdir_filter_list)); } if (tmp___4 != 0) { { memcpy((void *)(& adapter->fdir_mask), (void const *)(& mask), 44UL); err = ixgbe_fdir_set_input_mask_82599(hw, & mask); } if (err != 0) { if ((int )adapter->msg_enable & 1) { { netdev_err((struct net_device const *)adapter->netdev, "Error writing mask\n"); } } else { } goto err_out_w_lock; } else { } } else { { tmp___3 = memcmp((void const *)(& adapter->fdir_mask), (void const *)(& mask), 44UL); } if (tmp___3 != 0) { if ((int )adapter->msg_enable & 1) { { netdev_err((struct net_device const *)adapter->netdev, "Only one mask supported per port\n"); } } else { } goto err_out_w_lock; } else { } } { ixgbe_atr_compute_perfect_hash_82599(& input->filter, & mask); err = ixgbe_fdir_write_perfect_filter_82599(hw, & input->filter, (int )input->sw_idx, (unsigned int )input->action != 127U ? (int )(adapter->rx_ring[(int )input->action])->reg_idx : 127); } if (err != 0) { goto err_out_w_lock; } else { } { ixgbe_update_ethtool_fdir_entry(adapter, input, (int )input->sw_idx); spin_unlock(& adapter->fdir_perfect_lock); } return (err); err_out_w_lock: { spin_unlock(& adapter->fdir_perfect_lock); } err_out: { kfree((void const *)input); } return (-22); } } static int ixgbe_del_ethtool_fdir_entry(struct ixgbe_adapter *adapter , struct ethtool_rxnfc *cmd ) { struct ethtool_rx_flow_spec *fsp ; int err ; { { fsp = & cmd->fs; spin_lock(& adapter->fdir_perfect_lock); err = ixgbe_update_ethtool_fdir_entry(adapter, (struct ixgbe_fdir_filter *)0, (int )((u16 )fsp->location)); spin_unlock(& adapter->fdir_perfect_lock); } return (err); } } static int ixgbe_set_rss_hash_opt(struct ixgbe_adapter *adapter , struct ethtool_rxnfc *nfc ) { u32 flags2 ; struct ixgbe_hw *hw ; u32 mrqc ; u32 tmp ; { flags2 = adapter->flags2; if ((nfc->data & 0xffffffffffffff0fULL) != 0ULL) { return (-22); } else { } { if (nfc->flow_type == 1U) { goto case_1; } else { } if (nfc->flow_type == 5U) { goto case_5; } else { } if (nfc->flow_type == 2U) { goto case_2; } else { } if (nfc->flow_type == 6U) { goto case_6; } else { } if (nfc->flow_type == 4U) { goto case_4; } else { } if (nfc->flow_type == 9U) { goto case_9; } else { } if (nfc->flow_type == 10U) { goto case_10; } else { } if (nfc->flow_type == 3U) { goto case_3; } else { } if (nfc->flow_type == 8U) { goto case_8; } else { } if (nfc->flow_type == 11U) { goto case_11; } else { } if (nfc->flow_type == 12U) { goto case_12; } else { } if (nfc->flow_type == 7U) { goto case_7; } else { } goto switch_default___1; case_1: /* CIL Label */ ; case_5: /* CIL Label */ ; if (*((unsigned long *)nfc + 1UL) != 240UL) { return (-22); } else { } goto ldv_52966; case_2: /* CIL Label */ ; if (*((unsigned long *)nfc + 1UL) != 48UL) { return (-22); } else { } { if ((nfc->data & 192ULL) == 0ULL) { goto case_0; } else { } if ((nfc->data & 192ULL) == 192ULL) { goto case_192; } else { } goto switch_default; case_0: /* CIL Label */ flags2 = flags2 & 4294967039U; goto ldv_52969; case_192: /* CIL Label */ flags2 = flags2 | 256U; goto ldv_52969; switch_default: /* CIL Label */ ; return (-22); switch_break___0: /* CIL Label */ ; } ldv_52969: ; goto ldv_52966; case_6: /* CIL Label */ ; if (*((unsigned long *)nfc + 1UL) != 48UL) { return (-22); } else { } { if ((nfc->data & 192ULL) == 0ULL) { goto case_0___0; } else { } if ((nfc->data & 192ULL) == 192ULL) { goto case_192___0; } else { } goto switch_default___0; case_0___0: /* CIL Label */ flags2 = flags2 & 4294966783U; goto ldv_52974; case_192___0: /* CIL Label */ flags2 = flags2 | 512U; goto ldv_52974; switch_default___0: /* CIL Label */ ; return (-22); switch_break___1: /* CIL Label */ ; } ldv_52974: ; goto ldv_52966; case_4: /* CIL Label */ ; case_9: /* CIL Label */ ; case_10: /* CIL Label */ ; case_3: /* CIL Label */ ; case_8: /* CIL Label */ ; case_11: /* CIL Label */ ; case_12: /* CIL Label */ ; case_7: /* CIL Label */ ; if (*((unsigned long *)nfc + 1UL) != 48UL) { return (-22); } else { } goto ldv_52966; switch_default___1: /* CIL Label */ ; return (-22); switch_break: /* CIL Label */ ; } ldv_52966: ; if (flags2 != adapter->flags2) { { hw = & adapter->hw; tmp = ixgbe_read_reg(hw, 22552U); mrqc = tmp; } if ((flags2 & 768U) != 0U && (adapter->flags2 & 768U) == 0U) { if ((int )adapter->msg_enable & 1) { { netdev_warn((struct net_device const *)adapter->netdev, "enabling UDP RSS: fragmented packets may arrive out of order to the stack above\n"); } } else { } } else { } adapter->flags2 = flags2; mrqc = mrqc | 3342336U; mrqc = mrqc & 4282384383U; if ((flags2 & 256U) != 0U) { mrqc = mrqc | 4194304U; } else { } if ((flags2 & 512U) != 0U) { mrqc = mrqc | 8388608U; } else { } { ixgbe_write_reg(hw, 22552U, mrqc); } } else { } return (0); } } static int ixgbe_set_rxnfc(struct net_device *dev , struct ethtool_rxnfc *cmd ) { struct ixgbe_adapter *adapter ; void *tmp ; int ret ; { { tmp = netdev_priv((struct net_device const *)dev); adapter = (struct ixgbe_adapter *)tmp; ret = -95; } { if (cmd->cmd == 50U) { goto case_50; } else { } if (cmd->cmd == 49U) { goto case_49; } else { } if (cmd->cmd == 42U) { goto case_42; } else { } goto switch_default; case_50: /* CIL Label */ { ret = ixgbe_add_ethtool_fdir_entry(adapter, cmd); } goto ldv_52995; case_49: /* CIL Label */ { ret = ixgbe_del_ethtool_fdir_entry(adapter, cmd); } goto ldv_52995; case_42: /* CIL Label */ { ret = ixgbe_set_rss_hash_opt(adapter, cmd); } goto ldv_52995; switch_default: /* CIL Label */ ; goto ldv_52995; switch_break: /* CIL Label */ ; } ldv_52995: ; return (ret); } } static int ixgbe_get_ts_info(struct net_device *dev , struct ethtool_ts_info *info ) { struct ixgbe_adapter *adapter ; void *tmp ; int tmp___0 ; { { tmp = netdev_priv((struct net_device const *)dev); adapter = (struct ixgbe_adapter *)tmp; } { if ((unsigned int )adapter->hw.mac.type == 3U) { goto case_3; } else { } if ((unsigned int )adapter->hw.mac.type == 2U) { goto case_2; } else { } goto switch_default; case_3: /* CIL Label */ ; case_2: /* CIL Label */ info->so_timestamping = 95U; if ((unsigned long )adapter->ptp_clock != (unsigned long )((struct ptp_clock *)0)) { { info->phc_index = ptp_clock_index(adapter->ptp_clock); } } else { info->phc_index = -1; } info->tx_types = 3U; info->rx_filters = 32753U; goto ldv_53006; switch_default: /* CIL Label */ { tmp___0 = ethtool_op_get_ts_info(dev, info); } return (tmp___0); switch_break: /* CIL Label */ ; } ldv_53006: ; return (0); } } static unsigned int ixgbe_max_channels(struct ixgbe_adapter *adapter ) { unsigned int max_combined ; u8 tcs ; int tmp ; { { tmp = netdev_get_num_tc(adapter->netdev); tcs = (u8 )tmp; } if ((adapter->flags & 8U) == 0U) { max_combined = 1U; } else if ((adapter->flags & 8388608U) != 0U) { max_combined = 1U; } else if ((unsigned int )tcs > 1U) { if ((unsigned int )adapter->hw.mac.type == 1U) { max_combined = 4U; } else if ((unsigned int )tcs > 4U) { max_combined = 8U; } else { max_combined = 16U; } } else if (adapter->atr_sample_rate != 0U) { max_combined = 63U; } else { max_combined = 16U; } return (max_combined); } } static void ixgbe_get_channels(struct net_device *dev , struct ethtool_channels *ch ) { struct ixgbe_adapter *adapter ; void *tmp ; int tmp___0 ; { { tmp = netdev_priv((struct net_device const *)dev); adapter = (struct ixgbe_adapter *)tmp; ch->max_combined = ixgbe_max_channels(adapter); } if ((adapter->flags & 8U) != 0U) { ch->max_other = 1U; ch->other_count = 1U; } else { } ch->combined_count = (__u32 )adapter->ring_feature[2].indices; if (ch->combined_count == 1U) { return; } else { } if ((adapter->flags & 8388608U) != 0U) { return; } else { } { tmp___0 = netdev_get_num_tc(dev); } if (tmp___0 > 1) { return; } else { } if (adapter->atr_sample_rate == 0U) { return; } else { } ch->combined_count = (__u32 )adapter->ring_feature[3].indices; return; } } static int ixgbe_set_channels(struct net_device *dev , struct ethtool_channels *ch ) { struct ixgbe_adapter *adapter ; void *tmp ; unsigned int count ; unsigned int tmp___0 ; int tmp___1 ; int tmp___2 ; { { tmp = netdev_priv((struct net_device const *)dev); adapter = (struct ixgbe_adapter *)tmp; count = ch->combined_count; } if ((count == 0U || ch->rx_count != 0U) || ch->tx_count != 0U) { return (-22); } else { } if (ch->other_count != 1U) { return (-22); } else { } { tmp___0 = ixgbe_max_channels(adapter); } if (count > tmp___0) { return (-22); } else { } adapter->ring_feature[3].limit = (u16 )count; if (count > 16U) { count = 16U; } else { } adapter->ring_feature[2].limit = (u16 )count; if (count > 8U) { count = 8U; } else { } { adapter->ring_feature[4].limit = (u16 )count; tmp___1 = netdev_get_num_tc(dev); tmp___2 = ixgbe_setup_tc(dev, (int )((u8 )tmp___1)); } return (tmp___2); } } static int ixgbe_get_module_info(struct net_device *dev , struct ethtool_modinfo *modinfo ) { struct ixgbe_adapter *adapter ; void *tmp ; struct ixgbe_hw *hw ; u32 status ; u8 sff8472_rev ; u8 addr_mode ; bool page_swap ; s32 tmp___0 ; s32 tmp___1 ; { { tmp = netdev_priv((struct net_device const *)dev); adapter = (struct ixgbe_adapter *)tmp; hw = & adapter->hw; page_swap = 0; tmp___0 = (*(hw->phy.ops.read_i2c_eeprom))(hw, 94, & sff8472_rev); status = (u32 )tmp___0; } if (status != 0U) { return (-5); } else { } { tmp___1 = (*(hw->phy.ops.read_i2c_eeprom))(hw, 92, & addr_mode); status = (u32 )tmp___1; } if (status != 0U) { return (-5); } else { } if (((int )addr_mode & 4) != 0) { if ((int )adapter->msg_enable & 1) { { netdev_err((struct net_device const *)adapter->netdev, "Address change required to access page 0xA2, but not supported. Please report the module type to the driver maintainers.\n"); } } else { } page_swap = 1; } else { } if ((unsigned int )sff8472_rev == 0U || (int )page_swap) { modinfo->type = 1U; modinfo->eeprom_len = 256U; } else { modinfo->type = 2U; modinfo->eeprom_len = 512U; } return (0); } } static int ixgbe_get_module_eeprom(struct net_device *dev , struct ethtool_eeprom *ee , u8 *data ) { struct ixgbe_adapter *adapter ; void *tmp ; struct ixgbe_hw *hw ; u32 status ; u8 databyte ; int i ; int tmp___0 ; s32 tmp___1 ; s32 tmp___2 ; { { tmp = netdev_priv((struct net_device const *)dev); adapter = (struct ixgbe_adapter *)tmp; hw = & adapter->hw; status = 4294967279U; databyte = 255U; i = 0; } if (ee->len == 0U) { return (-22); } else { } i = (int )ee->offset; goto ldv_53045; ldv_53044: { tmp___0 = constant_test_bit(5L, (unsigned long const volatile *)(& adapter->state)); } if (tmp___0 != 0) { return (-16); } else { } if (i <= 255) { { tmp___1 = (*(hw->phy.ops.read_i2c_eeprom))(hw, (int )((u8 )i), & databyte); status = (u32 )tmp___1; } } else { { tmp___2 = (*(hw->phy.ops.read_i2c_sff8472))(hw, (int )((u8 )i), & databyte); status = (u32 )tmp___2; } } if (status != 0U) { return (-5); } else { } *(data + (unsigned long )((__u32 )i - ee->offset)) = databyte; i = i + 1; ldv_53045: ; if ((__u32 )i < ee->offset + ee->len) { goto ldv_53044; } else { } return (0); } } static struct ethtool_ops const ixgbe_ethtool_ops = {& ixgbe_get_settings, & ixgbe_set_settings, & ixgbe_get_drvinfo, & ixgbe_get_regs_len, & ixgbe_get_regs, & ixgbe_get_wol, & ixgbe_set_wol, & ixgbe_get_msglevel, & ixgbe_set_msglevel, & ixgbe_nway_reset, & ethtool_op_get_link, & ixgbe_get_eeprom_len, & ixgbe_get_eeprom, & ixgbe_set_eeprom, & ixgbe_get_coalesce, & ixgbe_set_coalesce, & ixgbe_get_ringparam, & ixgbe_set_ringparam, & ixgbe_get_pauseparam, & ixgbe_set_pauseparam, & ixgbe_diag_test, & ixgbe_get_strings, & ixgbe_set_phys_id, & ixgbe_get_ethtool_stats, 0, 0, 0, 0, & ixgbe_get_sset_count, & ixgbe_get_rxnfc, & ixgbe_set_rxnfc, 0, 0, 0, 0, 0, & ixgbe_get_channels, & ixgbe_set_channels, 0, 0, 0, & ixgbe_get_ts_info, & ixgbe_get_module_info, & ixgbe_get_module_eeprom, 0, 0}; void ixgbe_set_ethtool_ops(struct net_device *netdev ) { { netdev->ethtool_ops = & ixgbe_ethtool_ops; return; } } void ldv_dispatch_irq_deregister_18_1(int arg0 ) ; void ldv_dispatch_irq_register_25_2(int arg0 , enum irqreturn (*arg1)(int , void * ) , enum irqreturn (*arg2)(int , void * ) , void *arg3 ) ; enum irqreturn ldv_interrupt_instance_handler_5_5(enum irqreturn (*arg0)(int , void * ) , int arg1 , void *arg2 ) ; void ldv_switch_automaton_state_5_1(void) ; int ldv_statevar_5 ; enum irqreturn (*ldv_5_callback_handler)(int , void * ) = & ixgbe_test_intr; void (*ldv_6_callback_get_channels)(struct net_device * , struct ethtool_channels * ) = & ixgbe_get_channels; int (*ldv_6_callback_get_coalesce)(struct net_device * , struct ethtool_coalesce * ) = & ixgbe_get_coalesce; void (*ldv_6_callback_get_drvinfo)(struct net_device * , struct ethtool_drvinfo * ) = & ixgbe_get_drvinfo; int (*ldv_6_callback_get_eeprom)(struct net_device * , struct ethtool_eeprom * , unsigned char * ) = & ixgbe_get_eeprom; int (*ldv_6_callback_get_eeprom_len)(struct net_device * ) = & ixgbe_get_eeprom_len; void (*ldv_6_callback_get_ethtool_stats)(struct net_device * , struct ethtool_stats * , unsigned long long * ) = & ixgbe_get_ethtool_stats; unsigned int (*ldv_6_callback_get_link)(struct net_device * ) = & ethtool_op_get_link; int (*ldv_6_callback_get_module_eeprom)(struct net_device * , struct ethtool_eeprom * , unsigned char * ) = & ixgbe_get_module_eeprom; int (*ldv_6_callback_get_module_info)(struct net_device * , struct ethtool_modinfo * ) = & ixgbe_get_module_info; unsigned int (*ldv_6_callback_get_msglevel)(struct net_device * ) = & ixgbe_get_msglevel; void (*ldv_6_callback_get_pauseparam)(struct net_device * , struct ethtool_pauseparam * ) = & ixgbe_get_pauseparam; void (*ldv_6_callback_get_regs)(struct net_device * , struct ethtool_regs * , void * ) = & ixgbe_get_regs; int (*ldv_6_callback_get_regs_len)(struct net_device * ) = & ixgbe_get_regs_len; void (*ldv_6_callback_get_ringparam)(struct net_device * , struct ethtool_ringparam * ) = & ixgbe_get_ringparam; int (*ldv_6_callback_get_rxnfc)(struct net_device * , struct ethtool_rxnfc * , unsigned int * ) = & ixgbe_get_rxnfc; int (*ldv_6_callback_get_settings)(struct net_device * , struct ethtool_cmd * ) = & ixgbe_get_settings; int (*ldv_6_callback_get_sset_count)(struct net_device * , int ) = & ixgbe_get_sset_count; void (*ldv_6_callback_get_strings)(struct net_device * , unsigned int , unsigned char * ) = & ixgbe_get_strings; int (*ldv_6_callback_get_ts_info)(struct net_device * , struct ethtool_ts_info * ) = & ixgbe_get_ts_info; void (*ldv_6_callback_get_wol)(struct net_device * , struct ethtool_wolinfo * ) = & ixgbe_get_wol; int (*ldv_6_callback_nway_reset)(struct net_device * ) = & ixgbe_nway_reset; void (*ldv_6_callback_self_test)(struct net_device * , struct ethtool_test * , unsigned long long * ) = & ixgbe_diag_test; int (*ldv_6_callback_set_channels)(struct net_device * , struct ethtool_channels * ) = & ixgbe_set_channels; int (*ldv_6_callback_set_coalesce)(struct net_device * , struct ethtool_coalesce * ) = & ixgbe_set_coalesce; int (*ldv_6_callback_set_eeprom)(struct net_device * , struct ethtool_eeprom * , unsigned char * ) = & ixgbe_set_eeprom; void (*ldv_6_callback_set_msglevel)(struct net_device * , unsigned int ) = & ixgbe_set_msglevel; int (*ldv_6_callback_set_pauseparam)(struct net_device * , struct ethtool_pauseparam * ) = & ixgbe_set_pauseparam; int (*ldv_6_callback_set_phys_id)(struct net_device * , enum ethtool_phys_id_state ) = & ixgbe_set_phys_id; int (*ldv_6_callback_set_ringparam)(struct net_device * , struct ethtool_ringparam * ) = & ixgbe_set_ringparam; int (*ldv_6_callback_set_rxnfc)(struct net_device * , struct ethtool_rxnfc * ) = & ixgbe_set_rxnfc; int (*ldv_6_callback_set_settings)(struct net_device * , struct ethtool_cmd * ) = & ixgbe_set_settings; int (*ldv_6_callback_set_wol)(struct net_device * , struct ethtool_wolinfo * ) = & ixgbe_set_wol; void ldv_dispatch_irq_deregister_18_1(int arg0 ) { int tmp ; { { tmp = ldv_undef_int(); } { if (tmp == 0) { goto case_0; } else { } if (tmp == 1) { goto case_1; } else { } if (tmp == 2) { goto case_2; } else { } if (tmp == 3) { goto case_3; } else { } goto switch_default; case_0: /* CIL Label */ { ldv_2_line_line = arg0; ldv_switch_automaton_state_2_1(); } goto ldv_53586; case_1: /* CIL Label */ { ldv_3_line_line = arg0; ldv_switch_automaton_state_3_1(); } goto ldv_53586; case_2: /* CIL Label */ { ldv_4_line_line = arg0; ldv_switch_automaton_state_4_1(); } goto ldv_53586; case_3: /* CIL Label */ { ldv_5_line_line = arg0; ldv_switch_automaton_state_5_1(); } goto ldv_53586; switch_default: /* CIL Label */ { ldv_stop(); } switch_break: /* CIL Label */ ; } ldv_53586: ; return; } } void ldv_dispatch_irq_register_25_2(int arg0 , enum irqreturn (*arg1)(int , void * ) , enum irqreturn (*arg2)(int , void * ) , void *arg3 ) { int tmp ; { { tmp = ldv_undef_int(); } { if (tmp == 0) { goto case_0; } else { } if (tmp == 1) { goto case_1; } else { } if (tmp == 2) { goto case_2; } else { } if (tmp == 3) { goto case_3; } else { } goto switch_default; case_0: /* CIL Label */ { ldv_2_line_line = arg0; ldv_2_callback_handler = arg1; ldv_2_thread_thread = arg2; ldv_2_data_data = arg3; ldv_switch_automaton_state_2_6(); } goto ldv_53603; case_1: /* CIL Label */ { ldv_3_line_line = arg0; ldv_3_callback_handler = arg1; ldv_3_thread_thread = arg2; ldv_3_data_data = arg3; ldv_switch_automaton_state_3_6(); } goto ldv_53603; case_2: /* CIL Label */ { ldv_4_line_line = arg0; ldv_4_callback_handler = arg1; ldv_4_thread_thread = arg2; ldv_4_data_data = arg3; ldv_switch_automaton_state_4_6(); } goto ldv_53603; case_3: /* CIL Label */ { ldv_5_line_line = arg0; ldv_5_callback_handler = arg1; ldv_5_thread_thread = arg2; ldv_5_data_data = arg3; ldv_switch_automaton_state_5_6(); } goto ldv_53603; switch_default: /* CIL Label */ { ldv_stop(); } switch_break: /* CIL Label */ ; } ldv_53603: ; return; } } void ldv_dummy_resourceless_instance_callback_6_12(int (*arg0)(struct net_device * ) , struct net_device *arg1 ) { { { ixgbe_get_eeprom_len(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_6_13(void (*arg0)(struct net_device * , struct ethtool_stats * , unsigned long long * ) , struct net_device *arg1 , struct ethtool_stats *arg2 , unsigned long long *arg3 ) { { { ixgbe_get_ethtool_stats(arg1, arg2, arg3); } return; } } void ldv_dummy_resourceless_instance_callback_6_147(int (*arg0)(struct net_device * ) , struct net_device *arg1 ) { { { ixgbe_nway_reset(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_6_148(void (*arg0)(struct net_device * , struct ethtool_test * , unsigned long long * ) , struct net_device *arg1 , struct ethtool_test *arg2 , unsigned long long *arg3 ) { { { ixgbe_diag_test(arg1, arg2, arg3); } return; } } void ldv_dummy_resourceless_instance_callback_6_151(int (*arg0)(struct net_device * , struct ethtool_channels * ) , struct net_device *arg1 , struct ethtool_channels *arg2 ) { { { ixgbe_set_channels(arg1, arg2); } return; } } void ldv_dummy_resourceless_instance_callback_6_152(int (*arg0)(struct net_device * , struct ethtool_coalesce * ) , struct net_device *arg1 , struct ethtool_coalesce *arg2 ) { { { ixgbe_set_coalesce(arg1, arg2); } return; } } void ldv_dummy_resourceless_instance_callback_6_153(int (*arg0)(struct net_device * , struct ethtool_eeprom * , unsigned char * ) , struct net_device *arg1 , struct ethtool_eeprom *arg2 , unsigned char *arg3 ) { { { ixgbe_set_eeprom(arg1, arg2, arg3); } return; } } void ldv_dummy_resourceless_instance_callback_6_156(void (*arg0)(struct net_device * , unsigned int ) , struct net_device *arg1 , unsigned int arg2 ) { { { ixgbe_set_msglevel(arg1, arg2); } return; } } void ldv_dummy_resourceless_instance_callback_6_159(int (*arg0)(struct net_device * , struct ethtool_pauseparam * ) , struct net_device *arg1 , struct ethtool_pauseparam *arg2 ) { { { ixgbe_set_pauseparam(arg1, arg2); } return; } } void ldv_dummy_resourceless_instance_callback_6_16(unsigned int (*arg0)(struct net_device * ) , struct net_device *arg1 ) { { { ethtool_op_get_link(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_6_160(int (*arg0)(struct net_device * , enum ethtool_phys_id_state ) , struct net_device *arg1 , enum ethtool_phys_id_state arg2 ) { { { ixgbe_set_phys_id(arg1, arg2); } return; } } void ldv_dummy_resourceless_instance_callback_6_161(int (*arg0)(struct net_device * , struct ethtool_ringparam * ) , struct net_device *arg1 , struct ethtool_ringparam *arg2 ) { { { ixgbe_set_ringparam(arg1, arg2); } return; } } void ldv_dummy_resourceless_instance_callback_6_162(int (*arg0)(struct net_device * , struct ethtool_rxnfc * ) , struct net_device *arg1 , struct ethtool_rxnfc *arg2 ) { { { ixgbe_set_rxnfc(arg1, arg2); } return; } } void ldv_dummy_resourceless_instance_callback_6_163(int (*arg0)(struct net_device * , struct ethtool_cmd * ) , struct net_device *arg1 , struct ethtool_cmd *arg2 ) { { { ixgbe_set_settings(arg1, arg2); } return; } } void ldv_dummy_resourceless_instance_callback_6_164(int (*arg0)(struct net_device * , struct ethtool_wolinfo * ) , struct net_device *arg1 , struct ethtool_wolinfo *arg2 ) { { { ixgbe_set_wol(arg1, arg2); } return; } } void ldv_dummy_resourceless_instance_callback_6_17(int (*arg0)(struct net_device * , struct ethtool_eeprom * , unsigned char * ) , struct net_device *arg1 , struct ethtool_eeprom *arg2 , unsigned char *arg3 ) { { { ixgbe_get_module_eeprom(arg1, arg2, arg3); } return; } } void ldv_dummy_resourceless_instance_callback_6_20(int (*arg0)(struct net_device * , struct ethtool_modinfo * ) , struct net_device *arg1 , struct ethtool_modinfo *arg2 ) { { { ixgbe_get_module_info(arg1, arg2); } return; } } void ldv_dummy_resourceless_instance_callback_6_21(unsigned int (*arg0)(struct net_device * ) , struct net_device *arg1 ) { { { ixgbe_get_msglevel(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_6_22(void (*arg0)(struct net_device * , struct ethtool_pauseparam * ) , struct net_device *arg1 , struct ethtool_pauseparam *arg2 ) { { { ixgbe_get_pauseparam(arg1, arg2); } return; } } void ldv_dummy_resourceless_instance_callback_6_23(void (*arg0)(struct net_device * , struct ethtool_regs * , void * ) , struct net_device *arg1 , struct ethtool_regs *arg2 , void *arg3 ) { { { ixgbe_get_regs(arg1, arg2, arg3); } return; } } void ldv_dummy_resourceless_instance_callback_6_24(int (*arg0)(struct net_device * ) , struct net_device *arg1 ) { { { ixgbe_get_regs_len(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_6_25(void (*arg0)(struct net_device * , struct ethtool_ringparam * ) , struct net_device *arg1 , struct ethtool_ringparam *arg2 ) { { { ixgbe_get_ringparam(arg1, arg2); } return; } } void ldv_dummy_resourceless_instance_callback_6_26(int (*arg0)(struct net_device * , struct ethtool_rxnfc * , unsigned int * ) , struct net_device *arg1 , struct ethtool_rxnfc *arg2 , unsigned int *arg3 ) { { { ixgbe_get_rxnfc(arg1, arg2, arg3); } return; } } void ldv_dummy_resourceless_instance_callback_6_29(int (*arg0)(struct net_device * , struct ethtool_cmd * ) , struct net_device *arg1 , struct ethtool_cmd *arg2 ) { { { ixgbe_get_settings(arg1, arg2); } return; } } void ldv_dummy_resourceless_instance_callback_6_3(void (*arg0)(struct net_device * , struct ethtool_channels * ) , struct net_device *arg1 , struct ethtool_channels *arg2 ) { { { ixgbe_get_channels(arg1, arg2); } return; } } void ldv_dummy_resourceless_instance_callback_6_30(int (*arg0)(struct net_device * , int ) , struct net_device *arg1 , int arg2 ) { { { ixgbe_get_sset_count(arg1, arg2); } return; } } void ldv_dummy_resourceless_instance_callback_6_33(void (*arg0)(struct net_device * , unsigned int , unsigned char * ) , struct net_device *arg1 , unsigned int arg2 , unsigned char *arg3 ) { { { ixgbe_get_strings(arg1, arg2, arg3); } return; } } void ldv_dummy_resourceless_instance_callback_6_36(int (*arg0)(struct net_device * , struct ethtool_ts_info * ) , struct net_device *arg1 , struct ethtool_ts_info *arg2 ) { { { ixgbe_get_ts_info(arg1, arg2); } return; } } void ldv_dummy_resourceless_instance_callback_6_37(void (*arg0)(struct net_device * , struct ethtool_wolinfo * ) , struct net_device *arg1 , struct ethtool_wolinfo *arg2 ) { { { ixgbe_get_wol(arg1, arg2); } return; } } void ldv_dummy_resourceless_instance_callback_6_7(int (*arg0)(struct net_device * , struct ethtool_coalesce * ) , struct net_device *arg1 , struct ethtool_coalesce *arg2 ) { { { ixgbe_get_coalesce(arg1, arg2); } return; } } void ldv_dummy_resourceless_instance_callback_6_8(void (*arg0)(struct net_device * , struct ethtool_drvinfo * ) , struct net_device *arg1 , struct ethtool_drvinfo *arg2 ) { { { ixgbe_get_drvinfo(arg1, arg2); } return; } } void ldv_dummy_resourceless_instance_callback_6_9(int (*arg0)(struct net_device * , struct ethtool_eeprom * , unsigned char * ) , struct net_device *arg1 , struct ethtool_eeprom *arg2 , unsigned char *arg3 ) { { { ixgbe_get_eeprom(arg1, arg2, arg3); } return; } } void ldv_free_irq(void *arg0 , int arg1 , void *arg2 ) { int ldv_18_line_line ; { { ldv_18_line_line = arg1; ldv_assume(((ldv_statevar_2 == 2 || ldv_statevar_3 == 2) || ldv_statevar_4 == 2) || ldv_statevar_5 == 2); ldv_dispatch_irq_deregister_18_1(ldv_18_line_line); } return; return; } } enum irqreturn ldv_interrupt_instance_handler_5_5(enum irqreturn (*arg0)(int , void * ) , int arg1 , void *arg2 ) { irqreturn_t tmp ; { { tmp = ixgbe_test_intr(arg1, arg2); } return (tmp); } } void ldv_interrupt_interrupt_instance_5(void *arg0 ) { int tmp ; { { if (ldv_statevar_5 == 2) { goto case_2; } else { } if (ldv_statevar_5 == 4) { goto case_4; } else { } if (ldv_statevar_5 == 5) { goto case_5; } else { } if (ldv_statevar_5 == 6) { goto case_6; } else { } goto switch_default; case_2: /* CIL Label */ { ldv_assume((unsigned int )ldv_5_ret_val_default != 2U); ldv_statevar_5 = 6; } goto ldv_53855; case_4: /* CIL Label */ { ldv_assume((unsigned int )ldv_5_ret_val_default == 2U); } if ((unsigned long )ldv_5_thread_thread != (unsigned long )((enum irqreturn (*)(int , void * ))0)) { { ldv_interrupt_instance_thread_5_3(ldv_5_thread_thread, ldv_5_line_line, ldv_5_data_data); } } else { } ldv_statevar_5 = 6; goto ldv_53855; case_5: /* CIL Label */ { ldv_switch_to_interrupt_context(); ldv_5_ret_val_default = ldv_interrupt_instance_handler_5_5(ldv_5_callback_handler, ldv_5_line_line, ldv_5_data_data); ldv_switch_to_process_context(); tmp = ldv_undef_int(); } if (tmp != 0) { ldv_statevar_5 = 2; } else { ldv_statevar_5 = 4; } goto ldv_53855; case_6: /* CIL Label */ ; goto ldv_53855; switch_default: /* CIL Label */ ; switch_break: /* CIL Label */ ; } ldv_53855: ; return; } } void ldv_switch_automaton_state_5_1(void) { { ldv_statevar_5 = 6; return; } } void ldv_switch_automaton_state_5_6(void) { { ldv_statevar_5 = 5; return; } } __inline static void *kzalloc(size_t size , gfp_t flags ) { void *tmp ; { { tmp = ldv_kzalloc(size, flags); } return (tmp); } } static void ldv_free_irq_21___0(unsigned int ldv_func_arg1 , void *ldv_func_arg2 ) { { { free_irq(ldv_func_arg1, ldv_func_arg2); ldv_free_irq((void *)0, (int )ldv_func_arg1, ldv_func_arg2); } return; } } __inline static void writeq(unsigned long val , void volatile *addr ) { { __asm__ volatile ("movq %0,%1": : "r" (val), "m" (*((unsigned long volatile *)addr)): "memory"); return; } } struct ixgbe_mbx_operations mbx_ops_generic ; __inline static void ixgbe_write_reg64(struct ixgbe_hw *hw , u32 reg , u64 value ) { u8 *reg_addr ; bool tmp ; { { reg_addr = *((u8 * volatile *)(& hw->hw_addr)); tmp = ixgbe_removed((void *)reg_addr); } if ((int )tmp) { return; } else { } { writeq((unsigned long )value, (void volatile *)reg_addr + (unsigned long )reg); } return; } } s32 ixgbe_identify_phy_generic(struct ixgbe_hw *hw ) ; s32 ixgbe_reset_phy_generic(struct ixgbe_hw *hw ) ; s32 ixgbe_read_phy_reg_generic(struct ixgbe_hw *hw , u32 reg_addr , u32 device_type , u16 *phy_data ) ; s32 ixgbe_write_phy_reg_generic(struct ixgbe_hw *hw , u32 reg_addr , u32 device_type , u16 phy_data ) ; s32 ixgbe_setup_phy_link_generic(struct ixgbe_hw *hw ) ; s32 ixgbe_setup_phy_link_speed_generic(struct ixgbe_hw *hw , ixgbe_link_speed speed , bool autoneg_wait_to_complete ) ; s32 ixgbe_get_copper_link_capabilities_generic(struct ixgbe_hw *hw , ixgbe_link_speed *speed , bool *autoneg ) ; s32 ixgbe_check_phy_link_tnx(struct ixgbe_hw *hw , ixgbe_link_speed *speed , bool *link_up ) ; s32 ixgbe_setup_phy_link_tnx(struct ixgbe_hw *hw ) ; s32 ixgbe_get_phy_firmware_version_tnx(struct ixgbe_hw *hw , u16 *firmware_version ) ; s32 ixgbe_identify_module_generic(struct ixgbe_hw *hw ) ; s32 ixgbe_get_sfp_init_sequence_offsets(struct ixgbe_hw *hw , u16 *list_offset , u16 *data_offset ) ; s32 ixgbe_tn_check_overtemp(struct ixgbe_hw *hw ) ; s32 ixgbe_read_i2c_byte_generic(struct ixgbe_hw *hw , u8 byte_offset , u8 dev_addr , u8 *data ) ; s32 ixgbe_write_i2c_byte_generic(struct ixgbe_hw *hw , u8 byte_offset , u8 dev_addr , u8 data ) ; s32 ixgbe_read_i2c_eeprom_generic(struct ixgbe_hw *hw , u8 byte_offset , u8 *eeprom_data ) ; s32 ixgbe_read_i2c_sff8472_generic(struct ixgbe_hw *hw , u8 byte_offset , u8 *sff8472_data ) ; s32 ixgbe_write_i2c_eeprom_generic(struct ixgbe_hw *hw , u8 byte_offset , u8 eeprom_data ) ; static void ixgbe_disable_tx_laser_multispeed_fiber(struct ixgbe_hw *hw ) ; static void ixgbe_enable_tx_laser_multispeed_fiber(struct ixgbe_hw *hw ) ; static void ixgbe_flap_tx_laser_multispeed_fiber(struct ixgbe_hw *hw ) ; static s32 ixgbe_setup_mac_link_multispeed_fiber(struct ixgbe_hw *hw , ixgbe_link_speed speed , bool autoneg_wait_to_complete ) ; static s32 ixgbe_setup_mac_link_smartspeed(struct ixgbe_hw *hw , ixgbe_link_speed speed , bool autoneg_wait_to_complete ) ; static void ixgbe_stop_mac_link_on_d3_82599(struct ixgbe_hw *hw ) ; static s32 ixgbe_start_mac_link_82599(struct ixgbe_hw *hw , bool autoneg_wait_to_complete ) ; static s32 ixgbe_setup_mac_link_82599(struct ixgbe_hw *hw , ixgbe_link_speed speed , bool autoneg_wait_to_complete ) ; static s32 ixgbe_setup_copper_link_82599(struct ixgbe_hw *hw , ixgbe_link_speed speed , bool autoneg_wait_to_complete ) ; static s32 ixgbe_verify_fw_version_82599(struct ixgbe_hw *hw ) ; static s32 ixgbe_read_i2c_byte_82599(struct ixgbe_hw *hw , u8 byte_offset , u8 dev_addr , u8 *data ) ; static s32 ixgbe_write_i2c_byte_82599(struct ixgbe_hw *hw , u8 byte_offset , u8 dev_addr , u8 data ) ; static bool ixgbe_mng_enabled(struct ixgbe_hw *hw ) { u32 fwsm ; u32 manc ; u32 factps ; { { fwsm = ixgbe_read_reg(hw, 65864U); } if ((fwsm & 14U) != 4U) { return (0); } else { } { manc = ixgbe_read_reg(hw, 22560U); } if ((manc & 131072U) == 0U) { return (0); } else { } { factps = ixgbe_read_reg(hw, 65872U); } if ((factps & 536870912U) != 0U) { return (0); } else { } return (1); } } static void ixgbe_init_mac_link_ops_82599(struct ixgbe_hw *hw ) { struct ixgbe_mac_info *mac ; enum ixgbe_media_type tmp ; enum ixgbe_media_type tmp___0 ; bool tmp___1 ; int tmp___2 ; { { mac = & hw->mac; tmp = (*(mac->ops.get_media_type))(hw); } if ((unsigned int )tmp == 1U && ! hw->mng_fw_enabled) { mac->ops.disable_tx_laser = & ixgbe_disable_tx_laser_multispeed_fiber; mac->ops.enable_tx_laser = & ixgbe_enable_tx_laser_multispeed_fiber; mac->ops.flap_tx_laser = & ixgbe_flap_tx_laser_multispeed_fiber; } else { mac->ops.disable_tx_laser = (void (*)(struct ixgbe_hw * ))0; mac->ops.enable_tx_laser = (void (*)(struct ixgbe_hw * ))0; mac->ops.flap_tx_laser = (void (*)(struct ixgbe_hw * ))0; } if ((int )hw->phy.multispeed_fiber) { mac->ops.setup_link = & ixgbe_setup_mac_link_multispeed_fiber; } else { { tmp___0 = (*(mac->ops.get_media_type))(hw); } if ((unsigned int )tmp___0 == 6U && (unsigned int )hw->phy.smart_speed <= 1U) { { tmp___1 = ixgbe_verify_lesm_fw_enabled_82599(hw); } if (tmp___1) { tmp___2 = 0; } else { tmp___2 = 1; } if (tmp___2) { mac->ops.setup_link = & ixgbe_setup_mac_link_smartspeed; } else { mac->ops.setup_link = & ixgbe_setup_mac_link_82599; } } else { mac->ops.setup_link = & ixgbe_setup_mac_link_82599; } } return; } } static s32 ixgbe_setup_sfp_modules_82599(struct ixgbe_hw *hw ) { s32 ret_val ; u16 list_offset ; u16 data_offset ; u16 data_value ; bool got_lock ; s32 tmp ; s32 tmp___0 ; bool tmp___1 ; struct _ddebug descriptor ; long tmp___2 ; { ret_val = 0; got_lock = 0; if ((unsigned int )hw->phy.sfp_type != 65535U) { { ixgbe_init_mac_link_ops_82599(hw); hw->phy.ops.reset = (s32 (*)(struct ixgbe_hw * ))0; ret_val = ixgbe_get_sfp_init_sequence_offsets(hw, & list_offset, & data_offset); } if (ret_val != 0) { goto setup_sfp_out; } else { } { ret_val = (*(hw->mac.ops.acquire_swfw_sync))(hw, 8); } if (ret_val != 0) { ret_val = -16; goto setup_sfp_out; } else { } { data_offset = (u16 )((int )data_offset + 1); tmp = (*(hw->eeprom.ops.read))(hw, (int )data_offset, & data_value); } if (tmp != 0) { goto setup_sfp_err; } else { } goto ldv_50987; ldv_50986: { ixgbe_write_reg(hw, 85760U, (u32 )data_value); ixgbe_read_reg(hw, 8U); data_offset = (u16 )((int )data_offset + 1); tmp___0 = (*(hw->eeprom.ops.read))(hw, (int )data_offset, & data_value); } if (tmp___0 != 0) { goto setup_sfp_err; } else { } ldv_50987: ; if ((unsigned int )data_value != 65535U) { goto ldv_50986; } else { } { (*(hw->mac.ops.release_swfw_sync))(hw, 8); usleep_range((unsigned long )(hw->eeprom.semaphore_delay * 1000U), (unsigned long )(hw->eeprom.semaphore_delay * 2000U)); tmp___1 = ixgbe_verify_lesm_fw_enabled_82599(hw); } if ((int )tmp___1) { { ret_val = (*(hw->mac.ops.acquire_swfw_sync))(hw, 8); } if (ret_val != 0) { goto setup_sfp_out; } else { } got_lock = 1; } else { } { ixgbe_write_reg(hw, 17056U, hw->mac.orig_autoc | 24576U); hw->mac.cached_autoc = ixgbe_read_reg(hw, 17056U); ret_val = ixgbe_reset_pipeline_82599(hw); } if ((int )got_lock) { { (*(hw->mac.ops.release_swfw_sync))(hw, 8); got_lock = 0; } } else { } if (ret_val != 0) { { descriptor.modname = "ixgbe"; descriptor.function = "ixgbe_setup_sfp_modules_82599"; descriptor.filename = "drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c"; descriptor.format = " sfp module setup not complete\n"; descriptor.lineno = 189U; descriptor.flags = 0U; tmp___2 = ldv__builtin_expect((long )descriptor.flags & 1L, 0L); } if (tmp___2 != 0L) { { __dynamic_netdev_dbg(& descriptor, (struct net_device const *)((struct ixgbe_adapter *)hw->back)->netdev, " sfp module setup not complete\n"); } } else { } ret_val = -30; goto setup_sfp_out; } else { } } else { } setup_sfp_out: ; return (ret_val); setup_sfp_err: { (*(hw->mac.ops.release_swfw_sync))(hw, 8); usleep_range((unsigned long )(hw->eeprom.semaphore_delay * 1000U), (unsigned long )(hw->eeprom.semaphore_delay * 2000U)); netdev_err((struct net_device const *)((struct ixgbe_adapter *)hw->back)->netdev, "eeprom read at offset %d failed\n", (int )data_offset); } return (-30); } } static s32 ixgbe_get_invariants_82599(struct ixgbe_hw *hw ) { struct ixgbe_mac_info *mac ; { { mac = & hw->mac; ixgbe_init_mac_link_ops_82599(hw); mac->mcft_size = 128U; mac->vft_size = 128U; mac->num_rar_entries = 128U; mac->max_rx_queues = 128U; mac->max_tx_queues = 128U; mac->max_msix_vectors = ixgbe_get_pcie_msix_count_generic(hw); } return (0); } } static s32 ixgbe_init_phy_ops_82599(struct ixgbe_hw *hw ) { struct ixgbe_mac_info *mac ; struct ixgbe_phy_info *phy ; s32 ret_val ; u32 esdp ; enum ixgbe_media_type tmp ; { mac = & hw->mac; phy = & hw->phy; ret_val = 0; if ((unsigned int )hw->device_id == 5464U) { { hw->phy.qsfp_shared_i2c_bus = 1; esdp = ixgbe_read_reg(hw, 32U); esdp = esdp | 256U; esdp = esdp & 4294966783U; esdp = esdp & 4294967294U; esdp = esdp & 4294901759U; esdp = esdp & 4294836223U; ixgbe_write_reg(hw, 32U, esdp); ixgbe_read_reg(hw, 8U); phy->ops.read_i2c_byte = & ixgbe_read_i2c_byte_82599; phy->ops.write_i2c_byte = & ixgbe_write_i2c_byte_82599; } } else { } { ret_val = (*(phy->ops.identify))(hw); ixgbe_init_mac_link_ops_82599(hw); tmp = (*(mac->ops.get_media_type))(hw); } if ((unsigned int )tmp == 5U) { mac->ops.setup_link = & ixgbe_setup_copper_link_82599; mac->ops.get_link_capabilities = & ixgbe_get_copper_link_capabilities_generic; } else { } { if ((unsigned int )hw->phy.type == 2U) { goto case_2; } else { } goto switch_default; case_2: /* CIL Label */ phy->ops.check_link = & ixgbe_check_phy_link_tnx; phy->ops.setup_link = & ixgbe_setup_phy_link_tnx; phy->ops.get_firmware_version = & ixgbe_get_phy_firmware_version_tnx; goto ldv_51003; switch_default: /* CIL Label */ ; goto ldv_51003; switch_break: /* CIL Label */ ; } ldv_51003: ; return (ret_val); } } static s32 ixgbe_get_link_capabilities_82599(struct ixgbe_hw *hw , ixgbe_link_speed *speed , bool *autoneg ) { s32 status ; u32 autoc ; { status = 0; autoc = 0U; if (((((unsigned int )hw->phy.sfp_type - 9U <= 1U || (unsigned int )hw->phy.sfp_type == 13U) || (unsigned int )hw->phy.sfp_type == 14U) || (unsigned int )hw->phy.sfp_type == 11U) || (unsigned int )hw->phy.sfp_type == 12U) { *speed = 32U; *autoneg = 1; goto out; } else { } if ((int )hw->mac.orig_link_settings_stored) { autoc = hw->mac.orig_autoc; } else { { autoc = ixgbe_read_reg(hw, 17056U); } } { if ((autoc & 57344U) == 0U) { goto case_0; } else { } if ((autoc & 57344U) == 8192U) { goto case_8192; } else { } if ((autoc & 57344U) == 16384U) { goto case_16384; } else { } if ((autoc & 57344U) == 24576U) { goto case_24576; } else { } if ((autoc & 57344U) == 32768U) { goto case_32768; } else { } if ((autoc & 57344U) == 49152U) { goto case_49152; } else { } if ((autoc & 57344U) == 57344U) { goto case_57344; } else { } if ((autoc & 57344U) == 40960U) { goto case_40960; } else { } goto switch_default; case_0: /* CIL Label */ *speed = 32U; *autoneg = 0; goto ldv_51014; case_8192: /* CIL Label */ *speed = 128U; *autoneg = 0; goto ldv_51014; case_16384: /* CIL Label */ *speed = 32U; *autoneg = 1; goto ldv_51014; case_24576: /* CIL Label */ *speed = 128U; *autoneg = 0; goto ldv_51014; case_32768: /* CIL Label */ ; case_49152: /* CIL Label */ *speed = 0U; if ((autoc & 65536U) != 0U) { *speed = *speed | 128U; } else { } if ((int )autoc < 0) { *speed = *speed | 128U; } else { } if ((autoc & 1073741824U) != 0U) { *speed = *speed | 32U; } else { } *autoneg = 1; goto ldv_51014; case_57344: /* CIL Label */ *speed = 8U; if ((autoc & 65536U) != 0U) { *speed = *speed | 128U; } else { } if ((int )autoc < 0) { *speed = *speed | 128U; } else { } if ((autoc & 1073741824U) != 0U) { *speed = *speed | 32U; } else { } *autoneg = 1; goto ldv_51014; case_40960: /* CIL Label */ *speed = 40U; *autoneg = 0; goto ldv_51014; switch_default: /* CIL Label */ status = -8; goto out; switch_break: /* CIL Label */ ; } ldv_51014: ; if ((int )hw->phy.multispeed_fiber) { *speed = *speed | 160U; if ((unsigned int )hw->phy.media_type == 3U) { *autoneg = 0; } else { *autoneg = 1; } } else { } out: ; return (status); } } static enum ixgbe_media_type ixgbe_get_media_type_82599(struct ixgbe_hw *hw ) { enum ixgbe_media_type media_type ; { { if ((unsigned int )hw->phy.type == 4U) { goto case_4; } else { } if ((unsigned int )hw->phy.type == 2U) { goto case_2; } else { } goto switch_default; case_4: /* CIL Label */ ; case_2: /* CIL Label */ media_type = 5; goto out; switch_default: /* CIL Label */ ; goto ldv_51031; switch_break: /* CIL Label */ ; } ldv_51031: ; { if ((int )hw->device_id == 4343) { goto case_4343; } else { } if ((int )hw->device_id == 5396) { goto case_5396; } else { } if ((int )hw->device_id == 4344) { goto case_4344; } else { } if ((int )hw->device_id == 5399) { goto case_5399; } else { } if ((int )hw->device_id == 5418) { goto case_5418; } else { } if ((int )hw->device_id == 4348) { goto case_4348; } else { } if ((int )hw->device_id == 4347) { goto case_4347; } else { } if ((int )hw->device_id == 5417) { goto case_5417; } else { } if ((int )hw->device_id == 5383) { goto case_5383; } else { } if ((int )hw->device_id == 5453) { goto case_5453; } else { } if ((int )hw->device_id == 5450) { goto case_5450; } else { } if ((int )hw->device_id == 5463) { goto case_5463; } else { } if ((int )hw->device_id == 4345) { goto case_4345; } else { } if ((int )hw->device_id == 5404) { goto case_5404; } else { } if ((int )hw->device_id == 5455) { goto case_5455; } else { } if ((int )hw->device_id == 5464) { goto case_5464; } else { } goto switch_default___0; case_4343: /* CIL Label */ ; case_5396: /* CIL Label */ ; case_4344: /* CIL Label */ ; case_5399: /* CIL Label */ ; case_5418: /* CIL Label */ ; case_4348: /* CIL Label */ media_type = 6; goto ldv_51038; case_4347: /* CIL Label */ ; case_5417: /* CIL Label */ ; case_5383: /* CIL Label */ ; case_5453: /* CIL Label */ ; case_5450: /* CIL Label */ ; case_5463: /* CIL Label */ media_type = 1; goto ldv_51038; case_4345: /* CIL Label */ media_type = 7; goto ldv_51038; case_5404: /* CIL Label */ media_type = 5; goto ldv_51038; case_5455: /* CIL Label */ media_type = 4; goto ldv_51038; case_5464: /* CIL Label */ media_type = 3; goto ldv_51038; switch_default___0: /* CIL Label */ media_type = 0; goto ldv_51038; switch_break___0: /* CIL Label */ ; } ldv_51038: ; out: ; return (media_type); } } static void ixgbe_stop_mac_link_on_d3_82599(struct ixgbe_hw *hw ) { u32 autoc2_reg ; { if (! hw->mng_fw_enabled && ! hw->wol_enabled) { { autoc2_reg = ixgbe_read_reg(hw, 17064U); autoc2_reg = autoc2_reg | 1342177280U; ixgbe_write_reg(hw, 17064U, autoc2_reg); } } else { } return; } } static s32 ixgbe_start_mac_link_82599(struct ixgbe_hw *hw , bool autoneg_wait_to_complete ) { u32 autoc_reg ; u32 links_reg ; u32 i ; s32 status ; bool got_lock ; bool tmp ; struct _ddebug descriptor ; long tmp___0 ; { { status = 0; got_lock = 0; tmp = ixgbe_verify_lesm_fw_enabled_82599(hw); } if ((int )tmp) { { status = (*(hw->mac.ops.acquire_swfw_sync))(hw, 8); } if (status != 0) { goto out; } else { } got_lock = 1; } else { } { ixgbe_reset_pipeline_82599(hw); } if ((int )got_lock) { { (*(hw->mac.ops.release_swfw_sync))(hw, 8); } } else { } if ((int )autoneg_wait_to_complete) { { autoc_reg = ixgbe_read_reg(hw, 17056U); } if (((autoc_reg & 57344U) == 32768U || (autoc_reg & 57344U) == 49152U) || (autoc_reg & 57344U) == 57344U) { links_reg = 0U; i = 0U; goto ldv_51066; ldv_51065: { links_reg = ixgbe_read_reg(hw, 17060U); } if ((int )links_reg < 0) { goto ldv_51064; } else { } { msleep(100U); i = i + 1U; } ldv_51066: ; if (i <= 44U) { goto ldv_51065; } else { } ldv_51064: ; if ((int )links_reg >= 0) { { status = -14; descriptor.modname = "ixgbe"; descriptor.function = "ixgbe_start_mac_link_82599"; descriptor.filename = "drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c"; descriptor.format = "Autoneg did not complete.\n"; descriptor.lineno = 521U; descriptor.flags = 0U; tmp___0 = ldv__builtin_expect((long )descriptor.flags & 1L, 0L); } if (tmp___0 != 0L) { { __dynamic_netdev_dbg(& descriptor, (struct net_device const *)((struct ixgbe_adapter *)hw->back)->netdev, "Autoneg did not complete.\n"); } } else { } } else { } } else { } } else { } { msleep(50U); } out: ; return (status); } } static void ixgbe_disable_tx_laser_multispeed_fiber(struct ixgbe_hw *hw ) { u32 esdp_reg ; u32 tmp ; { { tmp = ixgbe_read_reg(hw, 32U); esdp_reg = tmp; esdp_reg = esdp_reg | 8U; ixgbe_write_reg(hw, 32U, esdp_reg); ixgbe_read_reg(hw, 8U); __const_udelay(429500UL); } return; } } static void ixgbe_enable_tx_laser_multispeed_fiber(struct ixgbe_hw *hw ) { u32 esdp_reg ; u32 tmp ; { { tmp = ixgbe_read_reg(hw, 32U); esdp_reg = tmp; esdp_reg = esdp_reg & 4294967287U; ixgbe_write_reg(hw, 32U, esdp_reg); ixgbe_read_reg(hw, 8U); msleep(100U); } return; } } static void ixgbe_flap_tx_laser_multispeed_fiber(struct ixgbe_hw *hw ) { { if ((int )hw->mac.autotry_restart) { { ixgbe_disable_tx_laser_multispeed_fiber(hw); ixgbe_enable_tx_laser_multispeed_fiber(hw); hw->mac.autotry_restart = 0; } } else { } return; } } static void ixgbe_set_fiber_fixed_speed(struct ixgbe_hw *hw , ixgbe_link_speed speed ) { s32 status ; u8 rs ; u8 eeprom_data ; struct _ddebug descriptor ; long tmp ; struct _ddebug descriptor___0 ; long tmp___0 ; struct _ddebug descriptor___1 ; long tmp___1 ; struct _ddebug descriptor___2 ; long tmp___2 ; struct _ddebug descriptor___3 ; long tmp___3 ; { { if (speed == 128U) { goto case_128; } else { } if (speed == 32U) { goto case_32; } else { } goto switch_default; case_128: /* CIL Label */ rs = 8U; goto ldv_51088; case_32: /* CIL Label */ rs = 0U; goto ldv_51088; switch_default: /* CIL Label */ { descriptor.modname = "ixgbe"; descriptor.function = "ixgbe_set_fiber_fixed_speed"; descriptor.filename = "drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c"; descriptor.format = "Invalid fixed module speed\n"; descriptor.lineno = 616U; descriptor.flags = 0U; tmp = ldv__builtin_expect((long )descriptor.flags & 1L, 0L); } if (tmp != 0L) { { __dynamic_netdev_dbg(& descriptor, (struct net_device const *)((struct ixgbe_adapter *)hw->back)->netdev, "Invalid fixed module speed\n"); } } else { } return; switch_break: /* CIL Label */ ; } ldv_51088: { status = (*(hw->phy.ops.read_i2c_byte))(hw, 110, 162, & eeprom_data); } if (status != 0) { { descriptor___0.modname = "ixgbe"; descriptor___0.function = "ixgbe_set_fiber_fixed_speed"; descriptor___0.filename = "drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c"; descriptor___0.format = "Failed to read Rx Rate Select RS0\n"; descriptor___0.lineno = 625U; descriptor___0.flags = 0U; tmp___0 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); } if (tmp___0 != 0L) { { __dynamic_netdev_dbg(& descriptor___0, (struct net_device const *)((struct ixgbe_adapter *)hw->back)->netdev, "Failed to read Rx Rate Select RS0\n"); } } else { } goto out; } else { } { eeprom_data = (u8 )(((int )((signed char )eeprom_data) & -9) | (int )((signed char )rs)); status = (*(hw->phy.ops.write_i2c_byte))(hw, 110, 162, (int )eeprom_data); } if (status != 0) { { descriptor___1.modname = "ixgbe"; descriptor___1.function = "ixgbe_set_fiber_fixed_speed"; descriptor___1.filename = "drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c"; descriptor___1.format = "Failed to write Rx Rate Select RS0\n"; descriptor___1.lineno = 635U; descriptor___1.flags = 0U; tmp___1 = ldv__builtin_expect((long )descriptor___1.flags & 1L, 0L); } if (tmp___1 != 0L) { { __dynamic_netdev_dbg(& descriptor___1, (struct net_device const *)((struct ixgbe_adapter *)hw->back)->netdev, "Failed to write Rx Rate Select RS0\n"); } } else { } goto out; } else { } { status = (*(hw->phy.ops.read_i2c_byte))(hw, 118, 162, & eeprom_data); } if (status != 0) { { descriptor___2.modname = "ixgbe"; descriptor___2.function = "ixgbe_set_fiber_fixed_speed"; descriptor___2.filename = "drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c"; descriptor___2.format = "Failed to read Rx Rate Select RS1\n"; descriptor___2.lineno = 644U; descriptor___2.flags = 0U; tmp___2 = ldv__builtin_expect((long )descriptor___2.flags & 1L, 0L); } if (tmp___2 != 0L) { { __dynamic_netdev_dbg(& descriptor___2, (struct net_device const *)((struct ixgbe_adapter *)hw->back)->netdev, "Failed to read Rx Rate Select RS1\n"); } } else { } goto out; } else { } { eeprom_data = (u8 )(((int )((signed char )eeprom_data) & -9) & (int )((signed char )rs)); status = (*(hw->phy.ops.write_i2c_byte))(hw, 118, 162, (int )eeprom_data); } if (status != 0) { { descriptor___3.modname = "ixgbe"; descriptor___3.function = "ixgbe_set_fiber_fixed_speed"; descriptor___3.filename = "drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c"; descriptor___3.format = "Failed to write Rx Rate Select RS1\n"; descriptor___3.lineno = 654U; descriptor___3.flags = 0U; tmp___3 = ldv__builtin_expect((long )descriptor___3.flags & 1L, 0L); } if (tmp___3 != 0L) { { __dynamic_netdev_dbg(& descriptor___3, (struct net_device const *)((struct ixgbe_adapter *)hw->back)->netdev, "Failed to write Rx Rate Select RS1\n"); } } else { } goto out; } else { } out: ; return; } } static s32 ixgbe_setup_mac_link_multispeed_fiber(struct ixgbe_hw *hw , ixgbe_link_speed speed , bool autoneg_wait_to_complete ) { s32 status ; ixgbe_link_speed link_speed ; ixgbe_link_speed highest_link_speed ; u32 speedcnt ; u32 esdp_reg ; u32 tmp ; u32 i ; bool link_up ; bool autoneg ; struct _ddebug descriptor ; long tmp___0 ; struct _ddebug descriptor___0 ; long tmp___1 ; { { status = 0; link_speed = 0U; highest_link_speed = 0U; speedcnt = 0U; tmp = ixgbe_read_reg(hw, 32U); esdp_reg = tmp; i = 0U; link_up = 0; autoneg = 0; status = (*(hw->mac.ops.get_link_capabilities))(hw, & link_speed, & autoneg); } if (status != 0) { return (status); } else { } speed = speed & link_speed; if ((speed & 128U) != 0U) { { speedcnt = speedcnt + 1U; highest_link_speed = 128U; status = (*(hw->mac.ops.check_link))(hw, & link_speed, & link_up, 0); } if (status != 0) { return (status); } else { } if (link_speed == 128U && (int )link_up) { goto out; } else { } { if ((unsigned int )hw->phy.media_type == 1U) { goto case_1; } else { } if ((unsigned int )hw->phy.media_type == 3U) { goto case_3; } else { } goto switch_default; case_1: /* CIL Label */ { esdp_reg = esdp_reg | 8224U; ixgbe_write_reg(hw, 32U, esdp_reg); ixgbe_read_reg(hw, 8U); } goto ldv_51113; case_3: /* CIL Label */ ; goto ldv_51113; switch_default: /* CIL Label */ { descriptor.modname = "ixgbe"; descriptor.function = "ixgbe_setup_mac_link_multispeed_fiber"; descriptor.filename = "drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c"; descriptor.format = "Unexpected media type.\n"; descriptor.lineno = 718U; descriptor.flags = 0U; tmp___0 = ldv__builtin_expect((long )descriptor.flags & 1L, 0L); } if (tmp___0 != 0L) { { __dynamic_netdev_dbg(& descriptor, (struct net_device const *)((struct ixgbe_adapter *)hw->back)->netdev, "Unexpected media type.\n"); } } else { } goto ldv_51113; switch_break: /* CIL Label */ ; } ldv_51113: { msleep(40U); status = ixgbe_setup_mac_link_82599(hw, 128U, (int )autoneg_wait_to_complete); } if (status != 0) { return (status); } else { } if ((unsigned long )hw->mac.ops.flap_tx_laser != (unsigned long )((void (*)(struct ixgbe_hw * ))0)) { { (*(hw->mac.ops.flap_tx_laser))(hw); } } else { } i = 0U; goto ldv_51119; ldv_51118: { msleep(100U); status = (*(hw->mac.ops.check_link))(hw, & link_speed, & link_up, 0); } if (status != 0) { return (status); } else { } if ((int )link_up) { goto out; } else { } i = i + 1U; ldv_51119: ; if (i <= 4U) { goto ldv_51118; } else { } } else { } if ((speed & 32U) != 0U) { speedcnt = speedcnt + 1U; if (highest_link_speed == 0U) { highest_link_speed = 32U; } else { } { status = (*(hw->mac.ops.check_link))(hw, & link_speed, & link_up, 0); } if (status != 0) { return (status); } else { } if (link_speed == 32U && (int )link_up) { goto out; } else { } { if ((unsigned int )hw->phy.media_type == 2U) { goto case_2; } else { } if ((unsigned int )hw->phy.media_type == 1U) { goto case_1___0; } else { } if ((unsigned int )hw->phy.media_type == 3U) { goto case_3___0; } else { } goto switch_default___0; case_2: /* CIL Label */ { ixgbe_set_fiber_fixed_speed(hw, 32U); } goto ldv_51122; case_1___0: /* CIL Label */ { esdp_reg = esdp_reg & 4294967263U; esdp_reg = esdp_reg | 8192U; ixgbe_write_reg(hw, 32U, esdp_reg); ixgbe_read_reg(hw, 8U); } goto ldv_51122; case_3___0: /* CIL Label */ ; goto ldv_51122; switch_default___0: /* CIL Label */ { descriptor___0.modname = "ixgbe"; descriptor___0.function = "ixgbe_setup_mac_link_multispeed_fiber"; descriptor___0.filename = "drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c"; descriptor___0.format = "Unexpected media type.\n"; descriptor___0.lineno = 785U; descriptor___0.flags = 0U; tmp___1 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); } if (tmp___1 != 0L) { { __dynamic_netdev_dbg(& descriptor___0, (struct net_device const *)((struct ixgbe_adapter *)hw->back)->netdev, "Unexpected media type.\n"); } } else { } goto ldv_51122; switch_break___0: /* CIL Label */ ; } ldv_51122: { msleep(40U); status = ixgbe_setup_mac_link_82599(hw, 32U, (int )autoneg_wait_to_complete); } if (status != 0) { return (status); } else { } if ((unsigned long )hw->mac.ops.flap_tx_laser != (unsigned long )((void (*)(struct ixgbe_hw * ))0)) { { (*(hw->mac.ops.flap_tx_laser))(hw); } } else { } { msleep(100U); status = (*(hw->mac.ops.check_link))(hw, & link_speed, & link_up, 0); } if (status != 0) { return (status); } else { } if ((int )link_up) { goto out; } else { } } else { } if (speedcnt > 1U) { { status = ixgbe_setup_mac_link_multispeed_fiber(hw, highest_link_speed, (int )autoneg_wait_to_complete); } } else { } out: hw->phy.autoneg_advertised = 0U; if ((speed & 128U) != 0U) { hw->phy.autoneg_advertised = hw->phy.autoneg_advertised | 128U; } else { } if ((speed & 32U) != 0U) { hw->phy.autoneg_advertised = hw->phy.autoneg_advertised | 32U; } else { } return (status); } } static s32 ixgbe_setup_mac_link_smartspeed(struct ixgbe_hw *hw , ixgbe_link_speed speed , bool autoneg_wait_to_complete ) { s32 status ; ixgbe_link_speed link_speed ; s32 i ; s32 j ; bool link_up ; u32 autoc_reg ; u32 tmp ; unsigned long __ms ; unsigned long tmp___0 ; unsigned long __ms___0 ; unsigned long tmp___1 ; struct _ddebug descriptor ; long tmp___2 ; { { status = 0; link_speed = 0U; link_up = 0; tmp = ixgbe_read_reg(hw, 17056U); autoc_reg = tmp; hw->phy.autoneg_advertised = 0U; } if ((speed & 128U) != 0U) { hw->phy.autoneg_advertised = hw->phy.autoneg_advertised | 128U; } else { } if ((speed & 32U) != 0U) { hw->phy.autoneg_advertised = hw->phy.autoneg_advertised | 32U; } else { } if ((speed & 8U) != 0U) { hw->phy.autoneg_advertised = hw->phy.autoneg_advertised | 8U; } else { } hw->phy.smart_speed_active = 0; j = 0; goto ldv_51147; ldv_51146: { status = ixgbe_setup_mac_link_82599(hw, speed, (int )autoneg_wait_to_complete); } if (status != 0) { goto out; } else { } i = 0; goto ldv_51144; ldv_51143: __ms = 100UL; goto ldv_51141; ldv_51140: { __const_udelay(4295000UL); } ldv_51141: tmp___0 = __ms; __ms = __ms - 1UL; if (tmp___0 != 0UL) { goto ldv_51140; } else { } { status = (*(hw->mac.ops.check_link))(hw, & link_speed, & link_up, 0); } if (status != 0) { goto out; } else { } if ((int )link_up) { goto out; } else { } i = i + 1; ldv_51144: ; if (i <= 4) { goto ldv_51143; } else { } j = j + 1; ldv_51147: ; if (j <= 2) { goto ldv_51146; } else { } if ((autoc_reg & 65536U) == 0U || (autoc_reg & 3221225472U) == 0U) { goto out; } else { } { hw->phy.smart_speed_active = 1; status = ixgbe_setup_mac_link_82599(hw, speed, (int )autoneg_wait_to_complete); } if (status != 0) { goto out; } else { } i = 0; goto ldv_51154; ldv_51153: __ms___0 = 100UL; goto ldv_51151; ldv_51150: { __const_udelay(4295000UL); } ldv_51151: tmp___1 = __ms___0; __ms___0 = __ms___0 - 1UL; if (tmp___1 != 0UL) { goto ldv_51150; } else { } { status = (*(hw->mac.ops.check_link))(hw, & link_speed, & link_up, 0); } if (status != 0) { goto out; } else { } if ((int )link_up) { goto out; } else { } i = i + 1; ldv_51154: ; if (i <= 5) { goto ldv_51153; } else { } { hw->phy.smart_speed_active = 0; status = ixgbe_setup_mac_link_82599(hw, speed, (int )autoneg_wait_to_complete); } out: ; if ((int )link_up && link_speed == 32U) { { descriptor.modname = "ixgbe"; descriptor.function = "ixgbe_setup_mac_link_smartspeed"; descriptor.filename = "drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c"; descriptor.format = "Smartspeed has downgraded the link speed from the maximum advertised\n"; descriptor.lineno = 945U; descriptor.flags = 0U; tmp___2 = ldv__builtin_expect((long )descriptor.flags & 1L, 0L); } if (tmp___2 != 0L) { { __dynamic_netdev_dbg(& descriptor, (struct net_device const *)((struct ixgbe_adapter *)hw->back)->netdev, "Smartspeed has downgraded the link speed from the maximum advertised\n"); } } else { } } else { } return (status); } } static s32 ixgbe_setup_mac_link_82599(struct ixgbe_hw *hw , ixgbe_link_speed speed , bool autoneg_wait_to_complete ) { s32 status ; u32 autoc ; u32 pma_pmd_1g ; u32 link_mode ; u32 start_autoc ; u32 autoc2 ; u32 tmp ; u32 orig_autoc ; u32 pma_pmd_10g_serial ; u32 links_reg ; u32 i ; ixgbe_link_speed link_capabilities ; bool got_lock ; bool autoneg ; bool tmp___0 ; struct _ddebug descriptor ; long tmp___1 ; { { status = 0; tmp = ixgbe_read_reg(hw, 17064U); autoc2 = tmp; orig_autoc = 0U; pma_pmd_10g_serial = autoc2 & 196608U; link_capabilities = 0U; got_lock = 0; autoneg = 0; status = (*(hw->mac.ops.get_link_capabilities))(hw, & link_capabilities, & autoneg); } if (status != 0) { goto out; } else { } speed = speed & link_capabilities; if (speed == 0U) { status = -8; goto out; } else { } if ((int )hw->mac.orig_link_settings_stored) { autoc = hw->mac.orig_autoc; } else { { autoc = ixgbe_read_reg(hw, 17056U); } } orig_autoc = autoc; start_autoc = hw->mac.cached_autoc; link_mode = autoc & 57344U; pma_pmd_1g = autoc & 512U; if ((link_mode == 32768U || link_mode == 49152U) || link_mode == 57344U) { autoc = autoc & 1073676287U; if ((speed & 128U) != 0U) { if ((int )orig_autoc < 0) { autoc = autoc | 2147483648U; } else { } if ((orig_autoc & 65536U) != 0U && ! hw->phy.smart_speed_active) { autoc = autoc | 65536U; } else { } } else { } if ((speed & 32U) != 0U) { autoc = autoc | 1073741824U; } else { } } else if (pma_pmd_1g == 0U && (link_mode == 0U || link_mode == 16384U)) { if (speed == 128U && pma_pmd_10g_serial == 131072U) { autoc = autoc & 4294909951U; autoc = autoc | 24576U; } else { } } else if (pma_pmd_10g_serial == 131072U && link_mode == 24576U) { if (speed == 32U && pma_pmd_1g == 0U) { autoc = autoc & 4294909951U; if ((int )autoneg) { autoc = autoc | 16384U; } else { autoc = autoc; } } else { } } else { } if (autoc != start_autoc) { { tmp___0 = ixgbe_verify_lesm_fw_enabled_82599(hw); } if ((int )tmp___0) { { status = (*(hw->mac.ops.acquire_swfw_sync))(hw, 8); } if (status != 0) { goto out; } else { } got_lock = 1; } else { } { ixgbe_write_reg(hw, 17056U, autoc); hw->mac.cached_autoc = autoc; ixgbe_reset_pipeline_82599(hw); } if ((int )got_lock) { { (*(hw->mac.ops.release_swfw_sync))(hw, 8); } } else { } if ((int )autoneg_wait_to_complete) { if ((link_mode == 32768U || link_mode == 49152U) || link_mode == 57344U) { links_reg = 0U; i = 0U; goto ldv_51179; ldv_51178: { links_reg = ixgbe_read_reg(hw, 17060U); } if ((int )links_reg < 0) { goto ldv_51177; } else { } { msleep(100U); i = i + 1U; } ldv_51179: ; if (i <= 44U) { goto ldv_51178; } else { } ldv_51177: ; if ((int )links_reg >= 0) { { status = -14; descriptor.modname = "ixgbe"; descriptor.function = "ixgbe_setup_mac_link_82599"; descriptor.filename = "drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c"; descriptor.format = "Autoneg did not complete.\n"; descriptor.lineno = 1072U; descriptor.flags = 0U; tmp___1 = ldv__builtin_expect((long )descriptor.flags & 1L, 0L); } if (tmp___1 != 0L) { { __dynamic_netdev_dbg(& descriptor, (struct net_device const *)((struct ixgbe_adapter *)hw->back)->netdev, "Autoneg did not complete.\n"); } } else { } } else { } } else { } } else { } { msleep(50U); } } else { } out: ; return (status); } } static s32 ixgbe_setup_copper_link_82599(struct ixgbe_hw *hw , ixgbe_link_speed speed , bool autoneg_wait_to_complete ) { s32 status ; { { status = (*(hw->phy.ops.setup_link_speed))(hw, speed, (int )autoneg_wait_to_complete); ixgbe_start_mac_link_82599(hw, (int )autoneg_wait_to_complete); } return (status); } } static s32 ixgbe_reset_hw_82599(struct ixgbe_hw *hw ) { ixgbe_link_speed link_speed ; s32 status ; u32 ctrl ; u32 i ; u32 autoc2 ; u32 curr_lms ; bool link_up ; u32 tmp ; u32 tmp___0 ; struct _ddebug descriptor ; long tmp___1 ; bool got_lock ; bool tmp___2 ; bool tmp___3 ; { { link_up = 0; status = (*(hw->mac.ops.stop_adapter))(hw); } if (status != 0) { goto reset_hw_out; } else { } { ixgbe_clear_tx_pending(hw); status = (*(hw->phy.ops.init))(hw); } if (status == -19) { goto reset_hw_out; } else { } if ((int )hw->phy.sfp_setup_needed) { { status = (*(hw->mac.ops.setup_sfp))(hw); hw->phy.sfp_setup_needed = 0; } } else { } if (status == -19) { goto reset_hw_out; } else { } if (! hw->phy.reset_disable && (unsigned long )hw->phy.ops.reset != (unsigned long )((s32 (*)(struct ixgbe_hw * ))0)) { { (*(hw->phy.ops.reset))(hw); } } else { } if (hw->mac.cached_autoc != 0U) { curr_lms = hw->mac.cached_autoc & 57344U; } else { { tmp = ixgbe_read_reg(hw, 17056U); curr_lms = tmp & 57344U; } } mac_reset_top: ctrl = 8U; if (! hw->force_full_reset) { { (*(hw->mac.ops.check_link))(hw, & link_speed, & link_up, 0); } if ((int )link_up) { ctrl = 67108864U; } else { } } else { } { tmp___0 = ixgbe_read_reg(hw, 0U); ctrl = ctrl | tmp___0; ixgbe_write_reg(hw, 0U, ctrl); ixgbe_read_reg(hw, 8U); i = 0U; } goto ldv_51202; ldv_51201: { __const_udelay(4295UL); ctrl = ixgbe_read_reg(hw, 0U); } if ((ctrl & 67108872U) == 0U) { goto ldv_51200; } else { } i = i + 1U; ldv_51202: ; if (i <= 9U) { goto ldv_51201; } else { } ldv_51200: ; if ((ctrl & 67108872U) != 0U) { { status = -15; descriptor.modname = "ixgbe"; descriptor.function = "ixgbe_reset_hw_82599"; descriptor.filename = "drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c"; descriptor.format = "Reset polling failed to complete.\n"; descriptor.lineno = 1188U; descriptor.flags = 0U; tmp___1 = ldv__builtin_expect((long )descriptor.flags & 1L, 0L); } if (tmp___1 != 0L) { { __dynamic_netdev_dbg(& descriptor, (struct net_device const *)((struct ixgbe_adapter *)hw->back)->netdev, "Reset polling failed to complete.\n"); } } else { } } else { } { msleep(50U); } if ((int )hw->mac.flags & 1) { hw->mac.flags = (unsigned int )hw->mac.flags & 254U; goto mac_reset_top; } else { } { hw->mac.cached_autoc = ixgbe_read_reg(hw, 17056U); autoc2 = ixgbe_read_reg(hw, 17064U); } if ((autoc2 & 1879048192U) != 0U) { { autoc2 = autoc2 & 2415919103U; ixgbe_write_reg(hw, 17064U, autoc2); ixgbe_read_reg(hw, 8U); } } else { } if (! hw->mac.orig_link_settings_stored) { hw->mac.orig_autoc = hw->mac.cached_autoc; hw->mac.orig_autoc2 = autoc2; hw->mac.orig_link_settings_stored = 1; } else { if (((int )hw->phy.multispeed_fiber && (int )hw->mng_fw_enabled) || (int )hw->wol_enabled) { hw->mac.orig_autoc = (hw->mac.orig_autoc & 4294909951U) | curr_lms; } else { } if (hw->mac.cached_autoc != hw->mac.orig_autoc) { { got_lock = 0; tmp___2 = ixgbe_verify_lesm_fw_enabled_82599(hw); } if ((int )tmp___2) { { status = (*(hw->mac.ops.acquire_swfw_sync))(hw, 8); } if (status != 0) { goto reset_hw_out; } else { } got_lock = 1; } else { } { ixgbe_write_reg(hw, 17056U, hw->mac.orig_autoc); hw->mac.cached_autoc = hw->mac.orig_autoc; ixgbe_reset_pipeline_82599(hw); } if ((int )got_lock) { { (*(hw->mac.ops.release_swfw_sync))(hw, 8); } } else { } } else { } if (((autoc2 ^ hw->mac.orig_autoc2) & 4294901760U) != 0U) { { autoc2 = autoc2 & 65535U; autoc2 = autoc2 | (hw->mac.orig_autoc2 & 4294901760U); ixgbe_write_reg(hw, 17064U, autoc2); } } else { } } { (*(hw->mac.ops.get_mac_addr))(hw, (u8 *)(& hw->mac.perm_addr)); hw->mac.num_rar_entries = 128U; (*(hw->mac.ops.init_rx_addrs))(hw); (*(hw->mac.ops.get_san_mac_addr))(hw, (u8 *)(& hw->mac.san_addr)); tmp___3 = is_valid_ether_addr((u8 const *)(& hw->mac.san_addr)); } if ((int )tmp___3) { { (*(hw->mac.ops.set_rar))(hw, hw->mac.num_rar_entries - 1U, (u8 *)(& hw->mac.san_addr), 0U, 2147483648U); hw->mac.san_mac_rar_index = (unsigned int )((u8 )hw->mac.num_rar_entries) - 1U; hw->mac.num_rar_entries = hw->mac.num_rar_entries - 1U; } } else { } { (*(hw->mac.ops.get_wwn_prefix))(hw, & hw->mac.wwnn_prefix, & hw->mac.wwpn_prefix); } reset_hw_out: ; return (status); } } s32 ixgbe_reinit_fdir_tables_82599(struct ixgbe_hw *hw ) { int i ; u32 fdirctrl ; u32 tmp ; u32 tmp___0 ; struct _ddebug descriptor ; long tmp___1 ; u32 tmp___2 ; u32 tmp___3 ; u32 tmp___4 ; struct _ddebug descriptor___0 ; long tmp___5 ; { { tmp = ixgbe_read_reg(hw, 60928U); fdirctrl = tmp; fdirctrl = fdirctrl & 4294967287U; i = 0; } goto ldv_51213; ldv_51212: { tmp___0 = ixgbe_read_reg(hw, 60972U); } if ((tmp___0 & 3U) == 0U) { goto ldv_51211; } else { } { __const_udelay(42950UL); i = i + 1; } ldv_51213: ; if (i <= 9) { goto ldv_51212; } else { } ldv_51211: ; if (i > 9) { { descriptor.modname = "ixgbe"; descriptor.function = "ixgbe_reinit_fdir_tables_82599"; descriptor.filename = "drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c"; descriptor.format = "Flow Director previous command isn\'t complete, aborting table re-initialization.\n"; descriptor.lineno = 1325U; descriptor.flags = 0U; tmp___1 = ldv__builtin_expect((long )descriptor.flags & 1L, 0L); } if (tmp___1 != 0L) { { __dynamic_netdev_dbg(& descriptor, (struct net_device const *)((struct ixgbe_adapter *)hw->back)->netdev, "Flow Director previous command isn\'t complete, aborting table re-initialization.\n"); } } else { } return (-23); } else { } { ixgbe_write_reg(hw, 60984U, 0U); ixgbe_read_reg(hw, 8U); tmp___2 = ixgbe_read_reg(hw, 60972U); ixgbe_write_reg(hw, 60972U, tmp___2 | 256U); ixgbe_read_reg(hw, 8U); tmp___3 = ixgbe_read_reg(hw, 60972U); ixgbe_write_reg(hw, 60972U, tmp___3 & 4294967039U); ixgbe_read_reg(hw, 8U); ixgbe_write_reg(hw, 60968U, 0U); ixgbe_read_reg(hw, 8U); ixgbe_write_reg(hw, 60928U, fdirctrl); ixgbe_read_reg(hw, 8U); i = 0; } goto ldv_51218; ldv_51217: { tmp___4 = ixgbe_read_reg(hw, 60928U); } if ((tmp___4 & 8U) != 0U) { goto ldv_51216; } else { } { usleep_range(1000UL, 2000UL); i = i + 1; } ldv_51218: ; if (i <= 9) { goto ldv_51217; } else { } ldv_51216: ; if (i > 9) { { descriptor___0.modname = "ixgbe"; descriptor___0.function = "ixgbe_reinit_fdir_tables_82599"; descriptor___0.filename = "drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c"; descriptor___0.format = "Flow Director Signature poll time exceeded!\n"; descriptor___0.lineno = 1364U; descriptor___0.flags = 0U; tmp___5 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); } if (tmp___5 != 0L) { { __dynamic_netdev_dbg(& descriptor___0, (struct net_device const *)((struct ixgbe_adapter *)hw->back)->netdev, "Flow Director Signature poll time exceeded!\n"); } } else { } return (-23); } else { } { ixgbe_read_reg(hw, 61008U); ixgbe_read_reg(hw, 61012U); ixgbe_read_reg(hw, 61016U); ixgbe_read_reg(hw, 61020U); ixgbe_read_reg(hw, 61004U); } return (0); } } static void ixgbe_fdir_enable_82599(struct ixgbe_hw *hw , u32 fdirctrl ) { int i ; u32 tmp ; struct _ddebug descriptor ; long tmp___0 ; { { ixgbe_write_reg(hw, 61032U, 1034753250U); ixgbe_write_reg(hw, 61036U, 390936084U); ixgbe_write_reg(hw, 60928U, fdirctrl); ixgbe_read_reg(hw, 8U); i = 0; } goto ldv_51227; ldv_51226: { tmp = ixgbe_read_reg(hw, 60928U); } if ((tmp & 8U) != 0U) { goto ldv_51225; } else { } { usleep_range(1000UL, 2000UL); i = i + 1; } ldv_51227: ; if (i <= 9) { goto ldv_51226; } else { } ldv_51225: ; if (i > 9) { { descriptor.modname = "ixgbe"; descriptor.function = "ixgbe_fdir_enable_82599"; descriptor.filename = "drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c"; descriptor.format = "Flow Director poll time exceeded!\n"; descriptor.lineno = 1414U; descriptor.flags = 0U; tmp___0 = ldv__builtin_expect((long )descriptor.flags & 1L, 0L); } if (tmp___0 != 0L) { { __dynamic_netdev_dbg(& descriptor, (struct net_device const *)((struct ixgbe_adapter *)hw->back)->netdev, "Flow Director poll time exceeded!\n"); } } else { } } else { } return; } } s32 ixgbe_init_fdir_signature_82599(struct ixgbe_hw *hw , u32 fdirctrl ) { { { fdirctrl = fdirctrl | 1241907200U; ixgbe_fdir_enable_82599(hw, fdirctrl); } return (0); } } s32 ixgbe_init_fdir_perfect_82599(struct ixgbe_hw *hw , u32 fdirctrl ) { { { fdirctrl = fdirctrl | 1241939760U; ixgbe_fdir_enable_82599(hw, fdirctrl); } return (0); } } static u32 ixgbe_atr_compute_sig_hash_82599(union ixgbe_atr_hash_dword input , union ixgbe_atr_hash_dword common ) { u32 hi_hash_dword ; u32 lo_hash_dword ; u32 flow_vm_vlan ; u32 sig_hash ; u32 bucket_hash ; u32 common_hash ; __u32 tmp ; __u32 tmp___0 ; u32 n ; u32 n___0 ; u32 n___1 ; u32 n___2 ; u32 n___3 ; u32 n___4 ; u32 n___5 ; u32 n___6 ; u32 n___7 ; u32 n___8 ; u32 n___9 ; u32 n___10 ; u32 n___11 ; u32 n___12 ; u32 n___13 ; u32 n___14 ; { { sig_hash = 0U; bucket_hash = 0U; common_hash = 0U; tmp = __fswab32(input.dword); flow_vm_vlan = tmp; tmp___0 = __fswab32(common.dword); hi_hash_dword = tmp___0; lo_hash_dword = (hi_hash_dword << 16) | (hi_hash_dword >> (8UL * sizeof(hi_hash_dword) - 16UL)); hi_hash_dword = hi_hash_dword ^ (flow_vm_vlan ^ (flow_vm_vlan >> 16)); n = 0U; } if ((353178624 >> (int )n) & 1) { common_hash = common_hash ^ (lo_hash_dword >> (int )n); } else if ((1034753250 >> (int )n) & 1) { bucket_hash = bucket_hash ^ (lo_hash_dword >> (int )n); } else if ((390936084 >> (int )n) & 1) { sig_hash = sig_hash ^ (lo_hash_dword << (int )(16U - n)); } else { } if ((353178624 >> (int )(n + 16U)) & 1) { common_hash = common_hash ^ (hi_hash_dword >> (int )n); } else if ((1034753250 >> (int )(n + 16U)) & 1) { bucket_hash = bucket_hash ^ (hi_hash_dword >> (int )n); } else if ((390936084 >> (int )(n + 16U)) & 1) { sig_hash = sig_hash ^ (hi_hash_dword << (int )(16U - n)); } else { } lo_hash_dword = lo_hash_dword ^ (flow_vm_vlan ^ (flow_vm_vlan << 16)); n___0 = 1U; if ((353178624 >> (int )n___0) & 1) { common_hash = common_hash ^ (lo_hash_dword >> (int )n___0); } else if ((1034753250 >> (int )n___0) & 1) { bucket_hash = bucket_hash ^ (lo_hash_dword >> (int )n___0); } else if ((390936084 >> (int )n___0) & 1) { sig_hash = sig_hash ^ (lo_hash_dword << (int )(16U - n___0)); } else { } if ((353178624 >> (int )(n___0 + 16U)) & 1) { common_hash = common_hash ^ (hi_hash_dword >> (int )n___0); } else if ((1034753250 >> (int )(n___0 + 16U)) & 1) { bucket_hash = bucket_hash ^ (hi_hash_dword >> (int )n___0); } else if ((390936084 >> (int )(n___0 + 16U)) & 1) { sig_hash = sig_hash ^ (hi_hash_dword << (int )(16U - n___0)); } else { } n___1 = 2U; if ((353178624 >> (int )n___1) & 1) { common_hash = common_hash ^ (lo_hash_dword >> (int )n___1); } else if ((1034753250 >> (int )n___1) & 1) { bucket_hash = bucket_hash ^ (lo_hash_dword >> (int )n___1); } else if ((390936084 >> (int )n___1) & 1) { sig_hash = sig_hash ^ (lo_hash_dword << (int )(16U - n___1)); } else { } if ((353178624 >> (int )(n___1 + 16U)) & 1) { common_hash = common_hash ^ (hi_hash_dword >> (int )n___1); } else if ((1034753250 >> (int )(n___1 + 16U)) & 1) { bucket_hash = bucket_hash ^ (hi_hash_dword >> (int )n___1); } else if ((390936084 >> (int )(n___1 + 16U)) & 1) { sig_hash = sig_hash ^ (hi_hash_dword << (int )(16U - n___1)); } else { } n___2 = 3U; if ((353178624 >> (int )n___2) & 1) { common_hash = common_hash ^ (lo_hash_dword >> (int )n___2); } else if ((1034753250 >> (int )n___2) & 1) { bucket_hash = bucket_hash ^ (lo_hash_dword >> (int )n___2); } else if ((390936084 >> (int )n___2) & 1) { sig_hash = sig_hash ^ (lo_hash_dword << (int )(16U - n___2)); } else { } if ((353178624 >> (int )(n___2 + 16U)) & 1) { common_hash = common_hash ^ (hi_hash_dword >> (int )n___2); } else if ((1034753250 >> (int )(n___2 + 16U)) & 1) { bucket_hash = bucket_hash ^ (hi_hash_dword >> (int )n___2); } else if ((390936084 >> (int )(n___2 + 16U)) & 1) { sig_hash = sig_hash ^ (hi_hash_dword << (int )(16U - n___2)); } else { } n___3 = 4U; if ((353178624 >> (int )n___3) & 1) { common_hash = common_hash ^ (lo_hash_dword >> (int )n___3); } else if ((1034753250 >> (int )n___3) & 1) { bucket_hash = bucket_hash ^ (lo_hash_dword >> (int )n___3); } else if ((390936084 >> (int )n___3) & 1) { sig_hash = sig_hash ^ (lo_hash_dword << (int )(16U - n___3)); } else { } if ((353178624 >> (int )(n___3 + 16U)) & 1) { common_hash = common_hash ^ (hi_hash_dword >> (int )n___3); } else if ((1034753250 >> (int )(n___3 + 16U)) & 1) { bucket_hash = bucket_hash ^ (hi_hash_dword >> (int )n___3); } else if ((390936084 >> (int )(n___3 + 16U)) & 1) { sig_hash = sig_hash ^ (hi_hash_dword << (int )(16U - n___3)); } else { } n___4 = 5U; if ((353178624 >> (int )n___4) & 1) { common_hash = common_hash ^ (lo_hash_dword >> (int )n___4); } else if ((1034753250 >> (int )n___4) & 1) { bucket_hash = bucket_hash ^ (lo_hash_dword >> (int )n___4); } else if ((390936084 >> (int )n___4) & 1) { sig_hash = sig_hash ^ (lo_hash_dword << (int )(16U - n___4)); } else { } if ((353178624 >> (int )(n___4 + 16U)) & 1) { common_hash = common_hash ^ (hi_hash_dword >> (int )n___4); } else if ((1034753250 >> (int )(n___4 + 16U)) & 1) { bucket_hash = bucket_hash ^ (hi_hash_dword >> (int )n___4); } else if ((390936084 >> (int )(n___4 + 16U)) & 1) { sig_hash = sig_hash ^ (hi_hash_dword << (int )(16U - n___4)); } else { } n___5 = 6U; if ((353178624 >> (int )n___5) & 1) { common_hash = common_hash ^ (lo_hash_dword >> (int )n___5); } else if ((1034753250 >> (int )n___5) & 1) { bucket_hash = bucket_hash ^ (lo_hash_dword >> (int )n___5); } else if ((390936084 >> (int )n___5) & 1) { sig_hash = sig_hash ^ (lo_hash_dword << (int )(16U - n___5)); } else { } if ((353178624 >> (int )(n___5 + 16U)) & 1) { common_hash = common_hash ^ (hi_hash_dword >> (int )n___5); } else if ((1034753250 >> (int )(n___5 + 16U)) & 1) { bucket_hash = bucket_hash ^ (hi_hash_dword >> (int )n___5); } else if ((390936084 >> (int )(n___5 + 16U)) & 1) { sig_hash = sig_hash ^ (hi_hash_dword << (int )(16U - n___5)); } else { } n___6 = 7U; if ((353178624 >> (int )n___6) & 1) { common_hash = common_hash ^ (lo_hash_dword >> (int )n___6); } else if ((1034753250 >> (int )n___6) & 1) { bucket_hash = bucket_hash ^ (lo_hash_dword >> (int )n___6); } else if ((390936084 >> (int )n___6) & 1) { sig_hash = sig_hash ^ (lo_hash_dword << (int )(16U - n___6)); } else { } if ((353178624 >> (int )(n___6 + 16U)) & 1) { common_hash = common_hash ^ (hi_hash_dword >> (int )n___6); } else if ((1034753250 >> (int )(n___6 + 16U)) & 1) { bucket_hash = bucket_hash ^ (hi_hash_dword >> (int )n___6); } else if ((390936084 >> (int )(n___6 + 16U)) & 1) { sig_hash = sig_hash ^ (hi_hash_dword << (int )(16U - n___6)); } else { } n___7 = 8U; if ((353178624 >> (int )n___7) & 1) { common_hash = common_hash ^ (lo_hash_dword >> (int )n___7); } else if ((1034753250 >> (int )n___7) & 1) { bucket_hash = bucket_hash ^ (lo_hash_dword >> (int )n___7); } else if ((390936084 >> (int )n___7) & 1) { sig_hash = sig_hash ^ (lo_hash_dword << (int )(16U - n___7)); } else { } if ((353178624 >> (int )(n___7 + 16U)) & 1) { common_hash = common_hash ^ (hi_hash_dword >> (int )n___7); } else if ((1034753250 >> (int )(n___7 + 16U)) & 1) { bucket_hash = bucket_hash ^ (hi_hash_dword >> (int )n___7); } else if ((390936084 >> (int )(n___7 + 16U)) & 1) { sig_hash = sig_hash ^ (hi_hash_dword << (int )(16U - n___7)); } else { } n___8 = 9U; if ((353178624 >> (int )n___8) & 1) { common_hash = common_hash ^ (lo_hash_dword >> (int )n___8); } else if ((1034753250 >> (int )n___8) & 1) { bucket_hash = bucket_hash ^ (lo_hash_dword >> (int )n___8); } else if ((390936084 >> (int )n___8) & 1) { sig_hash = sig_hash ^ (lo_hash_dword << (int )(16U - n___8)); } else { } if ((353178624 >> (int )(n___8 + 16U)) & 1) { common_hash = common_hash ^ (hi_hash_dword >> (int )n___8); } else if ((1034753250 >> (int )(n___8 + 16U)) & 1) { bucket_hash = bucket_hash ^ (hi_hash_dword >> (int )n___8); } else if ((390936084 >> (int )(n___8 + 16U)) & 1) { sig_hash = sig_hash ^ (hi_hash_dword << (int )(16U - n___8)); } else { } n___9 = 10U; if ((353178624 >> (int )n___9) & 1) { common_hash = common_hash ^ (lo_hash_dword >> (int )n___9); } else if ((1034753250 >> (int )n___9) & 1) { bucket_hash = bucket_hash ^ (lo_hash_dword >> (int )n___9); } else if ((390936084 >> (int )n___9) & 1) { sig_hash = sig_hash ^ (lo_hash_dword << (int )(16U - n___9)); } else { } if ((353178624 >> (int )(n___9 + 16U)) & 1) { common_hash = common_hash ^ (hi_hash_dword >> (int )n___9); } else if ((1034753250 >> (int )(n___9 + 16U)) & 1) { bucket_hash = bucket_hash ^ (hi_hash_dword >> (int )n___9); } else if ((390936084 >> (int )(n___9 + 16U)) & 1) { sig_hash = sig_hash ^ (hi_hash_dword << (int )(16U - n___9)); } else { } n___10 = 11U; if ((353178624 >> (int )n___10) & 1) { common_hash = common_hash ^ (lo_hash_dword >> (int )n___10); } else if ((1034753250 >> (int )n___10) & 1) { bucket_hash = bucket_hash ^ (lo_hash_dword >> (int )n___10); } else if ((390936084 >> (int )n___10) & 1) { sig_hash = sig_hash ^ (lo_hash_dword << (int )(16U - n___10)); } else { } if ((353178624 >> (int )(n___10 + 16U)) & 1) { common_hash = common_hash ^ (hi_hash_dword >> (int )n___10); } else if ((1034753250 >> (int )(n___10 + 16U)) & 1) { bucket_hash = bucket_hash ^ (hi_hash_dword >> (int )n___10); } else if ((390936084 >> (int )(n___10 + 16U)) & 1) { sig_hash = sig_hash ^ (hi_hash_dword << (int )(16U - n___10)); } else { } n___11 = 12U; if ((353178624 >> (int )n___11) & 1) { common_hash = common_hash ^ (lo_hash_dword >> (int )n___11); } else if ((1034753250 >> (int )n___11) & 1) { bucket_hash = bucket_hash ^ (lo_hash_dword >> (int )n___11); } else if ((390936084 >> (int )n___11) & 1) { sig_hash = sig_hash ^ (lo_hash_dword << (int )(16U - n___11)); } else { } if ((353178624 >> (int )(n___11 + 16U)) & 1) { common_hash = common_hash ^ (hi_hash_dword >> (int )n___11); } else if ((1034753250 >> (int )(n___11 + 16U)) & 1) { bucket_hash = bucket_hash ^ (hi_hash_dword >> (int )n___11); } else if ((390936084 >> (int )(n___11 + 16U)) & 1) { sig_hash = sig_hash ^ (hi_hash_dword << (int )(16U - n___11)); } else { } n___12 = 13U; if ((353178624 >> (int )n___12) & 1) { common_hash = common_hash ^ (lo_hash_dword >> (int )n___12); } else if ((1034753250 >> (int )n___12) & 1) { bucket_hash = bucket_hash ^ (lo_hash_dword >> (int )n___12); } else if ((390936084 >> (int )n___12) & 1) { sig_hash = sig_hash ^ (lo_hash_dword << (int )(16U - n___12)); } else { } if ((353178624 >> (int )(n___12 + 16U)) & 1) { common_hash = common_hash ^ (hi_hash_dword >> (int )n___12); } else if ((1034753250 >> (int )(n___12 + 16U)) & 1) { bucket_hash = bucket_hash ^ (hi_hash_dword >> (int )n___12); } else if ((390936084 >> (int )(n___12 + 16U)) & 1) { sig_hash = sig_hash ^ (hi_hash_dword << (int )(16U - n___12)); } else { } n___13 = 14U; if ((353178624 >> (int )n___13) & 1) { common_hash = common_hash ^ (lo_hash_dword >> (int )n___13); } else if ((1034753250 >> (int )n___13) & 1) { bucket_hash = bucket_hash ^ (lo_hash_dword >> (int )n___13); } else if ((390936084 >> (int )n___13) & 1) { sig_hash = sig_hash ^ (lo_hash_dword << (int )(16U - n___13)); } else { } if ((353178624 >> (int )(n___13 + 16U)) & 1) { common_hash = common_hash ^ (hi_hash_dword >> (int )n___13); } else if ((1034753250 >> (int )(n___13 + 16U)) & 1) { bucket_hash = bucket_hash ^ (hi_hash_dword >> (int )n___13); } else if ((390936084 >> (int )(n___13 + 16U)) & 1) { sig_hash = sig_hash ^ (hi_hash_dword << (int )(16U - n___13)); } else { } n___14 = 15U; if ((353178624 >> (int )n___14) & 1) { common_hash = common_hash ^ (lo_hash_dword >> (int )n___14); } else if ((1034753250 >> (int )n___14) & 1) { bucket_hash = bucket_hash ^ (lo_hash_dword >> (int )n___14); } else if ((390936084 >> (int )n___14) & 1) { sig_hash = sig_hash ^ (lo_hash_dword << (int )(16U - n___14)); } else { } if ((353178624 >> (int )(n___14 + 16U)) & 1) { common_hash = common_hash ^ (hi_hash_dword >> (int )n___14); } else if ((1034753250 >> (int )(n___14 + 16U)) & 1) { bucket_hash = bucket_hash ^ (hi_hash_dword >> (int )n___14); } else if ((390936084 >> (int )(n___14 + 16U)) & 1) { sig_hash = sig_hash ^ (hi_hash_dword << (int )(16U - n___14)); } else { } bucket_hash = bucket_hash ^ common_hash; bucket_hash = bucket_hash & 32767U; sig_hash = sig_hash ^ (common_hash << 16); sig_hash = sig_hash & 2147418112U; return (sig_hash ^ bucket_hash); } } s32 ixgbe_fdir_add_signature_filter_82599(struct ixgbe_hw *hw , union ixgbe_atr_hash_dword input , union ixgbe_atr_hash_dword common , u8 queue ) { u64 fdirhashcmd ; u32 fdircmd ; struct _ddebug descriptor ; long tmp ; u32 tmp___0 ; struct _ddebug descriptor___0 ; long tmp___1 ; { { if ((int )input.formatted.flow_type == 2) { goto case_2; } else { } if ((int )input.formatted.flow_type == 1) { goto case_1; } else { } if ((int )input.formatted.flow_type == 3) { goto case_3; } else { } if ((int )input.formatted.flow_type == 6) { goto case_6; } else { } if ((int )input.formatted.flow_type == 5) { goto case_5; } else { } if ((int )input.formatted.flow_type == 7) { goto case_7; } else { } goto switch_default; case_2: /* CIL Label */ ; case_1: /* CIL Label */ ; case_3: /* CIL Label */ ; case_6: /* CIL Label */ ; case_5: /* CIL Label */ ; case_7: /* CIL Label */ ; goto ldv_51278; switch_default: /* CIL Label */ { descriptor.modname = "ixgbe"; descriptor.function = "ixgbe_fdir_add_signature_filter_82599"; descriptor.filename = "drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c"; descriptor.format = " Error on flow type input\n"; descriptor.lineno = 1589U; descriptor.flags = 0U; tmp = ldv__builtin_expect((long )descriptor.flags & 1L, 0L); } if (tmp != 0L) { { __dynamic_netdev_dbg(& descriptor, (struct net_device const *)((struct ixgbe_adapter *)hw->back)->netdev, " Error on flow type input\n"); } } else { } return (-4); switch_break: /* CIL Label */ ; } ldv_51278: { fdircmd = 34825U; fdircmd = fdircmd | (u32 )((int )input.formatted.flow_type << 5); fdircmd = fdircmd | ((unsigned int )queue << 16); fdirhashcmd = (unsigned long long )fdircmd << 32; tmp___0 = ixgbe_atr_compute_sig_hash_82599(input, common); fdirhashcmd = fdirhashcmd | (u64 )tmp___0; ixgbe_write_reg64(hw, 60968U, fdirhashcmd); descriptor___0.modname = "ixgbe"; descriptor___0.function = "ixgbe_fdir_add_signature_filter_82599"; descriptor___0.filename = "drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c"; descriptor___0.format = "Tx Queue=%x hash=%x\n"; descriptor___0.lineno = 1607U; descriptor___0.flags = 0U; tmp___1 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); } if (tmp___1 != 0L) { { __dynamic_netdev_dbg(& descriptor___0, (struct net_device const *)((struct ixgbe_adapter *)hw->back)->netdev, "Tx Queue=%x hash=%x\n", (int )queue, (unsigned int )fdirhashcmd); } } else { } return (0); } } void ixgbe_atr_compute_perfect_hash_82599(union ixgbe_atr_input *input , union ixgbe_atr_input *input_mask ) { u32 hi_hash_dword ; u32 lo_hash_dword ; u32 flow_vm_vlan ; u32 bucket_hash ; __u32 tmp ; __u32 tmp___0 ; u32 n ; u32 n___0 ; u32 n___1 ; u32 n___2 ; u32 n___3 ; u32 n___4 ; u32 n___5 ; u32 n___6 ; u32 n___7 ; u32 n___8 ; u32 n___9 ; u32 n___10 ; u32 n___11 ; u32 n___12 ; u32 n___13 ; u32 n___14 ; { { bucket_hash = 0U; input->dword_stream[0] = input->dword_stream[0] & input_mask->dword_stream[0]; input->dword_stream[1] = input->dword_stream[1] & input_mask->dword_stream[1]; input->dword_stream[2] = input->dword_stream[2] & input_mask->dword_stream[2]; input->dword_stream[3] = input->dword_stream[3] & input_mask->dword_stream[3]; input->dword_stream[4] = input->dword_stream[4] & input_mask->dword_stream[4]; input->dword_stream[5] = input->dword_stream[5] & input_mask->dword_stream[5]; input->dword_stream[6] = input->dword_stream[6] & input_mask->dword_stream[6]; input->dword_stream[7] = input->dword_stream[7] & input_mask->dword_stream[7]; input->dword_stream[8] = input->dword_stream[8] & input_mask->dword_stream[8]; input->dword_stream[9] = input->dword_stream[9] & input_mask->dword_stream[9]; input->dword_stream[10] = input->dword_stream[10] & input_mask->dword_stream[10]; tmp = __fswab32(input->dword_stream[0]); flow_vm_vlan = tmp; tmp___0 = __fswab32(((((((((input->dword_stream[1] ^ input->dword_stream[2]) ^ input->dword_stream[3]) ^ input->dword_stream[4]) ^ input->dword_stream[5]) ^ input->dword_stream[6]) ^ input->dword_stream[7]) ^ input->dword_stream[8]) ^ input->dword_stream[9]) ^ input->dword_stream[10]); hi_hash_dword = tmp___0; lo_hash_dword = (hi_hash_dword << 16) | (hi_hash_dword >> (8UL * sizeof(hi_hash_dword) - 16UL)); hi_hash_dword = hi_hash_dword ^ (flow_vm_vlan ^ (flow_vm_vlan >> 16)); n = 0U; } if ((1034753250 >> (int )n) & 1) { bucket_hash = bucket_hash ^ (lo_hash_dword >> (int )n); } else { } if ((1034753250 >> (int )(n + 16U)) & 1) { bucket_hash = bucket_hash ^ (hi_hash_dword >> (int )n); } else { } lo_hash_dword = lo_hash_dword ^ (flow_vm_vlan ^ (flow_vm_vlan << 16)); n___0 = 1U; if ((1034753250 >> (int )n___0) & 1) { bucket_hash = bucket_hash ^ (lo_hash_dword >> (int )n___0); } else { } if ((1034753250 >> (int )(n___0 + 16U)) & 1) { bucket_hash = bucket_hash ^ (hi_hash_dword >> (int )n___0); } else { } n___1 = 2U; if ((1034753250 >> (int )n___1) & 1) { bucket_hash = bucket_hash ^ (lo_hash_dword >> (int )n___1); } else { } if ((1034753250 >> (int )(n___1 + 16U)) & 1) { bucket_hash = bucket_hash ^ (hi_hash_dword >> (int )n___1); } else { } n___2 = 3U; if ((1034753250 >> (int )n___2) & 1) { bucket_hash = bucket_hash ^ (lo_hash_dword >> (int )n___2); } else { } if ((1034753250 >> (int )(n___2 + 16U)) & 1) { bucket_hash = bucket_hash ^ (hi_hash_dword >> (int )n___2); } else { } n___3 = 4U; if ((1034753250 >> (int )n___3) & 1) { bucket_hash = bucket_hash ^ (lo_hash_dword >> (int )n___3); } else { } if ((1034753250 >> (int )(n___3 + 16U)) & 1) { bucket_hash = bucket_hash ^ (hi_hash_dword >> (int )n___3); } else { } n___4 = 5U; if ((1034753250 >> (int )n___4) & 1) { bucket_hash = bucket_hash ^ (lo_hash_dword >> (int )n___4); } else { } if ((1034753250 >> (int )(n___4 + 16U)) & 1) { bucket_hash = bucket_hash ^ (hi_hash_dword >> (int )n___4); } else { } n___5 = 6U; if ((1034753250 >> (int )n___5) & 1) { bucket_hash = bucket_hash ^ (lo_hash_dword >> (int )n___5); } else { } if ((1034753250 >> (int )(n___5 + 16U)) & 1) { bucket_hash = bucket_hash ^ (hi_hash_dword >> (int )n___5); } else { } n___6 = 7U; if ((1034753250 >> (int )n___6) & 1) { bucket_hash = bucket_hash ^ (lo_hash_dword >> (int )n___6); } else { } if ((1034753250 >> (int )(n___6 + 16U)) & 1) { bucket_hash = bucket_hash ^ (hi_hash_dword >> (int )n___6); } else { } n___7 = 8U; if ((1034753250 >> (int )n___7) & 1) { bucket_hash = bucket_hash ^ (lo_hash_dword >> (int )n___7); } else { } if ((1034753250 >> (int )(n___7 + 16U)) & 1) { bucket_hash = bucket_hash ^ (hi_hash_dword >> (int )n___7); } else { } n___8 = 9U; if ((1034753250 >> (int )n___8) & 1) { bucket_hash = bucket_hash ^ (lo_hash_dword >> (int )n___8); } else { } if ((1034753250 >> (int )(n___8 + 16U)) & 1) { bucket_hash = bucket_hash ^ (hi_hash_dword >> (int )n___8); } else { } n___9 = 10U; if ((1034753250 >> (int )n___9) & 1) { bucket_hash = bucket_hash ^ (lo_hash_dword >> (int )n___9); } else { } if ((1034753250 >> (int )(n___9 + 16U)) & 1) { bucket_hash = bucket_hash ^ (hi_hash_dword >> (int )n___9); } else { } n___10 = 11U; if ((1034753250 >> (int )n___10) & 1) { bucket_hash = bucket_hash ^ (lo_hash_dword >> (int )n___10); } else { } if ((1034753250 >> (int )(n___10 + 16U)) & 1) { bucket_hash = bucket_hash ^ (hi_hash_dword >> (int )n___10); } else { } n___11 = 12U; if ((1034753250 >> (int )n___11) & 1) { bucket_hash = bucket_hash ^ (lo_hash_dword >> (int )n___11); } else { } if ((1034753250 >> (int )(n___11 + 16U)) & 1) { bucket_hash = bucket_hash ^ (hi_hash_dword >> (int )n___11); } else { } n___12 = 13U; if ((1034753250 >> (int )n___12) & 1) { bucket_hash = bucket_hash ^ (lo_hash_dword >> (int )n___12); } else { } if ((1034753250 >> (int )(n___12 + 16U)) & 1) { bucket_hash = bucket_hash ^ (hi_hash_dword >> (int )n___12); } else { } n___13 = 14U; if ((1034753250 >> (int )n___13) & 1) { bucket_hash = bucket_hash ^ (lo_hash_dword >> (int )n___13); } else { } if ((1034753250 >> (int )(n___13 + 16U)) & 1) { bucket_hash = bucket_hash ^ (hi_hash_dword >> (int )n___13); } else { } n___14 = 15U; if ((1034753250 >> (int )n___14) & 1) { bucket_hash = bucket_hash ^ (lo_hash_dword >> (int )n___14); } else { } if ((1034753250 >> (int )(n___14 + 16U)) & 1) { bucket_hash = bucket_hash ^ (hi_hash_dword >> (int )n___14); } else { } input->formatted.bkt_hash = (unsigned int )((__be16 )bucket_hash) & 8191U; return; } } static u32 ixgbe_get_fdirtcpm_82599(union ixgbe_atr_input *input_mask ) { u32 mask ; __u16 tmp ; __u16 tmp___0 ; { { tmp = __fswab16((int )input_mask->formatted.dst_port); mask = (u32 )tmp; mask = mask << 16; tmp___0 = __fswab16((int )input_mask->formatted.src_port); mask = mask | (u32 )tmp___0; mask = ((mask & 1431655765U) << 1) | ((mask & 2863311530U) >> 1); mask = ((mask & 858993459U) << 2) | ((mask & 3435973836U) >> 2); mask = ((mask & 252645135U) << 4) | ((mask & 4042322160U) >> 4); } return (((mask & 16711935U) << 8) | ((mask & 4278255360U) >> 8)); } } s32 ixgbe_fdir_set_input_mask_82599(struct ixgbe_hw *hw , union ixgbe_atr_input *input_mask ) { u32 fdirm ; u32 fdirtcpm ; struct _ddebug descriptor ; long tmp ; struct _ddebug descriptor___0 ; long tmp___0 ; struct _ddebug descriptor___1 ; long tmp___1 ; struct _ddebug descriptor___2 ; long tmp___2 ; __u16 tmp___3 ; struct _ddebug descriptor___3 ; long tmp___4 ; struct _ddebug descriptor___4 ; long tmp___5 ; __u32 tmp___6 ; __u32 tmp___7 ; __u32 tmp___8 ; __u32 tmp___9 ; __u32 tmp___10 ; __u32 tmp___11 ; __u32 tmp___12 ; __u32 tmp___13 ; { fdirm = 32U; if ((unsigned int )input_mask->formatted.bkt_hash != 0U) { { descriptor.modname = "ixgbe"; descriptor.function = "ixgbe_fdir_set_input_mask_82599"; descriptor.filename = "drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c"; descriptor.format = " bucket hash should always be 0 in mask\n"; descriptor.lineno = 1763U; descriptor.flags = 0U; tmp = ldv__builtin_expect((long )descriptor.flags & 1L, 0L); } if (tmp != 0L) { { __dynamic_netdev_dbg(& descriptor, (struct net_device const *)((struct ixgbe_adapter *)hw->back)->netdev, " bucket hash should always be 0 in mask\n"); } } else { } } else { } { if (((int )input_mask->formatted.vm_pool & 127) == 0) { goto case_0; } else { } if (((int )input_mask->formatted.vm_pool & 127) == 127) { goto case_127; } else { } goto switch_default; case_0: /* CIL Label */ fdirm = fdirm | 4U; case_127: /* CIL Label */ ; goto ldv_51321; switch_default: /* CIL Label */ { descriptor___0.modname = "ixgbe"; descriptor___0.function = "ixgbe_fdir_set_input_mask_82599"; descriptor___0.filename = "drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c"; descriptor___0.format = " Error on vm pool mask\n"; descriptor___0.lineno = 1772U; descriptor___0.flags = 0U; tmp___0 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); } if (tmp___0 != 0L) { { __dynamic_netdev_dbg(& descriptor___0, (struct net_device const *)((struct ixgbe_adapter *)hw->back)->netdev, " Error on vm pool mask\n"); } } else { } return (-4); switch_break: /* CIL Label */ ; } ldv_51321: ; { if (((int )input_mask->formatted.flow_type & 3) == 0) { goto case_0___0; } else { } if (((int )input_mask->formatted.flow_type & 3) == 3) { goto case_3; } else { } goto switch_default___0; case_0___0: /* CIL Label */ fdirm = fdirm | 8U; if (*((unsigned int *)input_mask + 9UL) != 0U) { { descriptor___1.modname = "ixgbe"; descriptor___1.function = "ixgbe_fdir_set_input_mask_82599"; descriptor___1.filename = "drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c"; descriptor___1.format = " Error on src/dst port mask\n"; descriptor___1.lineno = 1781U; descriptor___1.flags = 0U; tmp___1 = ldv__builtin_expect((long )descriptor___1.flags & 1L, 0L); } if (tmp___1 != 0L) { { __dynamic_netdev_dbg(& descriptor___1, (struct net_device const *)((struct ixgbe_adapter *)hw->back)->netdev, " Error on src/dst port mask\n"); } } else { } return (-4); } else { } case_3: /* CIL Label */ ; goto ldv_51327; switch_default___0: /* CIL Label */ { descriptor___2.modname = "ixgbe"; descriptor___2.function = "ixgbe_fdir_set_input_mask_82599"; descriptor___2.filename = "drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c"; descriptor___2.format = " Error on flow type mask\n"; descriptor___2.lineno = 1787U; descriptor___2.flags = 0U; tmp___2 = ldv__builtin_expect((long )descriptor___2.flags & 1L, 0L); } if (tmp___2 != 0L) { { __dynamic_netdev_dbg(& descriptor___2, (struct net_device const *)((struct ixgbe_adapter *)hw->back)->netdev, " Error on flow type mask\n"); } } else { } return (-4); switch_break___0: /* CIL Label */ ; } ldv_51327: { tmp___3 = __fswab16((int )input_mask->formatted.vlan_id); } { if (((int )tmp___3 & 61439) == 0) { goto case_0___1; } else { } if (((int )tmp___3 & 61439) == 4095) { goto case_4095; } else { } if (((int )tmp___3 & 61439) == 57344) { goto case_57344; } else { } if (((int )tmp___3 & 61439) == 61439) { goto case_61439; } else { } goto switch_default___1; case_0___1: /* CIL Label */ fdirm = fdirm | 1U; case_4095: /* CIL Label */ fdirm = fdirm | 2U; goto ldv_51332; case_57344: /* CIL Label */ fdirm = fdirm | 1U; case_61439: /* CIL Label */ ; goto ldv_51332; switch_default___1: /* CIL Label */ { descriptor___3.modname = "ixgbe"; descriptor___3.function = "ixgbe_fdir_set_input_mask_82599"; descriptor___3.filename = "drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c"; descriptor___3.format = " Error on VLAN mask\n"; descriptor___3.lineno = 1806U; descriptor___3.flags = 0U; tmp___4 = ldv__builtin_expect((long )descriptor___3.flags & 1L, 0L); } if (tmp___4 != 0L) { { __dynamic_netdev_dbg(& descriptor___3, (struct net_device const *)((struct ixgbe_adapter *)hw->back)->netdev, " Error on VLAN mask\n"); } } else { } return (-4); switch_break___1: /* CIL Label */ ; } ldv_51332: ; { if ((int )input_mask->formatted.flex_bytes == 0) { goto case_0___2; } else { } if ((int )input_mask->formatted.flex_bytes == 65535) { goto case_65535; } else { } goto switch_default___2; case_0___2: /* CIL Label */ fdirm = fdirm | 16U; case_65535: /* CIL Label */ ; goto ldv_51339; switch_default___2: /* CIL Label */ { descriptor___4.modname = "ixgbe"; descriptor___4.function = "ixgbe_fdir_set_input_mask_82599"; descriptor___4.filename = "drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c"; descriptor___4.format = " Error on flexible byte mask\n"; descriptor___4.lineno = 1817U; descriptor___4.flags = 0U; tmp___5 = ldv__builtin_expect((long )descriptor___4.flags & 1L, 0L); } if (tmp___5 != 0L) { { __dynamic_netdev_dbg(& descriptor___4, (struct net_device const *)((struct ixgbe_adapter *)hw->back)->netdev, " Error on flexible byte mask\n"); } } else { } return (-4); switch_break___2: /* CIL Label */ ; } ldv_51339: { ixgbe_write_reg(hw, 61040U, fdirm); fdirtcpm = ixgbe_get_fdirtcpm_82599(input_mask); ixgbe_write_reg(hw, 60996U, ~ fdirtcpm); ixgbe_write_reg(hw, 61000U, ~ fdirtcpm); tmp___6 = __fswab32(~ input_mask->formatted.src_ip[0]); tmp___7 = __fswab32(~ input_mask->formatted.src_ip[0]); tmp___8 = __fswab32(~ input_mask->formatted.src_ip[0]); tmp___9 = __fswab32(~ input_mask->formatted.src_ip[0]); ixgbe_write_reg(hw, 60992U, (((tmp___6 >> 24) | ((tmp___7 & 16711680U) >> 8)) | ((tmp___8 & 65280U) << 8)) | (tmp___9 << 24)); tmp___10 = __fswab32(~ input_mask->formatted.dst_ip[0]); tmp___11 = __fswab32(~ input_mask->formatted.dst_ip[0]); tmp___12 = __fswab32(~ input_mask->formatted.dst_ip[0]); tmp___13 = __fswab32(~ input_mask->formatted.dst_ip[0]); ixgbe_write_reg(hw, 60988U, (((tmp___10 >> 24) | ((tmp___11 & 16711680U) >> 8)) | ((tmp___12 & 65280U) << 8)) | (tmp___13 << 24)); } return (0); } } s32 ixgbe_fdir_write_perfect_filter_82599(struct ixgbe_hw *hw , union ixgbe_atr_input *input , u16 soft_id , u8 queue ) { u32 fdirport ; u32 fdirvlan ; u32 fdirhash ; u32 fdircmd ; __u32 tmp ; __u32 tmp___0 ; __u32 tmp___1 ; __u32 tmp___2 ; __u32 tmp___3 ; __u32 tmp___4 ; __u32 tmp___5 ; __u32 tmp___6 ; __u32 tmp___7 ; __u32 tmp___8 ; __u32 tmp___9 ; __u32 tmp___10 ; __u32 tmp___11 ; __u32 tmp___12 ; __u32 tmp___13 ; __u32 tmp___14 ; __u32 tmp___15 ; __u32 tmp___16 ; __u32 tmp___17 ; __u32 tmp___18 ; __u16 tmp___19 ; __u16 tmp___20 ; __u16 tmp___21 ; __u16 tmp___22 ; { { tmp = __fswab32(input->formatted.src_ip[0]); tmp___0 = __fswab32(input->formatted.src_ip[0]); tmp___1 = __fswab32(input->formatted.src_ip[0]); tmp___2 = __fswab32(input->formatted.src_ip[0]); ixgbe_write_reg(hw, 60940U, (((tmp >> 24) | ((tmp___0 & 16711680U) >> 8)) | ((tmp___1 & 65280U) << 8)) | (tmp___2 << 24)); tmp___3 = __fswab32(input->formatted.src_ip[1]); tmp___4 = __fswab32(input->formatted.src_ip[1]); tmp___5 = __fswab32(input->formatted.src_ip[1]); tmp___6 = __fswab32(input->formatted.src_ip[1]); ixgbe_write_reg(hw, 60944U, (((tmp___3 >> 24) | ((tmp___4 & 16711680U) >> 8)) | ((tmp___5 & 65280U) << 8)) | (tmp___6 << 24)); tmp___7 = __fswab32(input->formatted.src_ip[2]); tmp___8 = __fswab32(input->formatted.src_ip[2]); tmp___9 = __fswab32(input->formatted.src_ip[2]); tmp___10 = __fswab32(input->formatted.src_ip[2]); ixgbe_write_reg(hw, 60948U, (((tmp___7 >> 24) | ((tmp___8 & 16711680U) >> 8)) | ((tmp___9 & 65280U) << 8)) | (tmp___10 << 24)); tmp___11 = __fswab32(input->formatted.src_ip[0]); tmp___12 = __fswab32(input->formatted.src_ip[0]); tmp___13 = __fswab32(input->formatted.src_ip[0]); tmp___14 = __fswab32(input->formatted.src_ip[0]); ixgbe_write_reg(hw, 60952U, (((tmp___11 >> 24) | ((tmp___12 & 16711680U) >> 8)) | ((tmp___13 & 65280U) << 8)) | (tmp___14 << 24)); tmp___15 = __fswab32(input->formatted.dst_ip[0]); tmp___16 = __fswab32(input->formatted.dst_ip[0]); tmp___17 = __fswab32(input->formatted.dst_ip[0]); tmp___18 = __fswab32(input->formatted.dst_ip[0]); ixgbe_write_reg(hw, 60956U, (((tmp___15 >> 24) | ((tmp___16 & 16711680U) >> 8)) | ((tmp___17 & 65280U) << 8)) | (tmp___18 << 24)); tmp___19 = __fswab16((int )input->formatted.dst_port); fdirport = (u32 )tmp___19; fdirport = fdirport << 16; tmp___20 = __fswab16((int )input->formatted.src_port); fdirport = fdirport | (u32 )tmp___20; ixgbe_write_reg(hw, 60960U, fdirport); tmp___21 = __fswab16((int )((unsigned short )((int )((short )((int )input->formatted.flex_bytes >> 8)) | (int )((short )((int )input->formatted.flex_bytes << 8))))); fdirvlan = (u32 )tmp___21; fdirvlan = fdirvlan << 16; tmp___22 = __fswab16((int )input->formatted.vlan_id); fdirvlan = fdirvlan | (u32 )tmp___22; ixgbe_write_reg(hw, 60964U, fdirvlan); fdirhash = (u32 )input->formatted.bkt_hash; fdirhash = fdirhash | (u32 )((int )soft_id << 16); ixgbe_write_reg(hw, 60968U, fdirhash); ixgbe_read_reg(hw, 8U); fdircmd = 34825U; } if ((unsigned int )queue == 127U) { fdircmd = fdircmd | 512U; } else { } { fdircmd = fdircmd | (u32 )((int )input->formatted.flow_type << 5); fdircmd = fdircmd | ((unsigned int )queue << 16); fdircmd = fdircmd | ((unsigned int )input->formatted.vm_pool << 24); ixgbe_write_reg(hw, 60972U, fdircmd); } return (0); } } s32 ixgbe_fdir_erase_perfect_filter_82599(struct ixgbe_hw *hw , union ixgbe_atr_input *input , u16 soft_id ) { u32 fdirhash ; u32 fdircmd ; u32 retry_count ; s32 err ; { { fdircmd = 0U; err = 0; fdirhash = (u32 )input->formatted.bkt_hash; fdirhash = fdirhash | (u32 )((int )soft_id << 16); ixgbe_write_reg(hw, 60968U, fdirhash); ixgbe_read_reg(hw, 8U); ixgbe_write_reg(hw, 60972U, 3U); retry_count = 10U; } goto ldv_51363; ldv_51362: { __const_udelay(42950UL); fdircmd = ixgbe_read_reg(hw, 60972U); } if ((fdircmd & 3U) == 0U) { goto ldv_51361; } else { } retry_count = retry_count - 1U; ldv_51363: ; if (retry_count != 0U) { goto ldv_51362; } else { } ldv_51361: ; if (retry_count == 0U) { err = -23; } else { } if ((fdircmd & 4U) != 0U) { { ixgbe_write_reg(hw, 60968U, fdirhash); ixgbe_read_reg(hw, 8U); ixgbe_write_reg(hw, 60972U, 2U); } } else { } return (err); } } static s32 ixgbe_read_analog_reg8_82599(struct ixgbe_hw *hw , u32 reg , u8 *val ) { u32 core_ctl ; { { ixgbe_write_reg(hw, 85760U, (reg << 8) | 65536U); ixgbe_read_reg(hw, 8U); __const_udelay(42950UL); core_ctl = ixgbe_read_reg(hw, 85760U); *val = (unsigned char )core_ctl; } return (0); } } static s32 ixgbe_write_analog_reg8_82599(struct ixgbe_hw *hw , u32 reg , u8 val ) { u32 core_ctl ; { { core_ctl = (reg << 8) | (u32 )val; ixgbe_write_reg(hw, 85760U, core_ctl); ixgbe_read_reg(hw, 8U); __const_udelay(42950UL); } return (0); } } static s32 ixgbe_start_hw_82599(struct ixgbe_hw *hw ) { s32 ret_val ; { { ret_val = 0; ret_val = ixgbe_start_hw_generic(hw); } if (ret_val != 0) { goto out; } else { } { ret_val = ixgbe_start_hw_gen2(hw); } if (ret_val != 0) { goto out; } else { } hw->mac.autotry_restart = 1; hw->mac.rx_pb_size = 512U; if (ret_val == 0) { { ret_val = ixgbe_verify_fw_version_82599(hw); } } else { } out: ; return (ret_val); } } static s32 ixgbe_identify_phy_82599(struct ixgbe_hw *hw ) { s32 status ; enum ixgbe_media_type tmp ; { { status = -17; status = ixgbe_identify_phy_generic(hw); } if (status != 0) { { tmp = (*(hw->mac.ops.get_media_type))(hw); } if ((unsigned int )tmp == 5U) { goto out; } else { { status = ixgbe_identify_module_generic(hw); } } } else { } if ((unsigned int )hw->phy.type == 0U) { hw->phy.type = 1; status = 0; } else { } if ((unsigned int )hw->phy.type == 20U) { status = -19; } else { } out: ; return (status); } } static u32 ixgbe_get_supported_physical_layer_82599(struct ixgbe_hw *hw ) { u32 physical_layer ; u32 autoc ; u32 tmp ; u32 autoc2 ; u32 tmp___0 ; u32 pma_pmd_10g_serial ; u32 pma_pmd_10g_parallel ; u32 pma_pmd_1g ; u16 ext_ability ; u8 comp_codes_10g ; u8 comp_codes_1g ; { { physical_layer = 0U; tmp = ixgbe_read_reg(hw, 17056U); autoc = tmp; tmp___0 = ixgbe_read_reg(hw, 17064U); autoc2 = tmp___0; pma_pmd_10g_serial = autoc2 & 196608U; pma_pmd_10g_parallel = autoc & 384U; pma_pmd_1g = autoc & 512U; ext_ability = 0U; comp_codes_10g = 0U; comp_codes_1g = 0U; (*(hw->phy.ops.identify))(hw); } { if ((unsigned int )hw->phy.type == 2U) { goto case_2; } else { } if ((unsigned int )hw->phy.type == 4U) { goto case_4; } else { } goto switch_default; case_2: /* CIL Label */ ; case_4: /* CIL Label */ { (*(hw->phy.ops.read_reg))(hw, 11U, 1U, & ext_ability); } if (((int )ext_ability & 4) != 0) { physical_layer = physical_layer | 1U; } else { } if (((int )ext_ability & 32) != 0) { physical_layer = physical_layer | 2U; } else { } if (((int )ext_ability & 128) != 0) { physical_layer = physical_layer | 4U; } else { } goto out; switch_default: /* CIL Label */ ; goto ldv_51402; switch_break: /* CIL Label */ ; } ldv_51402: ; { if ((autoc & 57344U) == 16384U) { goto case_16384; } else { } if ((autoc & 57344U) == 0U) { goto case_0; } else { } if ((autoc & 57344U) == 8192U) { goto case_8192; } else { } if ((autoc & 57344U) == 24576U) { goto case_24576; } else { } if ((autoc & 57344U) == 32768U) { goto case_32768; } else { } if ((autoc & 57344U) == 49152U) { goto case_49152; } else { } goto switch_default___0; case_16384: /* CIL Label */ ; case_0: /* CIL Label */ ; if (pma_pmd_1g == 512U) { physical_layer = 1536U; goto out; } else { goto sfp_check; } case_8192: /* CIL Label */ ; if (pma_pmd_10g_parallel == 256U) { physical_layer = 256U; } else if (pma_pmd_10g_parallel == 128U) { physical_layer = 128U; } else if (pma_pmd_10g_parallel == 0U) { physical_layer = 4096U; } else { } goto out; case_24576: /* CIL Label */ ; if (pma_pmd_10g_serial == 0U) { physical_layer = 2048U; goto out; } else if (pma_pmd_10g_serial == 131072U) { goto sfp_check; } else { } goto ldv_51408; case_32768: /* CIL Label */ ; case_49152: /* CIL Label */ ; if ((autoc & 1073741824U) != 0U) { physical_layer = physical_layer | 512U; } else { } if ((int )autoc < 0) { physical_layer = physical_layer | 128U; } else { } if ((autoc & 65536U) != 0U) { physical_layer = physical_layer | 2048U; } else { } goto out; switch_default___0: /* CIL Label */ ; goto out; switch_break___0: /* CIL Label */ ; } ldv_51408: ; sfp_check: { (*(hw->phy.ops.identify_sfp))(hw); } if ((unsigned int )hw->phy.sfp_type == 65534U) { goto out; } else { } { if ((unsigned int )hw->phy.type == 8U) { goto case_8; } else { } if ((unsigned int )hw->phy.type == 9U) { goto case_9; } else { } if ((unsigned int )hw->phy.type == 16U) { goto case_16; } else { } if ((unsigned int )hw->phy.type == 13U) { goto case_13; } else { } if ((unsigned int )hw->phy.type == 10U) { goto case_10; } else { } if ((unsigned int )hw->phy.type == 17U) { goto case_17; } else { } if ((unsigned int )hw->phy.type == 11U) { goto case_11; } else { } if ((unsigned int )hw->phy.type == 12U) { goto case_12; } else { } if ((unsigned int )hw->phy.type == 15U) { goto case_15; } else { } if ((unsigned int )hw->phy.type == 14U) { goto case_14; } else { } if ((unsigned int )hw->phy.type == 18U) { goto case_18; } else { } if ((unsigned int )hw->phy.type == 19U) { goto case_19; } else { } goto switch_default___1; case_8: /* CIL Label */ ; case_9: /* CIL Label */ ; case_16: /* CIL Label */ physical_layer = 8U; goto ldv_51415; case_13: /* CIL Label */ ; case_10: /* CIL Label */ ; case_17: /* CIL Label */ physical_layer = 8192U; goto ldv_51415; case_11: /* CIL Label */ ; case_12: /* CIL Label */ ; case_15: /* CIL Label */ ; case_14: /* CIL Label */ { (*(hw->phy.ops.read_i2c_eeprom))(hw, 6, & comp_codes_1g); (*(hw->phy.ops.read_i2c_eeprom))(hw, 3, & comp_codes_10g); } if (((int )comp_codes_10g & 16) != 0) { physical_layer = 64U; } else if (((int )comp_codes_10g & 32) != 0) { physical_layer = 16U; } else if (((int )comp_codes_1g & 8) != 0) { physical_layer = 2U; } else { } goto ldv_51415; case_18: /* CIL Label */ ; case_19: /* CIL Label */ { (*(hw->phy.ops.read_i2c_eeprom))(hw, 131, & comp_codes_10g); } if (((int )comp_codes_10g & 16) != 0) { physical_layer = 64U; } else if (((int )comp_codes_10g & 32) != 0) { physical_layer = 16U; } else { } goto ldv_51415; switch_default___1: /* CIL Label */ ; goto ldv_51415; switch_break___1: /* CIL Label */ ; } ldv_51415: ; out: ; return (physical_layer); } } static s32 ixgbe_enable_rx_dma_82599(struct ixgbe_hw *hw , u32 regval ) { { { (*(hw->mac.ops.disable_rx_buff))(hw); ixgbe_write_reg(hw, 12288U, regval); (*(hw->mac.ops.enable_rx_buff))(hw); } return (0); } } static s32 ixgbe_verify_fw_version_82599(struct ixgbe_hw *hw ) { s32 status ; u16 fw_offset ; u16 fw_ptp_cfg_offset ; u16 offset ; u16 fw_version ; s32 tmp ; s32 tmp___0 ; s32 tmp___1 ; { status = -24; fw_version = 0U; if ((unsigned int )hw->phy.media_type != 1U) { status = 0; goto fw_version_out; } else { } { offset = 15U; tmp = (*(hw->eeprom.ops.read))(hw, (int )offset, & fw_offset); } if (tmp != 0) { goto fw_version_err; } else { } if ((unsigned int )fw_offset - 1U > 65533U) { goto fw_version_out; } else { } { offset = (unsigned int )fw_offset + 4U; tmp___0 = (*(hw->eeprom.ops.read))(hw, (int )offset, & fw_ptp_cfg_offset); } if (tmp___0 != 0) { goto fw_version_err; } else { } if ((unsigned int )fw_ptp_cfg_offset - 1U > 65533U) { goto fw_version_out; } else { } { offset = (unsigned int )fw_ptp_cfg_offset + 7U; tmp___1 = (*(hw->eeprom.ops.read))(hw, (int )offset, & fw_version); } if (tmp___1 != 0) { goto fw_version_err; } else { } if ((unsigned int )fw_version > 5U) { status = 0; } else { } fw_version_out: ; return (status); fw_version_err: { netdev_err((struct net_device const *)((struct ixgbe_adapter *)hw->back)->netdev, "eeprom read at offset %d failed\n", (int )offset); } return (-24); } } bool ixgbe_verify_lesm_fw_enabled_82599(struct ixgbe_hw *hw ) { bool lesm_enabled ; u16 fw_offset ; u16 fw_lesm_param_offset ; u16 fw_lesm_state ; s32 status ; { { lesm_enabled = 0; status = (*(hw->eeprom.ops.read))(hw, 15, & fw_offset); } if ((status != 0 || (unsigned int )fw_offset == 0U) || (unsigned int )fw_offset == 65535U) { goto out; } else { } { status = (*(hw->eeprom.ops.read))(hw, (int )((unsigned int )fw_offset + 2U), & fw_lesm_param_offset); } if ((status != 0 || (unsigned int )fw_lesm_param_offset == 0U) || (unsigned int )fw_lesm_param_offset == 65535U) { goto out; } else { } { status = (*(hw->eeprom.ops.read))(hw, (int )((unsigned int )fw_lesm_param_offset + 1U), & fw_lesm_state); } if (status == 0 && (int )((short )fw_lesm_state) < 0) { lesm_enabled = 1; } else { } out: ; return (lesm_enabled); } } static s32 ixgbe_read_eeprom_buffer_82599(struct ixgbe_hw *hw , u16 offset , u16 words , u16 *data ) { struct ixgbe_eeprom_info *eeprom ; s32 ret_val ; { eeprom = & hw->eeprom; ret_val = -4; if ((unsigned int )eeprom->type == 1U && (int )offset + ((int )words + -1) <= 16383) { { ret_val = ixgbe_read_eerd_buffer_generic(hw, (int )offset, (int )words, data); } } else { { ret_val = ixgbe_read_eeprom_buffer_bit_bang_generic(hw, (int )offset, (int )words, data); } } return (ret_val); } } static s32 ixgbe_read_eeprom_82599(struct ixgbe_hw *hw , u16 offset , u16 *data ) { struct ixgbe_eeprom_info *eeprom ; s32 ret_val ; { eeprom = & hw->eeprom; ret_val = -4; if ((unsigned int )eeprom->type == 1U && (unsigned int )offset <= 16383U) { { ret_val = ixgbe_read_eerd_generic(hw, (int )offset, data); } } else { { ret_val = ixgbe_read_eeprom_bit_bang_generic(hw, (int )offset, data); } } return (ret_val); } } s32 ixgbe_reset_pipeline_82599(struct ixgbe_hw *hw ) { s32 ret_val ; u32 anlp1_reg ; u32 i ; u32 autoc_reg ; u32 autoc2_reg ; struct _ddebug descriptor ; long tmp ; { { anlp1_reg = 0U; autoc2_reg = ixgbe_read_reg(hw, 17064U); } if ((autoc2_reg & 1879048192U) != 0U) { { autoc2_reg = autoc2_reg & 2415919103U; ixgbe_write_reg(hw, 17064U, autoc2_reg); ixgbe_read_reg(hw, 8U); } } else { } { autoc_reg = hw->mac.cached_autoc; autoc_reg = autoc_reg | 4096U; ixgbe_write_reg(hw, 17056U, autoc_reg ^ 16384U); i = 0U; } goto ldv_51474; ldv_51473: { usleep_range(4000UL, 8000UL); anlp1_reg = ixgbe_read_reg(hw, 17072U); } if ((anlp1_reg & 983040U) != 0U) { goto ldv_51472; } else { } i = i + 1U; ldv_51474: ; if (i <= 9U) { goto ldv_51473; } else { } ldv_51472: ; if ((anlp1_reg & 983040U) == 0U) { { descriptor.modname = "ixgbe"; descriptor.function = "ixgbe_reset_pipeline_82599"; descriptor.filename = "drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c"; descriptor.format = "auto negotiation not completed\n"; descriptor.lineno = 2398U; descriptor.flags = 0U; tmp = ldv__builtin_expect((long )descriptor.flags & 1L, 0L); } if (tmp != 0L) { { __dynamic_netdev_dbg(& descriptor, (struct net_device const *)((struct ixgbe_adapter *)hw->back)->netdev, "auto negotiation not completed\n"); } } else { } ret_val = -15; goto reset_pipeline_out; } else { } ret_val = 0; reset_pipeline_out: { ixgbe_write_reg(hw, 17056U, autoc_reg); ixgbe_read_reg(hw, 8U); } return (ret_val); } } static s32 ixgbe_read_i2c_byte_82599(struct ixgbe_hw *hw , u8 byte_offset , u8 dev_addr , u8 *data ) { u32 esdp ; s32 status ; s32 timeout ; struct _ddebug descriptor ; long tmp ; { timeout = 200; if ((int )hw->phy.qsfp_shared_i2c_bus) { { esdp = ixgbe_read_reg(hw, 32U); esdp = esdp | 1U; ixgbe_write_reg(hw, 32U, esdp); ixgbe_read_reg(hw, 8U); } goto ldv_51489; ldv_51488: { esdp = ixgbe_read_reg(hw, 32U); } if ((esdp & 2U) != 0U) { goto ldv_51487; } else { } { usleep_range(5000UL, 10000UL); timeout = timeout - 1; } ldv_51489: ; if (timeout != 0) { goto ldv_51488; } else { } ldv_51487: ; if (timeout == 0) { { descriptor.modname = "ixgbe"; descriptor.function = "ixgbe_read_i2c_byte_82599"; descriptor.filename = "drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c"; descriptor.format = "Driver can\'t access resource, acquiring I2C bus timeout.\n"; descriptor.lineno = 2446U; descriptor.flags = 0U; tmp = ldv__builtin_expect((long )descriptor.flags & 1L, 0L); } if (tmp != 0L) { { __dynamic_netdev_dbg(& descriptor, (struct net_device const *)((struct ixgbe_adapter *)hw->back)->netdev, "Driver can\'t access resource, acquiring I2C bus timeout.\n"); } } else { } status = -18; goto release_i2c_access; } else { } } else { } { status = ixgbe_read_i2c_byte_generic(hw, (int )byte_offset, (int )dev_addr, data); } release_i2c_access: ; if ((int )hw->phy.qsfp_shared_i2c_bus) { { esdp = ixgbe_read_reg(hw, 32U); esdp = esdp & 4294967294U; ixgbe_write_reg(hw, 32U, esdp); ixgbe_read_reg(hw, 8U); } } else { } return (status); } } static s32 ixgbe_write_i2c_byte_82599(struct ixgbe_hw *hw , u8 byte_offset , u8 dev_addr , u8 data ) { u32 esdp ; s32 status ; s32 timeout ; struct _ddebug descriptor ; long tmp ; { timeout = 200; if ((int )hw->phy.qsfp_shared_i2c_bus) { { esdp = ixgbe_read_reg(hw, 32U); esdp = esdp | 1U; ixgbe_write_reg(hw, 32U, esdp); ixgbe_read_reg(hw, 8U); } goto ldv_51504; ldv_51503: { esdp = ixgbe_read_reg(hw, 32U); } if ((esdp & 2U) != 0U) { goto ldv_51502; } else { } { usleep_range(5000UL, 10000UL); timeout = timeout - 1; } ldv_51504: ; if (timeout != 0) { goto ldv_51503; } else { } ldv_51502: ; if (timeout == 0) { { descriptor.modname = "ixgbe"; descriptor.function = "ixgbe_write_i2c_byte_82599"; descriptor.filename = "drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c"; descriptor.format = "Driver can\'t access resource, acquiring I2C bus timeout.\n"; descriptor.lineno = 2499U; descriptor.flags = 0U; tmp = ldv__builtin_expect((long )descriptor.flags & 1L, 0L); } if (tmp != 0L) { { __dynamic_netdev_dbg(& descriptor, (struct net_device const *)((struct ixgbe_adapter *)hw->back)->netdev, "Driver can\'t access resource, acquiring I2C bus timeout.\n"); } } else { } status = -18; goto release_i2c_access; } else { } } else { } { status = ixgbe_write_i2c_byte_generic(hw, (int )byte_offset, (int )dev_addr, (int )data); } release_i2c_access: ; if ((int )hw->phy.qsfp_shared_i2c_bus) { { esdp = ixgbe_read_reg(hw, 32U); esdp = esdp & 4294967294U; ixgbe_write_reg(hw, 32U, esdp); ixgbe_read_reg(hw, 8U); } } else { } return (status); } } static struct ixgbe_mac_operations mac_ops_82599 = {& ixgbe_init_hw_generic, & ixgbe_reset_hw_82599, & ixgbe_start_hw_82599, & ixgbe_clear_hw_cntrs_generic, & ixgbe_get_media_type_82599, & ixgbe_get_supported_physical_layer_82599, & ixgbe_get_mac_addr_generic, & ixgbe_get_san_mac_addr_generic, & ixgbe_get_device_caps_generic, & ixgbe_get_wwn_prefix_generic, & ixgbe_stop_adapter_generic, & ixgbe_get_bus_info_generic, & ixgbe_set_lan_id_multi_port_pcie, & ixgbe_read_analog_reg8_82599, & ixgbe_write_analog_reg8_82599, & ixgbe_setup_sfp_modules_82599, & ixgbe_disable_rx_buff_generic, & ixgbe_enable_rx_buff_generic, & ixgbe_enable_rx_dma_82599, & ixgbe_acquire_swfw_sync, & ixgbe_release_swfw_sync, 0, 0, 0, & ixgbe_stop_mac_link_on_d3_82599, & ixgbe_setup_mac_link_82599, & ixgbe_check_mac_link_generic, & ixgbe_get_link_capabilities_82599, & ixgbe_set_rxpba_generic, & ixgbe_led_on_generic, & ixgbe_led_off_generic, & ixgbe_blink_led_start_generic, & ixgbe_blink_led_stop_generic, & ixgbe_set_rar_generic, & ixgbe_clear_rar_generic, & ixgbe_set_vmdq_generic, & ixgbe_set_vmdq_san_mac_generic, & ixgbe_clear_vmdq_generic, & ixgbe_init_rx_addrs_generic, & ixgbe_update_mc_addr_list_generic, & ixgbe_enable_mc_generic, & ixgbe_disable_mc_generic, & ixgbe_clear_vfta_generic, & ixgbe_set_vfta_generic, & ixgbe_init_uta_tables_generic, & ixgbe_set_mac_anti_spoofing, & ixgbe_set_vlan_anti_spoofing, & ixgbe_fc_enable_generic, & ixgbe_set_fw_drv_ver_generic, & ixgbe_get_thermal_sensor_data_generic, & ixgbe_init_thermal_sensor_thresh_generic, & ixgbe_mng_enabled}; static struct ixgbe_eeprom_operations eeprom_ops_82599 = {& ixgbe_init_eeprom_params_generic, & ixgbe_read_eeprom_82599, & ixgbe_read_eeprom_buffer_82599, & ixgbe_write_eeprom_generic, & ixgbe_write_eeprom_buffer_bit_bang_generic, & ixgbe_validate_eeprom_checksum_generic, & ixgbe_update_eeprom_checksum_generic, & ixgbe_calc_eeprom_checksum_generic}; static struct ixgbe_phy_operations phy_ops_82599 = {& ixgbe_identify_phy_82599, & ixgbe_identify_module_generic, & ixgbe_init_phy_ops_82599, & ixgbe_reset_phy_generic, & ixgbe_read_phy_reg_generic, & ixgbe_write_phy_reg_generic, 0, 0, & ixgbe_setup_phy_link_generic, & ixgbe_setup_phy_link_speed_generic, 0, 0, & ixgbe_read_i2c_byte_generic, & ixgbe_write_i2c_byte_generic, & ixgbe_read_i2c_sff8472_generic, & ixgbe_read_i2c_eeprom_generic, & ixgbe_write_i2c_eeprom_generic, & ixgbe_tn_check_overtemp}; struct ixgbe_info ixgbe_82599_info = {2, & ixgbe_get_invariants_82599, & mac_ops_82599, & eeprom_ops_82599, & phy_ops_82599, & mbx_ops_generic}; int (*ldv_10_callback_acquire_swfw_sync)(struct ixgbe_hw * , unsigned short ) = & ixgbe_acquire_swfw_sync; int (*ldv_10_callback_blink_led_start)(struct ixgbe_hw * , unsigned int ) = & ixgbe_blink_led_start_generic; int (*ldv_10_callback_blink_led_stop)(struct ixgbe_hw * , unsigned int ) = & ixgbe_blink_led_stop_generic; unsigned short (*ldv_10_callback_calc_checksum)(struct ixgbe_hw * ) = & ixgbe_calc_eeprom_checksum_generic; int (*ldv_10_callback_get_link_capabilities)(struct ixgbe_hw * , unsigned int * , _Bool * ) = & ixgbe_get_link_capabilities_82599; int (*ldv_10_callback_get_thermal_sensor_data)(struct ixgbe_hw * ) = & ixgbe_get_thermal_sensor_data_generic; int (*ldv_10_callback_init)(struct ixgbe_hw * ) = & ixgbe_init_phy_ops_82599; int (*ldv_10_callback_init_params)(struct ixgbe_hw * ) = & ixgbe_init_eeprom_params_generic; int (*ldv_10_callback_init_thermal_sensor_thresh)(struct ixgbe_hw * ) = & ixgbe_init_thermal_sensor_thresh_generic; _Bool (*ldv_10_callback_mng_fw_enabled)(struct ixgbe_hw * ) = & ixgbe_mng_enabled; int (*ldv_10_callback_read_analog_reg8)(struct ixgbe_hw * , unsigned int , unsigned char * ) = & ixgbe_read_analog_reg8_82599; int (*ldv_10_callback_reset)(struct ixgbe_hw * ) = & ixgbe_reset_phy_generic; int (*ldv_10_callback_setup_sfp)(struct ixgbe_hw * ) = & ixgbe_setup_sfp_modules_82599; void (*ldv_10_callback_stop_link_on_d3)(struct ixgbe_hw * ) = & ixgbe_stop_mac_link_on_d3_82599; int (*ldv_10_callback_update_checksum)(struct ixgbe_hw * ) = & ixgbe_update_eeprom_checksum_generic; int (*ldv_10_callback_validate_checksum)(struct ixgbe_hw * , unsigned short * ) = & ixgbe_validate_eeprom_checksum_generic; int (*ldv_10_callback_write_analog_reg8)(struct ixgbe_hw * , unsigned int , unsigned char ) = & ixgbe_write_analog_reg8_82599; int (*ldv_11_callback_acquire_swfw_sync)(struct ixgbe_hw * , unsigned short ) = & ixgbe_acquire_swfw_sync; int (*ldv_11_callback_blink_led_start)(struct ixgbe_hw * , unsigned int ) = & ixgbe_blink_led_start_generic; int (*ldv_11_callback_blink_led_stop)(struct ixgbe_hw * , unsigned int ) = & ixgbe_blink_led_stop_generic; int (*ldv_11_callback_enable_rx_dma)(struct ixgbe_hw * , unsigned int ) = & ixgbe_enable_rx_dma_82599; int (*ldv_11_callback_get_invariants)(struct ixgbe_hw * ) = & ixgbe_get_invariants_82599; int (*ldv_11_callback_get_thermal_sensor_data)(struct ixgbe_hw * ) = & ixgbe_get_thermal_sensor_data_generic; int (*ldv_11_callback_init)(struct ixgbe_hw * ) = & ixgbe_init_phy_ops_82599; int (*ldv_11_callback_init_params)(struct ixgbe_hw * ) = & ixgbe_init_eeprom_params_generic; int (*ldv_11_callback_init_thermal_sensor_thresh)(struct ixgbe_hw * ) = & ixgbe_init_thermal_sensor_thresh_generic; _Bool (*ldv_11_callback_mng_fw_enabled)(struct ixgbe_hw * ) = & ixgbe_mng_enabled; int (*ldv_11_callback_read_analog_reg8)(struct ixgbe_hw * , unsigned int , unsigned char * ) = & ixgbe_read_analog_reg8_82599; int (*ldv_11_callback_reset)(struct ixgbe_hw * ) = & ixgbe_reset_phy_generic; int (*ldv_11_callback_setup_sfp)(struct ixgbe_hw * ) = & ixgbe_setup_sfp_modules_82599; void (*ldv_11_callback_stop_link_on_d3)(struct ixgbe_hw * ) = & ixgbe_stop_mac_link_on_d3_82599; int (*ldv_11_callback_update_checksum)(struct ixgbe_hw * ) = & ixgbe_update_eeprom_checksum_generic; int (*ldv_11_callback_validate_checksum)(struct ixgbe_hw * , unsigned short * ) = & ixgbe_validate_eeprom_checksum_generic; int (*ldv_11_callback_write_analog_reg8)(struct ixgbe_hw * , unsigned int , unsigned char ) = & ixgbe_write_analog_reg8_82599; int (*ldv_12_callback_acquire_swfw_sync)(struct ixgbe_hw * , unsigned short ) = & ixgbe_acquire_swfw_sync; int (*ldv_12_callback_blink_led_start)(struct ixgbe_hw * , unsigned int ) = & ixgbe_blink_led_start_generic; int (*ldv_12_callback_blink_led_stop)(struct ixgbe_hw * , unsigned int ) = & ixgbe_blink_led_stop_generic; int (*ldv_12_callback_enable_rx_dma)(struct ixgbe_hw * , unsigned int ) = & ixgbe_enable_rx_dma_82599; int (*ldv_12_callback_get_link_capabilities)(struct ixgbe_hw * , unsigned int * , _Bool * ) = & ixgbe_get_link_capabilities_82599; int (*ldv_12_callback_get_thermal_sensor_data)(struct ixgbe_hw * ) = & ixgbe_get_thermal_sensor_data_generic; int (*ldv_12_callback_init)(struct ixgbe_hw * ) = & ixgbe_init_phy_ops_82599; int (*ldv_12_callback_init_params)(struct ixgbe_hw * ) = & ixgbe_init_eeprom_params_generic; int (*ldv_12_callback_init_thermal_sensor_thresh)(struct ixgbe_hw * ) = & ixgbe_init_thermal_sensor_thresh_generic; _Bool (*ldv_12_callback_mng_fw_enabled)(struct ixgbe_hw * ) = & ixgbe_mng_enabled; int (*ldv_12_callback_read_analog_reg8)(struct ixgbe_hw * , unsigned int , unsigned char * ) = & ixgbe_read_analog_reg8_82599; int (*ldv_12_callback_reset)(struct ixgbe_hw * ) = & ixgbe_reset_phy_generic; int (*ldv_12_callback_setup_sfp)(struct ixgbe_hw * ) = & ixgbe_setup_sfp_modules_82599; void (*ldv_12_callback_stop_link_on_d3)(struct ixgbe_hw * ) = & ixgbe_stop_mac_link_on_d3_82599; int (*ldv_12_callback_update_checksum)(struct ixgbe_hw * ) = & ixgbe_update_eeprom_checksum_generic; int (*ldv_12_callback_validate_checksum)(struct ixgbe_hw * , unsigned short * ) = & ixgbe_validate_eeprom_checksum_generic; int (*ldv_12_callback_write_analog_reg8)(struct ixgbe_hw * , unsigned int , unsigned char ) = & ixgbe_write_analog_reg8_82599; int (*ldv_13_callback_acquire_swfw_sync)(struct ixgbe_hw * , unsigned short ) = & ixgbe_acquire_swfw_sync; int (*ldv_13_callback_blink_led_start)(struct ixgbe_hw * , unsigned int ) = & ixgbe_blink_led_start_generic; int (*ldv_13_callback_blink_led_stop)(struct ixgbe_hw * , unsigned int ) = & ixgbe_blink_led_stop_generic; int (*ldv_13_callback_enable_rx_dma)(struct ixgbe_hw * , unsigned int ) = & ixgbe_enable_rx_dma_82599; int (*ldv_13_callback_get_thermal_sensor_data)(struct ixgbe_hw * ) = & ixgbe_get_thermal_sensor_data_generic; int (*ldv_13_callback_init)(struct ixgbe_hw * ) = & ixgbe_init_phy_ops_82599; int (*ldv_13_callback_init_params)(struct ixgbe_hw * ) = & ixgbe_init_eeprom_params_generic; int (*ldv_13_callback_init_thermal_sensor_thresh)(struct ixgbe_hw * ) = & ixgbe_init_thermal_sensor_thresh_generic; _Bool (*ldv_13_callback_mng_fw_enabled)(struct ixgbe_hw * ) = & ixgbe_mng_enabled; int (*ldv_13_callback_read_analog_reg8)(struct ixgbe_hw * , unsigned int , unsigned char * ) = & ixgbe_read_analog_reg8_82599; int (*ldv_13_callback_reset)(struct ixgbe_hw * ) = & ixgbe_reset_phy_generic; int (*ldv_13_callback_setup_sfp)(struct ixgbe_hw * ) = & ixgbe_setup_sfp_modules_82599; void (*ldv_13_callback_stop_link_on_d3)(struct ixgbe_hw * ) = & ixgbe_stop_mac_link_on_d3_82599; int (*ldv_13_callback_update_checksum)(struct ixgbe_hw * ) = & ixgbe_update_eeprom_checksum_generic; int (*ldv_13_callback_validate_checksum)(struct ixgbe_hw * , unsigned short * ) = & ixgbe_validate_eeprom_checksum_generic; int (*ldv_13_callback_write_analog_reg8)(struct ixgbe_hw * , unsigned int , unsigned char ) = & ixgbe_write_analog_reg8_82599; int (*ldv_8_callback_acquire_swfw_sync)(struct ixgbe_hw * , unsigned short ) = & ixgbe_acquire_swfw_sync; int (*ldv_8_callback_blink_led_start)(struct ixgbe_hw * , unsigned int ) = & ixgbe_blink_led_start_generic; int (*ldv_8_callback_blink_led_stop)(struct ixgbe_hw * , unsigned int ) = & ixgbe_blink_led_stop_generic; int (*ldv_8_callback_enable_rx_dma)(struct ixgbe_hw * , unsigned int ) = & ixgbe_enable_rx_dma_82599; int (*ldv_8_callback_get_thermal_sensor_data)(struct ixgbe_hw * ) = & ixgbe_get_thermal_sensor_data_generic; int (*ldv_8_callback_init_thermal_sensor_thresh)(struct ixgbe_hw * ) = & ixgbe_init_thermal_sensor_thresh_generic; _Bool (*ldv_8_callback_mng_fw_enabled)(struct ixgbe_hw * ) = & ixgbe_mng_enabled; void (*ldv_8_callback_release_swfw_sync)(struct ixgbe_hw * , unsigned short ) = & ixgbe_release_swfw_sync; int (*ldv_8_callback_reset)(struct ixgbe_hw * ) = & ixgbe_reset_phy_generic; int (*ldv_8_callback_setup_sfp)(struct ixgbe_hw * ) = & ixgbe_setup_sfp_modules_82599; void (*ldv_8_callback_stop_link_on_d3)(struct ixgbe_hw * ) = & ixgbe_stop_mac_link_on_d3_82599; unsigned short (*ldv_9_callback_calc_checksum)(struct ixgbe_hw * ) = & ixgbe_calc_eeprom_checksum_generic; int (*ldv_9_callback_get_link_capabilities)(struct ixgbe_hw * , unsigned int * , _Bool * ) = & ixgbe_get_link_capabilities_82599; enum ixgbe_media_type (*ldv_9_callback_get_media_type)(struct ixgbe_hw * ) = & ixgbe_get_media_type_82599; unsigned int (*ldv_9_callback_get_supported_physical_layer)(struct ixgbe_hw * ) = & ixgbe_get_supported_physical_layer_82599; int (*ldv_9_callback_get_thermal_sensor_data)(struct ixgbe_hw * ) = & ixgbe_get_thermal_sensor_data_generic; int (*ldv_9_callback_init)(struct ixgbe_hw * ) = & ixgbe_init_phy_ops_82599; int (*ldv_9_callback_init_params)(struct ixgbe_hw * ) = & ixgbe_init_eeprom_params_generic; int (*ldv_9_callback_init_thermal_sensor_thresh)(struct ixgbe_hw * ) = & ixgbe_init_thermal_sensor_thresh_generic; _Bool (*ldv_9_callback_mng_fw_enabled)(struct ixgbe_hw * ) = & ixgbe_mng_enabled; int (*ldv_9_callback_read_analog_reg8)(struct ixgbe_hw * , unsigned int , unsigned char * ) = & ixgbe_read_analog_reg8_82599; int (*ldv_9_callback_read_buffer)(struct ixgbe_hw * , unsigned short , unsigned short , unsigned short * ) = & ixgbe_read_eeprom_buffer_82599; int (*ldv_9_callback_reset)(struct ixgbe_hw * ) = & ixgbe_reset_phy_generic; int (*ldv_9_callback_reset_hw)(struct ixgbe_hw * ) = & ixgbe_reset_hw_82599; int (*ldv_9_callback_setup_link_speed)(struct ixgbe_hw * , unsigned int , _Bool ) = & ixgbe_setup_mac_link_82599; int (*ldv_9_callback_setup_sfp)(struct ixgbe_hw * ) = & ixgbe_setup_sfp_modules_82599; int (*ldv_9_callback_start_hw)(struct ixgbe_hw * ) = & ixgbe_start_hw_82599; void (*ldv_9_callback_stop_link_on_d3)(struct ixgbe_hw * ) = & ixgbe_stop_mac_link_on_d3_82599; int (*ldv_9_callback_update_checksum)(struct ixgbe_hw * ) = & ixgbe_update_eeprom_checksum_generic; int (*ldv_9_callback_validate_checksum)(struct ixgbe_hw * , unsigned short * ) = & ixgbe_validate_eeprom_checksum_generic; int (*ldv_9_callback_write_analog_reg8)(struct ixgbe_hw * , unsigned int , unsigned char ) = & ixgbe_write_analog_reg8_82599; int (*ldv_9_callback_write_buffer)(struct ixgbe_hw * , unsigned short , unsigned short , unsigned short * ) = & ixgbe_write_eeprom_buffer_bit_bang_generic; void ldv_dummy_resourceless_instance_callback_10_113(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_reset_phy_generic(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_10_12(int (*arg0)(struct ixgbe_hw * , unsigned int ) , struct ixgbe_hw *arg1 , unsigned int arg2 ) { { { ixgbe_blink_led_stop_generic(arg1, arg2); } return; } } void ldv_dummy_resourceless_instance_callback_10_144(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_setup_sfp_modules_82599(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_10_147(void (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_stop_mac_link_on_d3_82599(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_10_148(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_update_eeprom_checksum_generic(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_10_15(unsigned short (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_calc_eeprom_checksum_generic(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_10_150(int (*arg0)(struct ixgbe_hw * , unsigned short * ) , struct ixgbe_hw *arg1 , unsigned short *arg2 ) { { { ixgbe_validate_eeprom_checksum_generic(arg1, arg2); } return; } } void ldv_dummy_resourceless_instance_callback_10_156(int (*arg0)(struct ixgbe_hw * , unsigned int , unsigned char ) , struct ixgbe_hw *arg1 , unsigned int arg2 , unsigned char arg3 ) { { { ixgbe_write_analog_reg8_82599(arg1, arg2, (int )arg3); } return; } } void ldv_dummy_resourceless_instance_callback_10_3(int (*arg0)(struct ixgbe_hw * , unsigned short ) , struct ixgbe_hw *arg1 , unsigned short arg2 ) { { { ixgbe_acquire_swfw_sync(arg1, (int )arg2); } return; } } void ldv_dummy_resourceless_instance_callback_10_53(int (*arg0)(struct ixgbe_hw * , unsigned int * , _Bool * ) , struct ixgbe_hw *arg1 , unsigned int *arg2 , _Bool *arg3 ) { { { ixgbe_get_link_capabilities_82599(arg1, arg2, arg3); } return; } } void ldv_dummy_resourceless_instance_callback_10_64(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_get_thermal_sensor_data_generic(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_10_70(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_init_phy_ops_82599(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_10_72(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_init_eeprom_params_generic(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_10_74(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_init_thermal_sensor_thresh_generic(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_10_82(_Bool (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_mng_enabled(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_10_86(int (*arg0)(struct ixgbe_hw * , unsigned int , unsigned char * ) , struct ixgbe_hw *arg1 , unsigned int arg2 , unsigned char *arg3 ) { { { ixgbe_read_analog_reg8_82599(arg1, arg2, arg3); } return; } } void ldv_dummy_resourceless_instance_callback_10_9(int (*arg0)(struct ixgbe_hw * , unsigned int ) , struct ixgbe_hw *arg1 , unsigned int arg2 ) { { { ixgbe_blink_led_start_generic(arg1, arg2); } return; } } void ldv_dummy_resourceless_instance_callback_11_113(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_reset_phy_generic(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_11_12(int (*arg0)(struct ixgbe_hw * , unsigned int ) , struct ixgbe_hw *arg1 , unsigned int arg2 ) { { { ixgbe_blink_led_stop_generic(arg1, arg2); } return; } } void ldv_dummy_resourceless_instance_callback_11_144(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_setup_sfp_modules_82599(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_11_147(void (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_stop_mac_link_on_d3_82599(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_11_148(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_update_eeprom_checksum_generic(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_11_150(int (*arg0)(struct ixgbe_hw * , unsigned short * ) , struct ixgbe_hw *arg1 , unsigned short *arg2 ) { { { ixgbe_validate_eeprom_checksum_generic(arg1, arg2); } return; } } void ldv_dummy_resourceless_instance_callback_11_156(int (*arg0)(struct ixgbe_hw * , unsigned int , unsigned char ) , struct ixgbe_hw *arg1 , unsigned int arg2 , unsigned char arg3 ) { { { ixgbe_write_analog_reg8_82599(arg1, arg2, (int )arg3); } return; } } void ldv_dummy_resourceless_instance_callback_11_3(int (*arg0)(struct ixgbe_hw * , unsigned short ) , struct ixgbe_hw *arg1 , unsigned short arg2 ) { { { ixgbe_acquire_swfw_sync(arg1, (int )arg2); } return; } } void ldv_dummy_resourceless_instance_callback_11_41(int (*arg0)(struct ixgbe_hw * , unsigned int ) , struct ixgbe_hw *arg1 , unsigned int arg2 ) { { { ixgbe_enable_rx_dma_82599(arg1, arg2); } return; } } void ldv_dummy_resourceless_instance_callback_11_52(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_get_invariants_82599(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_11_64(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_get_thermal_sensor_data_generic(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_11_70(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_init_phy_ops_82599(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_11_72(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_init_eeprom_params_generic(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_11_74(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_init_thermal_sensor_thresh_generic(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_11_82(_Bool (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_mng_enabled(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_11_86(int (*arg0)(struct ixgbe_hw * , unsigned int , unsigned char * ) , struct ixgbe_hw *arg1 , unsigned int arg2 , unsigned char *arg3 ) { { { ixgbe_read_analog_reg8_82599(arg1, arg2, arg3); } return; } } void ldv_dummy_resourceless_instance_callback_11_9(int (*arg0)(struct ixgbe_hw * , unsigned int ) , struct ixgbe_hw *arg1 , unsigned int arg2 ) { { { ixgbe_blink_led_start_generic(arg1, arg2); } return; } } void ldv_dummy_resourceless_instance_callback_12_113(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_reset_phy_generic(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_12_12(int (*arg0)(struct ixgbe_hw * , unsigned int ) , struct ixgbe_hw *arg1 , unsigned int arg2 ) { { { ixgbe_blink_led_stop_generic(arg1, arg2); } return; } } void ldv_dummy_resourceless_instance_callback_12_144(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_setup_sfp_modules_82599(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_12_147(void (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_stop_mac_link_on_d3_82599(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_12_148(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_update_eeprom_checksum_generic(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_12_150(int (*arg0)(struct ixgbe_hw * , unsigned short * ) , struct ixgbe_hw *arg1 , unsigned short *arg2 ) { { { ixgbe_validate_eeprom_checksum_generic(arg1, arg2); } return; } } void ldv_dummy_resourceless_instance_callback_12_156(int (*arg0)(struct ixgbe_hw * , unsigned int , unsigned char ) , struct ixgbe_hw *arg1 , unsigned int arg2 , unsigned char arg3 ) { { { ixgbe_write_analog_reg8_82599(arg1, arg2, (int )arg3); } return; } } void ldv_dummy_resourceless_instance_callback_12_3(int (*arg0)(struct ixgbe_hw * , unsigned short ) , struct ixgbe_hw *arg1 , unsigned short arg2 ) { { { ixgbe_acquire_swfw_sync(arg1, (int )arg2); } return; } } void ldv_dummy_resourceless_instance_callback_12_41(int (*arg0)(struct ixgbe_hw * , unsigned int ) , struct ixgbe_hw *arg1 , unsigned int arg2 ) { { { ixgbe_enable_rx_dma_82599(arg1, arg2); } return; } } void ldv_dummy_resourceless_instance_callback_12_53(int (*arg0)(struct ixgbe_hw * , unsigned int * , _Bool * ) , struct ixgbe_hw *arg1 , unsigned int *arg2 , _Bool *arg3 ) { { { ixgbe_get_link_capabilities_82599(arg1, arg2, arg3); } return; } } void ldv_dummy_resourceless_instance_callback_12_64(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_get_thermal_sensor_data_generic(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_12_70(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_init_phy_ops_82599(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_12_72(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_init_eeprom_params_generic(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_12_74(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_init_thermal_sensor_thresh_generic(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_12_82(_Bool (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_mng_enabled(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_12_86(int (*arg0)(struct ixgbe_hw * , unsigned int , unsigned char * ) , struct ixgbe_hw *arg1 , unsigned int arg2 , unsigned char *arg3 ) { { { ixgbe_read_analog_reg8_82599(arg1, arg2, arg3); } return; } } void ldv_dummy_resourceless_instance_callback_12_9(int (*arg0)(struct ixgbe_hw * , unsigned int ) , struct ixgbe_hw *arg1 , unsigned int arg2 ) { { { ixgbe_blink_led_start_generic(arg1, arg2); } return; } } void ldv_dummy_resourceless_instance_callback_13_113(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_reset_phy_generic(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_13_12(int (*arg0)(struct ixgbe_hw * , unsigned int ) , struct ixgbe_hw *arg1 , unsigned int arg2 ) { { { ixgbe_blink_led_stop_generic(arg1, arg2); } return; } } void ldv_dummy_resourceless_instance_callback_13_144(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_setup_sfp_modules_82599(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_13_147(void (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_stop_mac_link_on_d3_82599(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_13_148(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_update_eeprom_checksum_generic(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_13_150(int (*arg0)(struct ixgbe_hw * , unsigned short * ) , struct ixgbe_hw *arg1 , unsigned short *arg2 ) { { { ixgbe_validate_eeprom_checksum_generic(arg1, arg2); } return; } } void ldv_dummy_resourceless_instance_callback_13_156(int (*arg0)(struct ixgbe_hw * , unsigned int , unsigned char ) , struct ixgbe_hw *arg1 , unsigned int arg2 , unsigned char arg3 ) { { { ixgbe_write_analog_reg8_82599(arg1, arg2, (int )arg3); } return; } } void ldv_dummy_resourceless_instance_callback_13_3(int (*arg0)(struct ixgbe_hw * , unsigned short ) , struct ixgbe_hw *arg1 , unsigned short arg2 ) { { { ixgbe_acquire_swfw_sync(arg1, (int )arg2); } return; } } void ldv_dummy_resourceless_instance_callback_13_41(int (*arg0)(struct ixgbe_hw * , unsigned int ) , struct ixgbe_hw *arg1 , unsigned int arg2 ) { { { ixgbe_enable_rx_dma_82599(arg1, arg2); } return; } } void ldv_dummy_resourceless_instance_callback_13_64(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_get_thermal_sensor_data_generic(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_13_70(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_init_phy_ops_82599(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_13_72(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_init_eeprom_params_generic(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_13_74(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_init_thermal_sensor_thresh_generic(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_13_82(_Bool (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_mng_enabled(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_13_86(int (*arg0)(struct ixgbe_hw * , unsigned int , unsigned char * ) , struct ixgbe_hw *arg1 , unsigned int arg2 , unsigned char *arg3 ) { { { ixgbe_read_analog_reg8_82599(arg1, arg2, arg3); } return; } } void ldv_dummy_resourceless_instance_callback_13_9(int (*arg0)(struct ixgbe_hw * , unsigned int ) , struct ixgbe_hw *arg1 , unsigned int arg2 ) { { { ixgbe_blink_led_start_generic(arg1, arg2); } return; } } void ldv_dummy_resourceless_instance_callback_8_110(void (*arg0)(struct ixgbe_hw * , unsigned short ) , struct ixgbe_hw *arg1 , unsigned short arg2 ) { { { ixgbe_release_swfw_sync(arg1, (int )arg2); } return; } } void ldv_dummy_resourceless_instance_callback_8_113(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_reset_phy_generic(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_8_12(int (*arg0)(struct ixgbe_hw * , unsigned int ) , struct ixgbe_hw *arg1 , unsigned int arg2 ) { { { ixgbe_blink_led_stop_generic(arg1, arg2); } return; } } void ldv_dummy_resourceless_instance_callback_8_144(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_setup_sfp_modules_82599(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_8_147(void (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_stop_mac_link_on_d3_82599(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_8_3(int (*arg0)(struct ixgbe_hw * , unsigned short ) , struct ixgbe_hw *arg1 , unsigned short arg2 ) { { { ixgbe_acquire_swfw_sync(arg1, (int )arg2); } return; } } void ldv_dummy_resourceless_instance_callback_8_41(int (*arg0)(struct ixgbe_hw * , unsigned int ) , struct ixgbe_hw *arg1 , unsigned int arg2 ) { { { ixgbe_enable_rx_dma_82599(arg1, arg2); } return; } } void ldv_dummy_resourceless_instance_callback_8_64(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_get_thermal_sensor_data_generic(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_8_74(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_init_thermal_sensor_thresh_generic(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_8_82(_Bool (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_mng_enabled(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_8_9(int (*arg0)(struct ixgbe_hw * , unsigned int ) , struct ixgbe_hw *arg1 , unsigned int arg2 ) { { { ixgbe_blink_led_start_generic(arg1, arg2); } return; } } void ldv_dummy_resourceless_instance_callback_9_113(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_reset_phy_generic(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_9_114(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_reset_hw_82599(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_9_141(int (*arg0)(struct ixgbe_hw * , unsigned int , _Bool ) , struct ixgbe_hw *arg1 , unsigned int arg2 , _Bool arg3 ) { { { ixgbe_setup_mac_link_82599(arg1, arg2, (int )arg3); } return; } } void ldv_dummy_resourceless_instance_callback_9_144(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_setup_sfp_modules_82599(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_9_145(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_start_hw_82599(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_9_147(void (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_stop_mac_link_on_d3_82599(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_9_148(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_update_eeprom_checksum_generic(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_9_15(unsigned short (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_calc_eeprom_checksum_generic(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_9_150(int (*arg0)(struct ixgbe_hw * , unsigned short * ) , struct ixgbe_hw *arg1 , unsigned short *arg2 ) { { { ixgbe_validate_eeprom_checksum_generic(arg1, arg2); } return; } } void ldv_dummy_resourceless_instance_callback_9_156(int (*arg0)(struct ixgbe_hw * , unsigned int , unsigned char ) , struct ixgbe_hw *arg1 , unsigned int arg2 , unsigned char arg3 ) { { { ixgbe_write_analog_reg8_82599(arg1, arg2, (int )arg3); } return; } } void ldv_dummy_resourceless_instance_callback_9_159(int (*arg0)(struct ixgbe_hw * , unsigned short , unsigned short , unsigned short * ) , struct ixgbe_hw *arg1 , unsigned short arg2 , unsigned short arg3 , unsigned short *arg4 ) { { { ixgbe_write_eeprom_buffer_bit_bang_generic(arg1, (int )arg2, (int )arg3, arg4); } return; } } void ldv_dummy_resourceless_instance_callback_9_53(int (*arg0)(struct ixgbe_hw * , unsigned int * , _Bool * ) , struct ixgbe_hw *arg1 , unsigned int *arg2 , _Bool *arg3 ) { { { ixgbe_get_link_capabilities_82599(arg1, arg2, arg3); } return; } } void ldv_dummy_resourceless_instance_callback_9_59(enum ixgbe_media_type (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_get_media_type_82599(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_9_63(unsigned int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_get_supported_physical_layer_82599(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_9_64(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_get_thermal_sensor_data_generic(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_9_70(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_init_phy_ops_82599(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_9_72(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_init_eeprom_params_generic(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_9_74(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_init_thermal_sensor_thresh_generic(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_9_82(_Bool (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_mng_enabled(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_9_86(int (*arg0)(struct ixgbe_hw * , unsigned int , unsigned char * ) , struct ixgbe_hw *arg1 , unsigned int arg2 , unsigned char *arg3 ) { { { ixgbe_read_analog_reg8_82599(arg1, arg2, arg3); } return; } } void ldv_dummy_resourceless_instance_callback_9_89(int (*arg0)(struct ixgbe_hw * , unsigned short , unsigned short , unsigned short * ) , struct ixgbe_hw *arg1 , unsigned short arg2 , unsigned short arg3 , unsigned short *arg4 ) { { { ixgbe_read_eeprom_buffer_82599(arg1, (int )arg2, (int )arg3, arg4); } return; } } extern int pci_bus_write_config_word(struct pci_bus * , unsigned int , int , u16 ) ; __inline static int pci_write_config_word(struct pci_dev const *dev , int where , u16 val ) { int tmp ; { { tmp = pci_bus_write_config_word(dev->bus, dev->devfn, where, (int )val); } return (tmp); } } s32 ixgbe_read_phy_reg_mdi(struct ixgbe_hw *hw , u32 reg_addr , u32 device_type , u16 *phy_data ) ; s32 ixgbe_write_phy_reg_mdi(struct ixgbe_hw *hw , u32 reg_addr , u32 device_type , u16 phy_data ) ; s32 ixgbe_reset_phy_nl(struct ixgbe_hw *hw ) ; static s32 ixgbe_setup_copper_link_82598(struct ixgbe_hw *hw , ixgbe_link_speed speed , bool autoneg_wait_to_complete ) ; static s32 ixgbe_read_i2c_eeprom_82598(struct ixgbe_hw *hw , u8 byte_offset , u8 *eeprom_data ) ; static void ixgbe_set_pcie_completion_timeout(struct ixgbe_hw *hw ) { struct ixgbe_adapter *adapter ; u32 gcr ; u32 tmp ; u16 pcie_devctl2 ; { { adapter = (struct ixgbe_adapter *)hw->back; tmp = ixgbe_read_reg(hw, 69632U); gcr = tmp; } if ((gcr & 61440U) != 0U) { goto out; } else { } if ((gcr & 262144U) == 0U) { gcr = gcr | 4096U; goto out; } else { } { pci_read_config_word((struct pci_dev const *)adapter->pdev, 200, & pcie_devctl2); pcie_devctl2 = (u16 )((unsigned int )pcie_devctl2 | 5U); pci_write_config_word((struct pci_dev const *)adapter->pdev, 200, (int )pcie_devctl2); } out: { gcr = gcr & 4294901759U; ixgbe_write_reg(hw, 69632U, gcr); } return; } } static s32 ixgbe_get_invariants_82598(struct ixgbe_hw *hw ) { struct ixgbe_mac_info *mac ; { { mac = & hw->mac; ixgbe_identify_phy_generic(hw); mac->mcft_size = 128U; mac->vft_size = 128U; mac->num_rar_entries = 16U; mac->max_rx_queues = 64U; mac->max_tx_queues = 32U; mac->max_msix_vectors = ixgbe_get_pcie_msix_count_generic(hw); } return (0); } } static s32 ixgbe_init_phy_ops_82598(struct ixgbe_hw *hw ) { struct ixgbe_mac_info *mac ; struct ixgbe_phy_info *phy ; s32 ret_val ; u16 list_offset ; u16 data_offset ; enum ixgbe_media_type tmp ; { { mac = & hw->mac; phy = & hw->phy; ret_val = 0; (*(phy->ops.identify))(hw); tmp = (*(mac->ops.get_media_type))(hw); } if ((unsigned int )tmp == 5U) { mac->ops.setup_link = & ixgbe_setup_copper_link_82598; mac->ops.get_link_capabilities = & ixgbe_get_copper_link_capabilities_generic; } else { } { if ((unsigned int )hw->phy.type == 2U) { goto case_2; } else { } if ((unsigned int )hw->phy.type == 7U) { goto case_7; } else { } goto switch_default; case_2: /* CIL Label */ phy->ops.setup_link = & ixgbe_setup_phy_link_tnx; phy->ops.check_link = & ixgbe_check_phy_link_tnx; phy->ops.get_firmware_version = & ixgbe_get_phy_firmware_version_tnx; goto ldv_50955; case_7: /* CIL Label */ { phy->ops.reset = & ixgbe_reset_phy_nl; ret_val = (*(phy->ops.identify_sfp))(hw); } if (ret_val != 0) { goto out; } else if ((unsigned int )hw->phy.sfp_type == 65535U) { ret_val = -19; goto out; } else { } { ret_val = ixgbe_get_sfp_init_sequence_offsets(hw, & list_offset, & data_offset); } if (ret_val != 0) { ret_val = -19; goto out; } else { } goto ldv_50955; switch_default: /* CIL Label */ ; goto ldv_50955; switch_break: /* CIL Label */ ; } ldv_50955: ; out: ; return (ret_val); } } static s32 ixgbe_start_hw_82598(struct ixgbe_hw *hw ) { u32 regval ; u32 i ; s32 ret_val ; { { ret_val = 0; ret_val = ixgbe_start_hw_generic(hw); i = 0U; } goto ldv_50966; ldv_50965: { regval = ixgbe_read_reg(hw, (i + 7296U) * 4U); regval = regval & 4294965247U; ixgbe_write_reg(hw, (i + 7296U) * 4U, regval); i = i + 1U; } ldv_50966: ; if (i < hw->mac.max_tx_queues && i <= 15U) { goto ldv_50965; } else { } i = 0U; goto ldv_50969; ldv_50968: { regval = ixgbe_read_reg(hw, i <= 15U ? (i + 2176U) * 4U : (i <= 63U ? i * 64U + 4108U : (i + 67108800U) * 64U + 53260U)); regval = regval & 4294926335U; ixgbe_write_reg(hw, i <= 15U ? (i + 2176U) * 4U : (i <= 63U ? i * 64U + 4108U : (i + 67108800U) * 64U + 53260U), regval); i = i + 1U; } ldv_50969: ; if (i < hw->mac.max_rx_queues && i <= 15U) { goto ldv_50968; } else { } hw->mac.rx_pb_size = 512U; if (ret_val == 0) { { ixgbe_set_pcie_completion_timeout(hw); } } else { } return (ret_val); } } static s32 ixgbe_get_link_capabilities_82598(struct ixgbe_hw *hw , ixgbe_link_speed *speed , bool *autoneg ) { s32 status ; u32 autoc ; { status = 0; autoc = 0U; if ((int )hw->mac.orig_link_settings_stored) { autoc = hw->mac.orig_autoc; } else { { autoc = ixgbe_read_reg(hw, 17056U); } } { if ((autoc & 57344U) == 0U) { goto case_0; } else { } if ((autoc & 57344U) == 8192U) { goto case_8192; } else { } if ((autoc & 57344U) == 16384U) { goto case_16384; } else { } if ((autoc & 57344U) == 32768U) { goto case_32768; } else { } if ((autoc & 57344U) == 49152U) { goto case_49152; } else { } goto switch_default; case_0: /* CIL Label */ *speed = 32U; *autoneg = 0; goto ldv_50979; case_8192: /* CIL Label */ *speed = 128U; *autoneg = 0; goto ldv_50979; case_16384: /* CIL Label */ *speed = 32U; *autoneg = 1; goto ldv_50979; case_32768: /* CIL Label */ ; case_49152: /* CIL Label */ *speed = 0U; if ((int )autoc < 0) { *speed = *speed | 128U; } else { } if ((autoc & 1073741824U) != 0U) { *speed = *speed | 32U; } else { } *autoneg = 1; goto ldv_50979; switch_default: /* CIL Label */ status = -8; goto ldv_50979; switch_break: /* CIL Label */ ; } ldv_50979: ; return (status); } } static enum ixgbe_media_type ixgbe_get_media_type_82598(struct ixgbe_hw *hw ) { enum ixgbe_media_type media_type ; { { if ((unsigned int )hw->phy.type == 4U) { goto case_4; } else { } if ((unsigned int )hw->phy.type == 2U) { goto case_2; } else { } goto switch_default; case_4: /* CIL Label */ ; case_2: /* CIL Label */ media_type = 5; goto out; switch_default: /* CIL Label */ ; goto ldv_50993; switch_break: /* CIL Label */ ; } ldv_50993: ; { if ((int )hw->device_id == 4278) { goto case_4278; } else { } if ((int )hw->device_id == 5384) { goto case_5384; } else { } if ((int )hw->device_id == 4294) { goto case_4294; } else { } if ((int )hw->device_id == 4295) { goto case_4295; } else { } if ((int )hw->device_id == 4337) { goto case_4337; } else { } if ((int )hw->device_id == 4321) { goto case_4321; } else { } if ((int )hw->device_id == 4340) { goto case_4340; } else { } if ((int )hw->device_id == 4315) { goto case_4315; } else { } if ((int )hw->device_id == 4317) { goto case_4317; } else { } if ((int )hw->device_id == 4332) { goto case_4332; } else { } if ((int )hw->device_id == 4296) { goto case_4296; } else { } if ((int )hw->device_id == 5387) { goto case_5387; } else { } goto switch_default___0; case_4278: /* CIL Label */ ; case_5384: /* CIL Label */ media_type = 6; goto ldv_50996; case_4294: /* CIL Label */ ; case_4295: /* CIL Label */ ; case_4337: /* CIL Label */ ; case_4321: /* CIL Label */ ; case_4340: /* CIL Label */ ; case_4315: /* CIL Label */ media_type = 1; goto ldv_50996; case_4317: /* CIL Label */ ; case_4332: /* CIL Label */ media_type = 7; goto ldv_50996; case_4296: /* CIL Label */ ; case_5387: /* CIL Label */ media_type = 5; goto ldv_50996; switch_default___0: /* CIL Label */ media_type = 0; goto ldv_50996; switch_break___0: /* CIL Label */ ; } ldv_50996: ; out: ; return (media_type); } } static s32 ixgbe_fc_enable_82598(struct ixgbe_hw *hw ) { s32 ret_val ; u32 fctrl_reg ; u32 rmcs_reg ; u32 reg ; u32 fcrtl ; u32 fcrth ; u32 link_speed ; int i ; bool link_up ; struct _ddebug descriptor ; long tmp ; struct _ddebug descriptor___0 ; long tmp___0 ; { ret_val = 0; link_speed = 0U; if ((hw->fc.low_water == 0U || hw->fc.high_water[0] == 0U) || (unsigned int )hw->fc.pause_time == 0U) { { descriptor.modname = "ixgbe"; descriptor.function = "ixgbe_fc_enable_82598"; descriptor.filename = "drivers/net/ethernet/intel/ixgbe/ixgbe_82598.c"; descriptor.format = "Invalid water mark configuration\n"; descriptor.lineno = 348U; descriptor.flags = 0U; tmp = ldv__builtin_expect((long )descriptor.flags & 1L, 0L); } if (tmp != 0L) { { __dynamic_netdev_dbg(& descriptor, (struct net_device const *)((struct ixgbe_adapter *)hw->back)->netdev, "Invalid water mark configuration\n"); } } else { } ret_val = -13; goto out; } else { } { (*(hw->mac.ops.check_link))(hw, & link_speed, & link_up, 0); } if ((int )link_up && link_speed == 32U) { { if ((unsigned int )hw->fc.requested_mode == 3U) { goto case_3; } else { } if ((unsigned int )hw->fc.requested_mode == 1U) { goto case_1; } else { } goto switch_default; case_3: /* CIL Label */ hw->fc.requested_mode = 2; goto ldv_51024; case_1: /* CIL Label */ hw->fc.requested_mode = 0; goto ldv_51024; switch_default: /* CIL Label */ ; goto ldv_51024; switch_break: /* CIL Label */ ; } ldv_51024: ; } else { } { ixgbe_fc_autoneg(hw); fctrl_reg = ixgbe_read_reg(hw, 20608U); fctrl_reg = fctrl_reg & 4294918143U; rmcs_reg = ixgbe_read_reg(hw, 15616U); rmcs_reg = rmcs_reg & 4294967271U; } { if ((unsigned int )hw->fc.current_mode == 0U) { goto case_0; } else { } if ((unsigned int )hw->fc.current_mode == 1U) { goto case_1___0; } else { } if ((unsigned int )hw->fc.current_mode == 2U) { goto case_2; } else { } if ((unsigned int )hw->fc.current_mode == 3U) { goto case_3___0; } else { } goto switch_default___0; case_0: /* CIL Label */ ; goto ldv_51028; case_1___0: /* CIL Label */ fctrl_reg = fctrl_reg | 32768U; goto ldv_51028; case_2: /* CIL Label */ rmcs_reg = rmcs_reg | 8U; goto ldv_51028; case_3___0: /* CIL Label */ fctrl_reg = fctrl_reg | 32768U; rmcs_reg = rmcs_reg | 8U; goto ldv_51028; switch_default___0: /* CIL Label */ { descriptor___0.modname = "ixgbe"; descriptor___0.function = "ixgbe_fc_enable_82598"; descriptor___0.filename = "drivers/net/ethernet/intel/ixgbe/ixgbe_82598.c"; descriptor___0.format = "Flow control param set incorrectly\n"; descriptor___0.lineno = 424U; descriptor___0.flags = 0U; tmp___0 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); } if (tmp___0 != 0L) { { __dynamic_netdev_dbg(& descriptor___0, (struct net_device const *)((struct ixgbe_adapter *)hw->back)->netdev, "Flow control param set incorrectly\n"); } } else { } ret_val = -4; goto out; switch_break___0: /* CIL Label */ ; } ldv_51028: { fctrl_reg = fctrl_reg | 8192U; ixgbe_write_reg(hw, 20608U, fctrl_reg); ixgbe_write_reg(hw, 15616U, rmcs_reg); fcrtl = (hw->fc.low_water << 10) | 2147483648U; i = 0; } goto ldv_51035; ldv_51034: ; if (((unsigned int )hw->fc.current_mode & 2U) != 0U && hw->fc.high_water[i] != 0U) { { fcrth = (hw->fc.high_water[i] << 10) | 2147483648U; ixgbe_write_reg(hw, (u32 )((i + 1604) * 8), fcrtl); ixgbe_write_reg(hw, (u32 )((i + 1612) * 8), fcrth); } } else { { ixgbe_write_reg(hw, (u32 )((i + 1604) * 8), 0U); ixgbe_write_reg(hw, (u32 )((i + 1612) * 8), 0U); } } i = i + 1; ldv_51035: ; if (i <= 7) { goto ldv_51034; } else { } reg = (u32 )((int )hw->fc.pause_time * 65537); i = 0; goto ldv_51038; ldv_51037: { ixgbe_write_reg(hw, (u32 )((i + 3200) * 4), reg); i = i + 1; } ldv_51038: ; if (i <= 3) { goto ldv_51037; } else { } { ixgbe_write_reg(hw, 12960U, (unsigned int )hw->fc.pause_time / 2U); } out: ; return (ret_val); } } static s32 ixgbe_start_mac_link_82598(struct ixgbe_hw *hw , bool autoneg_wait_to_complete ) { u32 autoc_reg ; u32 links_reg ; u32 i ; s32 status ; struct _ddebug descriptor ; long tmp ; { { status = 0; autoc_reg = ixgbe_read_reg(hw, 17056U); autoc_reg = autoc_reg | 4096U; ixgbe_write_reg(hw, 17056U, autoc_reg); } if ((int )autoneg_wait_to_complete) { if ((autoc_reg & 57344U) == 32768U || (autoc_reg & 57344U) == 49152U) { links_reg = 0U; i = 0U; goto ldv_51050; ldv_51049: { links_reg = ixgbe_read_reg(hw, 17060U); } if ((int )links_reg < 0) { goto ldv_51048; } else { } { msleep(100U); i = i + 1U; } ldv_51050: ; if (i <= 44U) { goto ldv_51049; } else { } ldv_51048: ; if ((int )links_reg >= 0) { { status = -14; descriptor.modname = "ixgbe"; descriptor.function = "ixgbe_start_mac_link_82598"; descriptor.filename = "drivers/net/ethernet/intel/ixgbe/ixgbe_82598.c"; descriptor.format = "Autonegotiation did not complete.\n"; descriptor.lineno = 498U; descriptor.flags = 0U; tmp = ldv__builtin_expect((long )descriptor.flags & 1L, 0L); } if (tmp != 0L) { { __dynamic_netdev_dbg(& descriptor, (struct net_device const *)((struct ixgbe_adapter *)hw->back)->netdev, "Autonegotiation did not complete.\n"); } } else { } } else { } } else { } } else { } { msleep(50U); } return (status); } } static s32 ixgbe_validate_link_ready(struct ixgbe_hw *hw ) { u32 timeout ; u16 an_reg ; struct _ddebug descriptor ; long tmp ; { if ((unsigned int )hw->device_id != 5387U) { return (0); } else { } timeout = 0U; goto ldv_51060; ldv_51059: { (*(hw->phy.ops.read_reg))(hw, 1U, 7U, & an_reg); } if (((unsigned int )an_reg & 36U) == 36U) { goto ldv_51058; } else { } { msleep(100U); timeout = timeout + 1U; } ldv_51060: ; if (timeout <= 49U) { goto ldv_51059; } else { } ldv_51058: ; if (timeout == 50U) { { descriptor.modname = "ixgbe"; descriptor.function = "ixgbe_validate_link_ready"; descriptor.filename = "drivers/net/ethernet/intel/ixgbe/ixgbe_82598.c"; descriptor.format = "Link was indicated but link is down\n"; descriptor.lineno = 536U; descriptor.flags = 0U; tmp = ldv__builtin_expect((long )descriptor.flags & 1L, 0L); } if (tmp != 0L) { { __dynamic_netdev_dbg(& descriptor, (struct net_device const *)((struct ixgbe_adapter *)hw->back)->netdev, "Link was indicated but link is down\n"); } } else { } return (-8); } else { } return (0); } } static s32 ixgbe_check_mac_link_82598(struct ixgbe_hw *hw , ixgbe_link_speed *speed , bool *link_up , bool link_up_wait_to_complete ) { u32 links_reg ; u32 i ; u16 link_reg ; u16 adapt_comp_reg ; s32 tmp ; { if ((unsigned int )hw->phy.type == 7U) { { (*(hw->phy.ops.read_reg))(hw, 51103U, 1U, & link_reg); (*(hw->phy.ops.read_reg))(hw, 51103U, 1U, & link_reg); (*(hw->phy.ops.read_reg))(hw, 49164U, 1U, & adapt_comp_reg); } if ((int )link_up_wait_to_complete) { i = 0U; goto ldv_51075; ldv_51074: ; if ((int )link_reg & 1 && ((int )adapt_comp_reg & 1) == 0) { *link_up = 1; goto ldv_51073; } else { *link_up = 0; } { msleep(100U); (*(hw->phy.ops.read_reg))(hw, 51103U, 1U, & link_reg); (*(hw->phy.ops.read_reg))(hw, 49164U, 1U, & adapt_comp_reg); i = i + 1U; } ldv_51075: ; if (i <= 89U) { goto ldv_51074; } else { } ldv_51073: ; } else if ((int )link_reg & 1 && ((int )adapt_comp_reg & 1) == 0) { *link_up = 1; } else { *link_up = 0; } if (! *link_up) { goto out; } else { } } else { } { links_reg = ixgbe_read_reg(hw, 17060U); } if ((int )link_up_wait_to_complete) { i = 0U; goto ldv_51079; ldv_51078: ; if ((links_reg & 1073741824U) != 0U) { *link_up = 1; goto ldv_51077; } else { *link_up = 0; } { msleep(100U); links_reg = ixgbe_read_reg(hw, 17060U); i = i + 1U; } ldv_51079: ; if (i <= 89U) { goto ldv_51078; } else { } ldv_51077: ; } else if ((links_reg & 1073741824U) != 0U) { *link_up = 1; } else { *link_up = 0; } if ((links_reg & 536870912U) != 0U) { *speed = 128U; } else { *speed = 32U; } if ((unsigned int )hw->device_id == 5387U && (int )*link_up) { { tmp = ixgbe_validate_link_ready(hw); } if (tmp != 0) { *link_up = 0; } else { } } else { } out: ; return (0); } } static s32 ixgbe_setup_mac_link_82598(struct ixgbe_hw *hw , ixgbe_link_speed speed , bool autoneg_wait_to_complete ) { bool autoneg ; s32 status ; ixgbe_link_speed link_capabilities ; u32 curr_autoc ; u32 tmp ; u32 autoc ; u32 link_mode ; { { autoneg = 0; status = 0; link_capabilities = 0U; tmp = ixgbe_read_reg(hw, 17056U); curr_autoc = tmp; autoc = curr_autoc; link_mode = autoc & 57344U; ixgbe_get_link_capabilities_82598(hw, & link_capabilities, & autoneg); speed = speed & link_capabilities; } if (speed == 0U) { status = -8; } else if (link_mode == 32768U || link_mode == 49152U) { autoc = autoc & 1073741823U; if ((speed & 128U) != 0U) { autoc = autoc | 2147483648U; } else { } if ((speed & 32U) != 0U) { autoc = autoc | 1073741824U; } else { } if (autoc != curr_autoc) { { ixgbe_write_reg(hw, 17056U, autoc); } } else { } } else { } if (status == 0) { { status = ixgbe_start_mac_link_82598(hw, (int )autoneg_wait_to_complete); } } else { } return (status); } } static s32 ixgbe_setup_copper_link_82598(struct ixgbe_hw *hw , ixgbe_link_speed speed , bool autoneg_wait_to_complete ) { s32 status ; { { status = (*(hw->phy.ops.setup_link_speed))(hw, speed, (int )autoneg_wait_to_complete); ixgbe_start_mac_link_82598(hw, (int )autoneg_wait_to_complete); } return (status); } } static s32 ixgbe_reset_hw_82598(struct ixgbe_hw *hw ) { s32 status ; s32 phy_status ; u32 ctrl ; u32 gheccr ; u32 i ; u32 autoc ; u8 analog_val ; u32 tmp ; struct _ddebug descriptor ; long tmp___0 ; { { status = 0; phy_status = 0; status = (*(hw->mac.ops.stop_adapter))(hw); } if (status != 0) { goto reset_hw_out; } else { } { (*(hw->mac.ops.read_analog_reg8))(hw, 36U, & analog_val); } if (((int )analog_val & 16) != 0) { { (*(hw->mac.ops.read_analog_reg8))(hw, 36U, & analog_val); analog_val = (unsigned int )analog_val & 239U; (*(hw->mac.ops.write_analog_reg8))(hw, 36U, (int )analog_val); (*(hw->mac.ops.read_analog_reg8))(hw, 11U, & analog_val); analog_val = (unsigned int )analog_val & 15U; (*(hw->mac.ops.write_analog_reg8))(hw, 11U, (int )analog_val); (*(hw->mac.ops.read_analog_reg8))(hw, 12U, & analog_val); analog_val = (unsigned int )analog_val & 15U; (*(hw->mac.ops.write_analog_reg8))(hw, 12U, (int )analog_val); (*(hw->mac.ops.read_analog_reg8))(hw, 13U, & analog_val); analog_val = (unsigned int )analog_val & 15U; (*(hw->mac.ops.write_analog_reg8))(hw, 13U, (int )analog_val); } } else { } if (! hw->phy.reset_disable) { { phy_status = (*(hw->phy.ops.init))(hw); } if (phy_status == -19) { goto reset_hw_out; } else { } if (phy_status == -20) { goto mac_reset_top; } else { } { (*(hw->phy.ops.reset))(hw); } } else { } mac_reset_top: { tmp = ixgbe_read_reg(hw, 0U); ctrl = tmp | 67108864U; ixgbe_write_reg(hw, 0U, ctrl); ixgbe_read_reg(hw, 8U); i = 0U; } goto ldv_51111; ldv_51110: { __const_udelay(4295UL); ctrl = ixgbe_read_reg(hw, 0U); } if ((ctrl & 67108864U) == 0U) { goto ldv_51109; } else { } i = i + 1U; ldv_51111: ; if (i <= 9U) { goto ldv_51110; } else { } ldv_51109: ; if ((ctrl & 67108864U) != 0U) { { status = -15; descriptor.modname = "ixgbe"; descriptor.function = "ixgbe_reset_hw_82598"; descriptor.filename = "drivers/net/ethernet/intel/ixgbe/ixgbe_82598.c"; descriptor.format = "Reset polling failed to complete.\n"; descriptor.lineno = 794U; descriptor.flags = 0U; tmp___0 = ldv__builtin_expect((long )descriptor.flags & 1L, 0L); } if (tmp___0 != 0L) { { __dynamic_netdev_dbg(& descriptor, (struct net_device const *)((struct ixgbe_adapter *)hw->back)->netdev, "Reset polling failed to complete.\n"); } } else { } } else { } { msleep(50U); } if ((int )hw->mac.flags & 1) { hw->mac.flags = (unsigned int )hw->mac.flags & 254U; goto mac_reset_top; } else { } { gheccr = ixgbe_read_reg(hw, 69808U); gheccr = gheccr & 4292607423U; ixgbe_write_reg(hw, 69808U, gheccr); autoc = ixgbe_read_reg(hw, 17056U); } if (! hw->mac.orig_link_settings_stored) { hw->mac.orig_autoc = autoc; hw->mac.orig_link_settings_stored = 1; } else if (autoc != hw->mac.orig_autoc) { { ixgbe_write_reg(hw, 17056U, hw->mac.orig_autoc); } } else { } { (*(hw->mac.ops.get_mac_addr))(hw, (u8 *)(& hw->mac.perm_addr)); (*(hw->mac.ops.init_rx_addrs))(hw); } reset_hw_out: ; if (phy_status != 0) { status = phy_status; } else { } return (status); } } static s32 ixgbe_set_vmdq_82598(struct ixgbe_hw *hw , u32 rar , u32 vmdq ) { u32 rar_high ; u32 rar_entries ; struct _ddebug descriptor ; long tmp ; { rar_entries = hw->mac.num_rar_entries; if (rar >= rar_entries) { { descriptor.modname = "ixgbe"; descriptor.function = "ixgbe_set_vmdq_82598"; descriptor.filename = "drivers/net/ethernet/intel/ixgbe/ixgbe_82598.c"; descriptor.format = "RAR index %d is out of range.\n"; descriptor.lineno = 855U; descriptor.flags = 0U; tmp = ldv__builtin_expect((long )descriptor.flags & 1L, 0L); } if (tmp != 0L) { { __dynamic_netdev_dbg(& descriptor, (struct net_device const *)((struct ixgbe_adapter *)hw->back)->netdev, "RAR index %d is out of range.\n", rar); } } else { } return (-32); } else { } { rar_high = ixgbe_read_reg(hw, rar <= 15U ? rar * 8U + 21508U : rar * 8U + 41476U); rar_high = rar_high & 4291035135U; rar_high = rar_high | ((vmdq << 18) & 3932160U); ixgbe_write_reg(hw, rar <= 15U ? rar * 8U + 21508U : rar * 8U + 41476U, rar_high); } return (0); } } static s32 ixgbe_clear_vmdq_82598(struct ixgbe_hw *hw , u32 rar , u32 vmdq ) { u32 rar_high ; u32 rar_entries ; struct _ddebug descriptor ; long tmp ; { rar_entries = hw->mac.num_rar_entries; if (rar >= rar_entries) { { descriptor.modname = "ixgbe"; descriptor.function = "ixgbe_clear_vmdq_82598"; descriptor.filename = "drivers/net/ethernet/intel/ixgbe/ixgbe_82598.c"; descriptor.format = "RAR index %d is out of range.\n"; descriptor.lineno = 880U; descriptor.flags = 0U; tmp = ldv__builtin_expect((long )descriptor.flags & 1L, 0L); } if (tmp != 0L) { { __dynamic_netdev_dbg(& descriptor, (struct net_device const *)((struct ixgbe_adapter *)hw->back)->netdev, "RAR index %d is out of range.\n", rar); } } else { } return (-32); } else { } { rar_high = ixgbe_read_reg(hw, rar <= 15U ? rar * 8U + 21508U : rar * 8U + 41476U); } if ((rar_high & 3932160U) != 0U) { { rar_high = rar_high & 4291035135U; ixgbe_write_reg(hw, rar <= 15U ? rar * 8U + 21508U : rar * 8U + 41476U, rar_high); } } else { } return (0); } } static s32 ixgbe_set_vfta_82598(struct ixgbe_hw *hw , u32 vlan , u32 vind , bool vlan_on ) { u32 regindex ; u32 bitindex ; u32 bits ; u32 vftabyte ; { if (vlan > 4095U) { return (-5); } else { } { regindex = (vlan >> 5) & 127U; vftabyte = (vlan >> 3) & 3U; bitindex = (vlan & 7U) << 2; bits = ixgbe_read_reg(hw, ((vftabyte + 81U) * 128U + regindex) * 4U); bits = bits & (u32 )(~ (15 << (int )bitindex)); bits = bits | (vind << (int )bitindex); ixgbe_write_reg(hw, ((vftabyte + 81U) * 128U + regindex) * 4U, bits); bitindex = vlan & 31U; bits = ixgbe_read_reg(hw, (regindex + 10240U) * 4U); } if ((int )vlan_on) { bits = bits | (u32 )(1 << (int )bitindex); } else { bits = bits & (u32 )(~ (1 << (int )bitindex)); } { ixgbe_write_reg(hw, (regindex + 10240U) * 4U, bits); } return (0); } } static s32 ixgbe_clear_vfta_82598(struct ixgbe_hw *hw ) { u32 offset ; u32 vlanbyte ; { offset = 0U; goto ldv_51148; ldv_51147: { ixgbe_write_reg(hw, (offset + 10240U) * 4U, 0U); offset = offset + 1U; } ldv_51148: ; if (offset < hw->mac.vft_size) { goto ldv_51147; } else { } vlanbyte = 0U; goto ldv_51154; ldv_51153: offset = 0U; goto ldv_51151; ldv_51150: { ixgbe_write_reg(hw, ((vlanbyte + 81U) * 128U + offset) * 4U, 0U); offset = offset + 1U; } ldv_51151: ; if (offset < hw->mac.vft_size) { goto ldv_51150; } else { } vlanbyte = vlanbyte + 1U; ldv_51154: ; if (vlanbyte <= 3U) { goto ldv_51153; } else { } return (0); } } static s32 ixgbe_read_analog_reg8_82598(struct ixgbe_hw *hw , u32 reg , u8 *val ) { u32 atlas_ctl ; { { ixgbe_write_reg(hw, 18432U, (reg << 8) | 65536U); ixgbe_read_reg(hw, 8U); __const_udelay(42950UL); atlas_ctl = ixgbe_read_reg(hw, 18432U); *val = (unsigned char )atlas_ctl; } return (0); } } static s32 ixgbe_write_analog_reg8_82598(struct ixgbe_hw *hw , u32 reg , u8 val ) { u32 atlas_ctl ; { { atlas_ctl = (reg << 8) | (u32 )val; ixgbe_write_reg(hw, 18432U, atlas_ctl); ixgbe_read_reg(hw, 8U); __const_udelay(42950UL); } return (0); } } static s32 ixgbe_read_i2c_phy_82598(struct ixgbe_hw *hw , u8 dev_addr , u8 byte_offset , u8 *eeprom_data ) { s32 status ; u16 sfp_addr ; u16 sfp_data ; u16 sfp_stat ; u16 gssr ; u32 i ; u32 tmp ; s32 tmp___0 ; struct _ddebug descriptor ; long tmp___1 ; { { status = 0; sfp_addr = 0U; sfp_data = 0U; sfp_stat = 0U; tmp = ixgbe_read_reg(hw, 8U); } if ((tmp & 4U) != 0U) { gssr = 4U; } else { gssr = 2U; } { tmp___0 = (*(hw->mac.ops.acquire_swfw_sync))(hw, (int )gssr); } if (tmp___0 != 0) { return (-16); } else { } if ((unsigned int )hw->phy.type == 7U) { { sfp_addr = ((int )((u16 )dev_addr) << 8U) + (int )((u16 )byte_offset); sfp_addr = (u16 )((unsigned int )sfp_addr | 256U); (*(hw->phy.ops.write_reg_mdi))(hw, 49930U, 1U, (int )sfp_addr); i = 0U; } goto ldv_51182; ldv_51181: { (*(hw->phy.ops.read_reg_mdi))(hw, 49932U, 1U, & sfp_stat); sfp_stat = (unsigned int )sfp_stat & 3U; } if ((unsigned int )sfp_stat != 3U) { goto ldv_51180; } else { } { usleep_range(10000UL, 20000UL); i = i + 1U; } ldv_51182: ; if (i <= 99U) { goto ldv_51181; } else { } ldv_51180: ; if ((unsigned int )sfp_stat != 1U) { { descriptor.modname = "ixgbe"; descriptor.function = "ixgbe_read_i2c_phy_82598"; descriptor.filename = "drivers/net/ethernet/intel/ixgbe/ixgbe_82598.c"; descriptor.format = "EEPROM read did not pass.\n"; descriptor.lineno = 1058U; descriptor.flags = 0U; tmp___1 = ldv__builtin_expect((long )descriptor.flags & 1L, 0L); } if (tmp___1 != 0L) { { __dynamic_netdev_dbg(& descriptor, (struct net_device const *)((struct ixgbe_adapter *)hw->back)->netdev, "EEPROM read did not pass.\n"); } } else { } status = -20; goto out; } else { } { (*(hw->phy.ops.read_reg_mdi))(hw, 49931U, 1U, & sfp_data); *eeprom_data = (unsigned char )((int )sfp_data >> 8); } } else { status = -3; } out: { (*(hw->mac.ops.release_swfw_sync))(hw, (int )gssr); } return (status); } } static s32 ixgbe_read_i2c_eeprom_82598(struct ixgbe_hw *hw , u8 byte_offset , u8 *eeprom_data ) { s32 tmp ; { { tmp = ixgbe_read_i2c_phy_82598(hw, 160, (int )byte_offset, eeprom_data); } return (tmp); } } static s32 ixgbe_read_i2c_sff8472_82598(struct ixgbe_hw *hw , u8 byte_offset , u8 *sff8472_data ) { s32 tmp ; { { tmp = ixgbe_read_i2c_phy_82598(hw, 162, (int )byte_offset, sff8472_data); } return (tmp); } } static u32 ixgbe_get_supported_physical_layer_82598(struct ixgbe_hw *hw ) { u32 physical_layer ; u32 autoc ; u32 tmp ; u32 pma_pmd_10g ; u32 pma_pmd_1g ; u16 ext_ability ; { { physical_layer = 0U; tmp = ixgbe_read_reg(hw, 17056U); autoc = tmp; pma_pmd_10g = autoc & 384U; pma_pmd_1g = autoc & 512U; ext_ability = 0U; (*(hw->phy.ops.identify))(hw); } { if ((unsigned int )hw->phy.type == 2U) { goto case_2; } else { } if ((unsigned int )hw->phy.type == 4U) { goto case_4; } else { } goto switch_default; case_2: /* CIL Label */ ; case_4: /* CIL Label */ { (*(hw->phy.ops.read_reg))(hw, 11U, 1U, & ext_ability); } if (((int )ext_ability & 4) != 0) { physical_layer = physical_layer | 1U; } else { } if (((int )ext_ability & 32) != 0) { physical_layer = physical_layer | 2U; } else { } if (((int )ext_ability & 128) != 0) { physical_layer = physical_layer | 4U; } else { } goto out; switch_default: /* CIL Label */ ; goto ldv_51208; switch_break: /* CIL Label */ ; } ldv_51208: ; { if ((autoc & 57344U) == 16384U) { goto case_16384; } else { } if ((autoc & 57344U) == 0U) { goto case_0; } else { } if ((autoc & 57344U) == 8192U) { goto case_8192; } else { } if ((autoc & 57344U) == 32768U) { goto case_32768; } else { } if ((autoc & 57344U) == 49152U) { goto case_49152; } else { } goto switch_default___0; case_16384: /* CIL Label */ ; case_0: /* CIL Label */ ; if (pma_pmd_1g == 512U) { physical_layer = 512U; } else { physical_layer = 1024U; } goto ldv_51211; case_8192: /* CIL Label */ ; if (pma_pmd_10g == 256U) { physical_layer = 256U; } else if (pma_pmd_10g == 128U) { physical_layer = 128U; } else { physical_layer = 0U; } goto ldv_51211; case_32768: /* CIL Label */ ; case_49152: /* CIL Label */ ; if ((autoc & 1073741824U) != 0U) { physical_layer = physical_layer | 512U; } else { } if ((int )autoc < 0) { physical_layer = physical_layer | 128U; } else { } goto ldv_51211; switch_default___0: /* CIL Label */ ; goto ldv_51211; switch_break___0: /* CIL Label */ ; } ldv_51211: ; if ((unsigned int )hw->phy.type == 7U) { { (*(hw->phy.ops.identify_sfp))(hw); } { if ((unsigned int )hw->phy.sfp_type == 0U) { goto case_0___0; } else { } if ((unsigned int )hw->phy.sfp_type == 1U) { goto case_1; } else { } if ((unsigned int )hw->phy.sfp_type == 2U) { goto case_2___0; } else { } goto switch_default___1; case_0___0: /* CIL Label */ physical_layer = 8U; goto ldv_51217; case_1: /* CIL Label */ physical_layer = 64U; goto ldv_51217; case_2___0: /* CIL Label */ physical_layer = 16U; goto ldv_51217; switch_default___1: /* CIL Label */ physical_layer = 0U; goto ldv_51217; switch_break___1: /* CIL Label */ ; } ldv_51217: ; } else { } { if ((int )hw->device_id == 4337) { goto case_4337; } else { } if ((int )hw->device_id == 4294) { goto case_4294; } else { } if ((int )hw->device_id == 4295) { goto case_4295; } else { } if ((int )hw->device_id == 4321) { goto case_4321; } else { } if ((int )hw->device_id == 4340) { goto case_4340; } else { } goto switch_default___2; case_4337: /* CIL Label */ physical_layer = 8U; goto ldv_51222; case_4294: /* CIL Label */ ; case_4295: /* CIL Label */ ; case_4321: /* CIL Label */ physical_layer = 64U; goto ldv_51222; case_4340: /* CIL Label */ physical_layer = 16U; goto ldv_51222; switch_default___2: /* CIL Label */ ; goto ldv_51222; switch_break___2: /* CIL Label */ ; } ldv_51222: ; out: ; return (physical_layer); } } static void ixgbe_set_lan_id_multi_port_pcie_82598(struct ixgbe_hw *hw ) { struct ixgbe_bus_info *bus ; u16 pci_gen ; u16 pci_ctrl2 ; { { bus = & hw->bus; pci_gen = 0U; pci_ctrl2 = 0U; ixgbe_set_lan_id_multi_port_pcie(hw); (*(hw->eeprom.ops.read))(hw, 6, & pci_gen); } if ((unsigned int )pci_gen - 1U <= 65533U) { { (*(hw->eeprom.ops.read))(hw, (int )((unsigned int )pci_gen + 5U), & pci_ctrl2); } if (((unsigned int )pci_ctrl2 & 3U) == 2U && ((int )pci_ctrl2 & 8) == 0) { bus->func = 0U; } else { } } else { } return; } } static void ixgbe_set_rxpba_82598(struct ixgbe_hw *hw , int num_pb , u32 headroom , int strategy ) { u32 rxpktsize ; u8 i ; { rxpktsize = 65536U; i = 0U; if (num_pb == 0) { return; } else { } { if (strategy == 1) { goto case_1; } else { } if (strategy == 0) { goto case_0; } else { } goto switch_default; case_1: /* CIL Label */ rxpktsize = 81920U; goto ldv_51244; ldv_51243: { ixgbe_write_reg(hw, (u32 )(((int )i + 3840) * 4), rxpktsize); i = (u8 )((int )i + 1); } ldv_51244: ; if ((unsigned int )i <= 3U) { goto ldv_51243; } else { } rxpktsize = 49152U; case_0: /* CIL Label */ ; switch_default: /* CIL Label */ ; goto ldv_51249; ldv_51248: { ixgbe_write_reg(hw, (u32 )(((int )i + 3840) * 4), rxpktsize); i = (u8 )((int )i + 1); } ldv_51249: ; if ((unsigned int )i <= 7U) { goto ldv_51248; } else { } goto ldv_51251; switch_break: /* CIL Label */ ; } ldv_51251: i = 0U; goto ldv_51253; ldv_51252: { ixgbe_write_reg(hw, (u32 )(((int )i + 13056) * 4), 40960U); i = (u8 )((int )i + 1); } ldv_51253: ; if ((unsigned int )i <= 7U) { goto ldv_51252; } else { } return; } } static struct ixgbe_mac_operations mac_ops_82598 = {& ixgbe_init_hw_generic, & ixgbe_reset_hw_82598, & ixgbe_start_hw_82598, & ixgbe_clear_hw_cntrs_generic, & ixgbe_get_media_type_82598, & ixgbe_get_supported_physical_layer_82598, & ixgbe_get_mac_addr_generic, 0, 0, 0, & ixgbe_stop_adapter_generic, & ixgbe_get_bus_info_generic, & ixgbe_set_lan_id_multi_port_pcie_82598, & ixgbe_read_analog_reg8_82598, & ixgbe_write_analog_reg8_82598, 0, 0, 0, & ixgbe_enable_rx_dma_generic, & ixgbe_acquire_swfw_sync, & ixgbe_release_swfw_sync, 0, 0, 0, 0, & ixgbe_setup_mac_link_82598, & ixgbe_check_mac_link_82598, & ixgbe_get_link_capabilities_82598, & ixgbe_set_rxpba_82598, & ixgbe_led_on_generic, & ixgbe_led_off_generic, & ixgbe_blink_led_start_generic, & ixgbe_blink_led_stop_generic, & ixgbe_set_rar_generic, & ixgbe_clear_rar_generic, & ixgbe_set_vmdq_82598, 0, & ixgbe_clear_vmdq_82598, & ixgbe_init_rx_addrs_generic, & ixgbe_update_mc_addr_list_generic, & ixgbe_enable_mc_generic, & ixgbe_disable_mc_generic, & ixgbe_clear_vfta_82598, & ixgbe_set_vfta_82598, 0, 0, 0, & ixgbe_fc_enable_82598, (s32 (*)(struct ixgbe_hw * , u8 , u8 , u8 , u8 ))0, (s32 (*)(struct ixgbe_hw * ))0, (s32 (*)(struct ixgbe_hw * ))0, (bool (*)(struct ixgbe_hw * ))0}; static struct ixgbe_eeprom_operations eeprom_ops_82598 = {& ixgbe_init_eeprom_params_generic, & ixgbe_read_eerd_generic, & ixgbe_read_eerd_buffer_generic, & ixgbe_write_eeprom_generic, & ixgbe_write_eeprom_buffer_bit_bang_generic, & ixgbe_validate_eeprom_checksum_generic, & ixgbe_update_eeprom_checksum_generic, & ixgbe_calc_eeprom_checksum_generic}; static struct ixgbe_phy_operations phy_ops_82598 = {& ixgbe_identify_phy_generic, & ixgbe_identify_module_generic, & ixgbe_init_phy_ops_82598, & ixgbe_reset_phy_generic, & ixgbe_read_phy_reg_generic, & ixgbe_write_phy_reg_generic, & ixgbe_read_phy_reg_mdi, & ixgbe_write_phy_reg_mdi, & ixgbe_setup_phy_link_generic, & ixgbe_setup_phy_link_speed_generic, 0, 0, 0, 0, & ixgbe_read_i2c_sff8472_82598, & ixgbe_read_i2c_eeprom_82598, 0, & ixgbe_tn_check_overtemp}; struct ixgbe_info ixgbe_82598_info = {1, & ixgbe_get_invariants_82598, & mac_ops_82598, & eeprom_ops_82598, & phy_ops_82598, 0}; int (*ldv_10_callback_read_buffer)(struct ixgbe_hw * , unsigned short , unsigned short , unsigned short * ) = & ixgbe_read_eerd_buffer_generic; int (*ldv_10_callback_read_reg_mdi)(struct ixgbe_hw * , unsigned int , unsigned int , unsigned short * ) = & ixgbe_read_phy_reg_mdi; void (*ldv_10_callback_set_lan_id)(struct ixgbe_hw * ) = & ixgbe_set_lan_id_multi_port_pcie_82598; int (*ldv_10_callback_write_reg_mdi)(struct ixgbe_hw * , unsigned int , unsigned int , unsigned short ) = & ixgbe_write_phy_reg_mdi; int (*ldv_11_callback_check_link)(struct ixgbe_hw * , unsigned int * , _Bool * , _Bool ) = & ixgbe_check_mac_link_82598; int (*ldv_11_callback_clear_vfta)(struct ixgbe_hw * ) = & ixgbe_clear_vfta_82598; int (*ldv_11_callback_clear_vmdq)(struct ixgbe_hw * , unsigned int , unsigned int ) = & ixgbe_clear_vmdq_82598; int (*ldv_11_callback_fc_enable)(struct ixgbe_hw * ) = & ixgbe_fc_enable_82598; int (*ldv_11_callback_get_link_capabilities)(struct ixgbe_hw * , unsigned int * , _Bool * ) = & ixgbe_get_link_capabilities_82598; int (*ldv_11_callback_read_buffer)(struct ixgbe_hw * , unsigned short , unsigned short , unsigned short * ) = & ixgbe_read_eerd_buffer_generic; int (*ldv_11_callback_read_reg_mdi)(struct ixgbe_hw * , unsigned int , unsigned int , unsigned short * ) = & ixgbe_read_phy_reg_mdi; void (*ldv_11_callback_set_lan_id)(struct ixgbe_hw * ) = & ixgbe_set_lan_id_multi_port_pcie_82598; int (*ldv_11_callback_write_reg_mdi)(struct ixgbe_hw * , unsigned int , unsigned int , unsigned short ) = & ixgbe_write_phy_reg_mdi; int (*ldv_12_callback_check_link)(struct ixgbe_hw * , unsigned int * , _Bool * , _Bool ) = & ixgbe_check_mac_link_82598; int (*ldv_12_callback_clear_vfta)(struct ixgbe_hw * ) = & ixgbe_clear_vfta_82598; int (*ldv_12_callback_clear_vmdq)(struct ixgbe_hw * , unsigned int , unsigned int ) = & ixgbe_clear_vmdq_82598; int (*ldv_12_callback_fc_enable)(struct ixgbe_hw * ) = & ixgbe_fc_enable_82598; int (*ldv_12_callback_read_buffer)(struct ixgbe_hw * , unsigned short , unsigned short , unsigned short * ) = & ixgbe_read_eerd_buffer_generic; int (*ldv_12_callback_read_reg_mdi)(struct ixgbe_hw * , unsigned int , unsigned int , unsigned short * ) = & ixgbe_read_phy_reg_mdi; void (*ldv_12_callback_set_lan_id)(struct ixgbe_hw * ) = & ixgbe_set_lan_id_multi_port_pcie_82598; int (*ldv_12_callback_write_reg_mdi)(struct ixgbe_hw * , unsigned int , unsigned int , unsigned short ) = & ixgbe_write_phy_reg_mdi; int (*ldv_13_callback_check_link)(struct ixgbe_hw * , unsigned int * , _Bool * , _Bool ) = & ixgbe_check_mac_link_82598; int (*ldv_13_callback_clear_vfta)(struct ixgbe_hw * ) = & ixgbe_clear_vfta_82598; int (*ldv_13_callback_clear_vmdq)(struct ixgbe_hw * , unsigned int , unsigned int ) = & ixgbe_clear_vmdq_82598; int (*ldv_13_callback_fc_enable)(struct ixgbe_hw * ) = & ixgbe_fc_enable_82598; int (*ldv_13_callback_get_invariants)(struct ixgbe_hw * ) = & ixgbe_get_invariants_82598; enum ixgbe_media_type (*ldv_13_callback_get_media_type)(struct ixgbe_hw * ) = & ixgbe_get_media_type_82598; unsigned int (*ldv_13_callback_get_supported_physical_layer)(struct ixgbe_hw * ) = & ixgbe_get_supported_physical_layer_82598; int (*ldv_13_callback_read_buffer)(struct ixgbe_hw * , unsigned short , unsigned short , unsigned short * ) = & ixgbe_read_eerd_buffer_generic; int (*ldv_13_callback_read_reg_mdi)(struct ixgbe_hw * , unsigned int , unsigned int , unsigned short * ) = & ixgbe_read_phy_reg_mdi; void (*ldv_13_callback_set_lan_id)(struct ixgbe_hw * ) = & ixgbe_set_lan_id_multi_port_pcie_82598; int (*ldv_13_callback_write_reg_mdi)(struct ixgbe_hw * , unsigned int , unsigned int , unsigned short ) = & ixgbe_write_phy_reg_mdi; int (*ldv_8_callback_check_link)(struct ixgbe_hw * , unsigned int * , _Bool * , _Bool ) = & ixgbe_check_mac_link_82598; int (*ldv_8_callback_clear_vfta)(struct ixgbe_hw * ) = & ixgbe_clear_vfta_82598; int (*ldv_8_callback_clear_vmdq)(struct ixgbe_hw * , unsigned int , unsigned int ) = & ixgbe_clear_vmdq_82598; int (*ldv_8_callback_fc_enable)(struct ixgbe_hw * ) = & ixgbe_fc_enable_82598; int (*ldv_8_callback_get_invariants)(struct ixgbe_hw * ) = & ixgbe_get_invariants_82598; enum ixgbe_media_type (*ldv_8_callback_get_media_type)(struct ixgbe_hw * ) = & ixgbe_get_media_type_82598; unsigned int (*ldv_8_callback_get_supported_physical_layer)(struct ixgbe_hw * ) = & ixgbe_get_supported_physical_layer_82598; int (*ldv_8_callback_init)(struct ixgbe_hw * ) = & ixgbe_init_phy_ops_82598; int (*ldv_8_callback_read_analog_reg8)(struct ixgbe_hw * , unsigned int , unsigned char * ) = & ixgbe_read_analog_reg8_82598; int (*ldv_8_callback_read_buffer)(struct ixgbe_hw * , unsigned short , unsigned short , unsigned short * ) = & ixgbe_read_eerd_buffer_generic; int (*ldv_8_callback_read_i2c_eeprom)(struct ixgbe_hw * , unsigned char , unsigned char * ) = & ixgbe_read_i2c_eeprom_82598; int (*ldv_8_callback_read_i2c_sff8472)(struct ixgbe_hw * , unsigned char , unsigned char * ) = & ixgbe_read_i2c_sff8472_82598; int (*ldv_8_callback_read_reg_mdi)(struct ixgbe_hw * , unsigned int , unsigned int , unsigned short * ) = & ixgbe_read_phy_reg_mdi; int (*ldv_8_callback_reset_hw)(struct ixgbe_hw * ) = & ixgbe_reset_hw_82598; void (*ldv_8_callback_set_rxpba)(struct ixgbe_hw * , int , unsigned int , int ) = & ixgbe_set_rxpba_82598; int (*ldv_8_callback_set_vfta)(struct ixgbe_hw * , unsigned int , unsigned int , _Bool ) = & ixgbe_set_vfta_82598; int (*ldv_8_callback_set_vmdq)(struct ixgbe_hw * , unsigned int , unsigned int ) = & ixgbe_set_vmdq_82598; int (*ldv_8_callback_setup_link_speed)(struct ixgbe_hw * , unsigned int , _Bool ) = & ixgbe_setup_mac_link_82598; int (*ldv_8_callback_start_hw)(struct ixgbe_hw * ) = & ixgbe_start_hw_82598; int (*ldv_8_callback_write_analog_reg8)(struct ixgbe_hw * , unsigned int , unsigned char ) = & ixgbe_write_analog_reg8_82598; int (*ldv_8_callback_write_reg_mdi)(struct ixgbe_hw * , unsigned int , unsigned int , unsigned short ) = & ixgbe_write_phy_reg_mdi; int (*ldv_9_callback_read_reg_mdi)(struct ixgbe_hw * , unsigned int , unsigned int , unsigned short * ) = & ixgbe_read_phy_reg_mdi; void (*ldv_9_callback_set_lan_id)(struct ixgbe_hw * ) = & ixgbe_set_lan_id_multi_port_pcie_82598; int (*ldv_9_callback_write_reg_mdi)(struct ixgbe_hw * , unsigned int , unsigned int , unsigned short ) = & ixgbe_write_phy_reg_mdi; void ldv_dummy_resourceless_instance_callback_10_107(int (*arg0)(struct ixgbe_hw * , unsigned int , unsigned int , unsigned short * ) , struct ixgbe_hw *arg1 , unsigned int arg2 , unsigned int arg3 , unsigned short *arg4 ) { { { ixgbe_read_phy_reg_mdi(arg1, arg2, arg3, arg4); } return; } } void ldv_dummy_resourceless_instance_callback_10_118(void (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_set_lan_id_multi_port_pcie_82598(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_10_174(int (*arg0)(struct ixgbe_hw * , unsigned int , unsigned int , unsigned short ) , struct ixgbe_hw *arg1 , unsigned int arg2 , unsigned int arg3 , unsigned short arg4 ) { { { ixgbe_write_phy_reg_mdi(arg1, arg2, arg3, (int )arg4); } return; } } void ldv_dummy_resourceless_instance_callback_10_89(int (*arg0)(struct ixgbe_hw * , unsigned short , unsigned short , unsigned short * ) , struct ixgbe_hw *arg1 , unsigned short arg2 , unsigned short arg3 , unsigned short *arg4 ) { { { ixgbe_read_eerd_buffer_generic(arg1, (int )arg2, (int )arg3, arg4); } return; } } void ldv_dummy_resourceless_instance_callback_11_107(int (*arg0)(struct ixgbe_hw * , unsigned int , unsigned int , unsigned short * ) , struct ixgbe_hw *arg1 , unsigned int arg2 , unsigned int arg3 , unsigned short *arg4 ) { { { ixgbe_read_phy_reg_mdi(arg1, arg2, arg3, arg4); } return; } } void ldv_dummy_resourceless_instance_callback_11_118(void (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_set_lan_id_multi_port_pcie_82598(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_11_174(int (*arg0)(struct ixgbe_hw * , unsigned int , unsigned int , unsigned short ) , struct ixgbe_hw *arg1 , unsigned int arg2 , unsigned int arg3 , unsigned short arg4 ) { { { ixgbe_write_phy_reg_mdi(arg1, arg2, arg3, (int )arg4); } return; } } void ldv_dummy_resourceless_instance_callback_11_25(int (*arg0)(struct ixgbe_hw * , unsigned int * , _Bool * , _Bool ) , struct ixgbe_hw *arg1 , unsigned int *arg2 , _Bool *arg3 , _Bool arg4 ) { { { ixgbe_check_mac_link_82598(arg1, arg2, arg3, (int )arg4); } return; } } void ldv_dummy_resourceless_instance_callback_11_33(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_clear_vfta_82598(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_11_34(int (*arg0)(struct ixgbe_hw * , unsigned int , unsigned int ) , struct ixgbe_hw *arg1 , unsigned int arg2 , unsigned int arg3 ) { { { ixgbe_clear_vmdq_82598(arg1, arg2, arg3); } return; } } void ldv_dummy_resourceless_instance_callback_11_44(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_fc_enable_82598(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_11_53(int (*arg0)(struct ixgbe_hw * , unsigned int * , _Bool * ) , struct ixgbe_hw *arg1 , unsigned int *arg2 , _Bool *arg3 ) { { { ixgbe_get_link_capabilities_82598(arg1, arg2, arg3); } return; } } void ldv_dummy_resourceless_instance_callback_11_89(int (*arg0)(struct ixgbe_hw * , unsigned short , unsigned short , unsigned short * ) , struct ixgbe_hw *arg1 , unsigned short arg2 , unsigned short arg3 , unsigned short *arg4 ) { { { ixgbe_read_eerd_buffer_generic(arg1, (int )arg2, (int )arg3, arg4); } return; } } void ldv_dummy_resourceless_instance_callback_12_107(int (*arg0)(struct ixgbe_hw * , unsigned int , unsigned int , unsigned short * ) , struct ixgbe_hw *arg1 , unsigned int arg2 , unsigned int arg3 , unsigned short *arg4 ) { { { ixgbe_read_phy_reg_mdi(arg1, arg2, arg3, arg4); } return; } } void ldv_dummy_resourceless_instance_callback_12_118(void (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_set_lan_id_multi_port_pcie_82598(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_12_174(int (*arg0)(struct ixgbe_hw * , unsigned int , unsigned int , unsigned short ) , struct ixgbe_hw *arg1 , unsigned int arg2 , unsigned int arg3 , unsigned short arg4 ) { { { ixgbe_write_phy_reg_mdi(arg1, arg2, arg3, (int )arg4); } return; } } void ldv_dummy_resourceless_instance_callback_12_25(int (*arg0)(struct ixgbe_hw * , unsigned int * , _Bool * , _Bool ) , struct ixgbe_hw *arg1 , unsigned int *arg2 , _Bool *arg3 , _Bool arg4 ) { { { ixgbe_check_mac_link_82598(arg1, arg2, arg3, (int )arg4); } return; } } void ldv_dummy_resourceless_instance_callback_12_33(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_clear_vfta_82598(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_12_34(int (*arg0)(struct ixgbe_hw * , unsigned int , unsigned int ) , struct ixgbe_hw *arg1 , unsigned int arg2 , unsigned int arg3 ) { { { ixgbe_clear_vmdq_82598(arg1, arg2, arg3); } return; } } void ldv_dummy_resourceless_instance_callback_12_44(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_fc_enable_82598(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_12_89(int (*arg0)(struct ixgbe_hw * , unsigned short , unsigned short , unsigned short * ) , struct ixgbe_hw *arg1 , unsigned short arg2 , unsigned short arg3 , unsigned short *arg4 ) { { { ixgbe_read_eerd_buffer_generic(arg1, (int )arg2, (int )arg3, arg4); } return; } } void ldv_dummy_resourceless_instance_callback_13_107(int (*arg0)(struct ixgbe_hw * , unsigned int , unsigned int , unsigned short * ) , struct ixgbe_hw *arg1 , unsigned int arg2 , unsigned int arg3 , unsigned short *arg4 ) { { { ixgbe_read_phy_reg_mdi(arg1, arg2, arg3, arg4); } return; } } void ldv_dummy_resourceless_instance_callback_13_118(void (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_set_lan_id_multi_port_pcie_82598(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_13_174(int (*arg0)(struct ixgbe_hw * , unsigned int , unsigned int , unsigned short ) , struct ixgbe_hw *arg1 , unsigned int arg2 , unsigned int arg3 , unsigned short arg4 ) { { { ixgbe_write_phy_reg_mdi(arg1, arg2, arg3, (int )arg4); } return; } } void ldv_dummy_resourceless_instance_callback_13_25(int (*arg0)(struct ixgbe_hw * , unsigned int * , _Bool * , _Bool ) , struct ixgbe_hw *arg1 , unsigned int *arg2 , _Bool *arg3 , _Bool arg4 ) { { { ixgbe_check_mac_link_82598(arg1, arg2, arg3, (int )arg4); } return; } } void ldv_dummy_resourceless_instance_callback_13_33(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_clear_vfta_82598(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_13_34(int (*arg0)(struct ixgbe_hw * , unsigned int , unsigned int ) , struct ixgbe_hw *arg1 , unsigned int arg2 , unsigned int arg3 ) { { { ixgbe_clear_vmdq_82598(arg1, arg2, arg3); } return; } } void ldv_dummy_resourceless_instance_callback_13_44(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_fc_enable_82598(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_13_52(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_get_invariants_82598(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_13_59(enum ixgbe_media_type (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_get_media_type_82598(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_13_63(unsigned int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_get_supported_physical_layer_82598(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_13_89(int (*arg0)(struct ixgbe_hw * , unsigned short , unsigned short , unsigned short * ) , struct ixgbe_hw *arg1 , unsigned short arg2 , unsigned short arg3 , unsigned short *arg4 ) { { { ixgbe_read_eerd_buffer_generic(arg1, (int )arg2, (int )arg3, arg4); } return; } } void ldv_dummy_resourceless_instance_callback_8_107(int (*arg0)(struct ixgbe_hw * , unsigned int , unsigned int , unsigned short * ) , struct ixgbe_hw *arg1 , unsigned int arg2 , unsigned int arg3 , unsigned short *arg4 ) { { { ixgbe_read_phy_reg_mdi(arg1, arg2, arg3, arg4); } return; } } void ldv_dummy_resourceless_instance_callback_8_114(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_reset_hw_82598(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_8_125(void (*arg0)(struct ixgbe_hw * , int , unsigned int , int ) , struct ixgbe_hw *arg1 , int arg2 , unsigned int arg3 , int arg4 ) { { { ixgbe_set_rxpba_82598(arg1, arg2, arg3, arg4); } return; } } void ldv_dummy_resourceless_instance_callback_8_128(int (*arg0)(struct ixgbe_hw * , unsigned int , unsigned int , _Bool ) , struct ixgbe_hw *arg1 , unsigned int arg2 , unsigned int arg3 , _Bool arg4 ) { { { ixgbe_set_vfta_82598(arg1, arg2, arg3, (int )arg4); } return; } } void ldv_dummy_resourceless_instance_callback_8_134(int (*arg0)(struct ixgbe_hw * , unsigned int , unsigned int ) , struct ixgbe_hw *arg1 , unsigned int arg2 , unsigned int arg3 ) { { { ixgbe_set_vmdq_82598(arg1, arg2, arg3); } return; } } void ldv_dummy_resourceless_instance_callback_8_141(int (*arg0)(struct ixgbe_hw * , unsigned int , _Bool ) , struct ixgbe_hw *arg1 , unsigned int arg2 , _Bool arg3 ) { { { ixgbe_setup_mac_link_82598(arg1, arg2, (int )arg3); } return; } } void ldv_dummy_resourceless_instance_callback_8_145(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_start_hw_82598(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_8_156(int (*arg0)(struct ixgbe_hw * , unsigned int , unsigned char ) , struct ixgbe_hw *arg1 , unsigned int arg2 , unsigned char arg3 ) { { { ixgbe_write_analog_reg8_82598(arg1, arg2, (int )arg3); } return; } } void ldv_dummy_resourceless_instance_callback_8_174(int (*arg0)(struct ixgbe_hw * , unsigned int , unsigned int , unsigned short ) , struct ixgbe_hw *arg1 , unsigned int arg2 , unsigned int arg3 , unsigned short arg4 ) { { { ixgbe_write_phy_reg_mdi(arg1, arg2, arg3, (int )arg4); } return; } } void ldv_dummy_resourceless_instance_callback_8_25(int (*arg0)(struct ixgbe_hw * , unsigned int * , _Bool * , _Bool ) , struct ixgbe_hw *arg1 , unsigned int *arg2 , _Bool *arg3 , _Bool arg4 ) { { { ixgbe_check_mac_link_82598(arg1, arg2, arg3, (int )arg4); } return; } } void ldv_dummy_resourceless_instance_callback_8_33(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_clear_vfta_82598(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_8_34(int (*arg0)(struct ixgbe_hw * , unsigned int , unsigned int ) , struct ixgbe_hw *arg1 , unsigned int arg2 , unsigned int arg3 ) { { { ixgbe_clear_vmdq_82598(arg1, arg2, arg3); } return; } } void ldv_dummy_resourceless_instance_callback_8_44(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_fc_enable_82598(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_8_52(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_get_invariants_82598(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_8_59(enum ixgbe_media_type (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_get_media_type_82598(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_8_63(unsigned int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_get_supported_physical_layer_82598(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_8_70(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_init_phy_ops_82598(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_8_86(int (*arg0)(struct ixgbe_hw * , unsigned int , unsigned char * ) , struct ixgbe_hw *arg1 , unsigned int arg2 , unsigned char *arg3 ) { { { ixgbe_read_analog_reg8_82598(arg1, arg2, arg3); } return; } } void ldv_dummy_resourceless_instance_callback_8_89(int (*arg0)(struct ixgbe_hw * , unsigned short , unsigned short , unsigned short * ) , struct ixgbe_hw *arg1 , unsigned short arg2 , unsigned short arg3 , unsigned short *arg4 ) { { { ixgbe_read_eerd_buffer_generic(arg1, (int )arg2, (int )arg3, arg4); } return; } } void ldv_dummy_resourceless_instance_callback_8_95(int (*arg0)(struct ixgbe_hw * , unsigned char , unsigned char * ) , struct ixgbe_hw *arg1 , unsigned char arg2 , unsigned char *arg3 ) { { { ixgbe_read_i2c_eeprom_82598(arg1, (int )arg2, arg3); } return; } } void ldv_dummy_resourceless_instance_callback_8_98(int (*arg0)(struct ixgbe_hw * , unsigned char , unsigned char * ) , struct ixgbe_hw *arg1 , unsigned char arg2 , unsigned char *arg3 ) { { { ixgbe_read_i2c_sff8472_82598(arg1, (int )arg2, arg3); } return; } } void ldv_dummy_resourceless_instance_callback_9_107(int (*arg0)(struct ixgbe_hw * , unsigned int , unsigned int , unsigned short * ) , struct ixgbe_hw *arg1 , unsigned int arg2 , unsigned int arg3 , unsigned short *arg4 ) { { { ixgbe_read_phy_reg_mdi(arg1, arg2, arg3, arg4); } return; } } void ldv_dummy_resourceless_instance_callback_9_118(void (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_set_lan_id_multi_port_pcie_82598(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_9_174(int (*arg0)(struct ixgbe_hw * , unsigned int , unsigned int , unsigned short ) , struct ixgbe_hw *arg1 , unsigned int arg2 , unsigned int arg3 , unsigned short arg4 ) { { { ixgbe_write_phy_reg_mdi(arg1, arg2, arg3, (int )arg4); } return; } } extern int mdio45_probe(struct mdio_if_info * , int ) ; s32 ixgbe_get_phy_firmware_version_generic(struct ixgbe_hw *hw , u16 *firmware_version ) ; s32 ixgbe_identify_sfp_module_generic(struct ixgbe_hw *hw ) ; static void ixgbe_i2c_start(struct ixgbe_hw *hw ) ; static void ixgbe_i2c_stop(struct ixgbe_hw *hw ) ; static s32 ixgbe_clock_in_i2c_byte(struct ixgbe_hw *hw , u8 *data ) ; static s32 ixgbe_clock_out_i2c_byte(struct ixgbe_hw *hw , u8 data ) ; static s32 ixgbe_get_i2c_ack(struct ixgbe_hw *hw ) ; static s32 ixgbe_clock_in_i2c_bit(struct ixgbe_hw *hw , bool *data ) ; static s32 ixgbe_clock_out_i2c_bit(struct ixgbe_hw *hw , bool data ) ; static void ixgbe_raise_i2c_clk(struct ixgbe_hw *hw , u32 *i2cctl ) ; static void ixgbe_lower_i2c_clk(struct ixgbe_hw *hw , u32 *i2cctl ) ; static s32 ixgbe_set_i2c_data(struct ixgbe_hw *hw , u32 *i2cctl , bool data ) ; static bool ixgbe_get_i2c_data(u32 *i2cctl ) ; static void ixgbe_i2c_bus_clear(struct ixgbe_hw *hw ) ; static enum ixgbe_phy_type ixgbe_get_phy_type_from_id(u32 phy_id ) ; static s32 ixgbe_get_phy_id(struct ixgbe_hw *hw ) ; static s32 ixgbe_identify_qsfp_module_generic(struct ixgbe_hw *hw ) ; s32 ixgbe_identify_phy_generic(struct ixgbe_hw *hw ) { s32 status ; u32 phy_addr ; u16 ext_ability ; int tmp ; { status = -17; ext_ability = 0U; if ((unsigned int )hw->phy.type == 0U) { phy_addr = 0U; goto ldv_50973; ldv_50972: { hw->phy.mdio.prtad = (int )phy_addr; tmp = mdio45_probe(& hw->phy.mdio, (int )phy_addr); } if (tmp == 0) { { ixgbe_get_phy_id(hw); hw->phy.type = ixgbe_get_phy_type_from_id(hw->phy.id); } if ((unsigned int )hw->phy.type == 0U) { { (*(hw->phy.ops.read_reg))(hw, 11U, 1U, & ext_ability); } if (((int )ext_ability & 36) != 0) { hw->phy.type = 4; } else { hw->phy.type = 21; } } else { } status = 0; goto ldv_50971; } else { } phy_addr = phy_addr + 1U; ldv_50973: ; if (phy_addr <= 31U) { goto ldv_50972; } else { } ldv_50971: ; if (status != 0) { hw->phy.mdio.prtad = 0; } else { } } else { status = 0; } return (status); } } static s32 ixgbe_get_phy_id(struct ixgbe_hw *hw ) { u32 status ; u16 phy_id_high ; u16 phy_id_low ; s32 tmp ; s32 tmp___0 ; { { phy_id_high = 0U; phy_id_low = 0U; tmp = (*(hw->phy.ops.read_reg))(hw, 2U, 1U, & phy_id_high); status = (u32 )tmp; } if (status == 0U) { { hw->phy.id = (unsigned int )((int )phy_id_high << 16); tmp___0 = (*(hw->phy.ops.read_reg))(hw, 3U, 1U, & phy_id_low); status = (u32 )tmp___0; hw->phy.id = hw->phy.id | ((u32 )phy_id_low & 4294967280U); hw->phy.revision = (unsigned int )phy_id_low & 15U; } } else { } return ((s32 )status); } } static enum ixgbe_phy_type ixgbe_get_phy_type_from_id(u32 phy_id ) { enum ixgbe_phy_type phy_type ; { { if (phy_id == 10589200U) { goto case_10589200; } else { } if (phy_id == 22282752U) { goto case_22282752; } else { } if (phy_id == 4432896U) { goto case_4432896; } else { } if (phy_id == 54693968U) { goto case_54693968; } else { } goto switch_default; case_10589200: /* CIL Label */ phy_type = 2; goto ldv_50985; case_22282752: /* CIL Label */ phy_type = 3; goto ldv_50985; case_4432896: /* CIL Label */ phy_type = 5; goto ldv_50985; case_54693968: /* CIL Label */ phy_type = 7; goto ldv_50985; switch_default: /* CIL Label */ phy_type = 0; goto ldv_50985; switch_break: /* CIL Label */ ; } ldv_50985: ; return (phy_type); } } s32 ixgbe_reset_phy_generic(struct ixgbe_hw *hw ) { u32 i ; u16 ctrl ; s32 status ; s32 tmp ; struct _ddebug descriptor ; long tmp___0 ; { ctrl = 0U; status = 0; if ((unsigned int )hw->phy.type == 0U) { { status = ixgbe_identify_phy_generic(hw); } } else { } if (status != 0 || (unsigned int )hw->phy.type == 1U) { goto out; } else { } if (! hw->phy.reset_if_overtemp) { { tmp = (*(hw->phy.ops.check_overtemp))(hw); } if (tmp == -26) { goto out; } else { } } else { } { (*(hw->phy.ops.write_reg))(hw, 0U, 4U, 32768); i = 0U; } goto ldv_50999; ldv_50998: { msleep(100U); (*(hw->phy.ops.read_reg))(hw, 0U, 4U, & ctrl); } if ((int )((short )ctrl) >= 0) { { __const_udelay(8590UL); } goto ldv_50997; } else { } i = i + 1U; ldv_50999: ; if (i <= 29U) { goto ldv_50998; } else { } ldv_50997: ; if ((int )((short )ctrl) < 0) { { status = -15; descriptor.modname = "ixgbe"; descriptor.function = "ixgbe_reset_phy_generic"; descriptor.filename = "drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c"; descriptor.format = "PHY reset polling failed to complete.\n"; descriptor.lineno = 200U; descriptor.flags = 0U; tmp___0 = ldv__builtin_expect((long )descriptor.flags & 1L, 0L); } if (tmp___0 != 0L) { { __dynamic_netdev_dbg(& descriptor, (struct net_device const *)((struct ixgbe_adapter *)hw->back)->netdev, "PHY reset polling failed to complete.\n"); } } else { } } else { } out: ; return (status); } } s32 ixgbe_read_phy_reg_mdi(struct ixgbe_hw *hw , u32 reg_addr , u32 device_type , u16 *phy_data ) { u32 i ; u32 data ; u32 command ; struct _ddebug descriptor ; long tmp ; struct _ddebug descriptor___0 ; long tmp___0 ; { { command = ((reg_addr | (device_type << 16)) | (u32 )(hw->phy.mdio.prtad << 21)) | 1073741824U; ixgbe_write_reg(hw, 16988U, command); i = 0U; } goto ldv_51013; ldv_51012: { __const_udelay(42950UL); command = ixgbe_read_reg(hw, 16988U); } if ((command & 1073741824U) == 0U) { goto ldv_51011; } else { } i = i + 1U; ldv_51013: ; if (i <= 99U) { goto ldv_51012; } else { } ldv_51011: ; if ((command & 1073741824U) != 0U) { { descriptor.modname = "ixgbe"; descriptor.function = "ixgbe_read_phy_reg_mdi"; descriptor.filename = "drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c"; descriptor.format = "PHY address command did not complete.\n"; descriptor.lineno = 241U; descriptor.flags = 0U; tmp = ldv__builtin_expect((long )descriptor.flags & 1L, 0L); } if (tmp != 0L) { { __dynamic_netdev_dbg(& descriptor, (struct net_device const *)((struct ixgbe_adapter *)hw->back)->netdev, "PHY address command did not complete.\n"); } } else { } return (-3); } else { } { command = ((reg_addr | (device_type << 16)) | (u32 )(hw->phy.mdio.prtad << 21)) | 1275068416U; ixgbe_write_reg(hw, 16988U, command); i = 0U; } goto ldv_51018; ldv_51017: { __const_udelay(42950UL); command = ixgbe_read_reg(hw, 16988U); } if ((command & 1073741824U) == 0U) { goto ldv_51016; } else { } i = i + 1U; ldv_51018: ; if (i <= 99U) { goto ldv_51017; } else { } ldv_51016: ; if ((command & 1073741824U) != 0U) { { descriptor___0.modname = "ixgbe"; descriptor___0.function = "ixgbe_read_phy_reg_mdi"; descriptor___0.filename = "drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c"; descriptor___0.format = "PHY read command didn\'t complete\n"; descriptor___0.lineno = 268U; descriptor___0.flags = 0U; tmp___0 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); } if (tmp___0 != 0L) { { __dynamic_netdev_dbg(& descriptor___0, (struct net_device const *)((struct ixgbe_adapter *)hw->back)->netdev, "PHY read command didn\'t complete\n"); } } else { } return (-3); } else { } { data = ixgbe_read_reg(hw, 16992U); data = data >> 16; *phy_data = (unsigned short )data; } return (0); } } s32 ixgbe_read_phy_reg_generic(struct ixgbe_hw *hw , u32 reg_addr , u32 device_type , u16 *phy_data ) { s32 status ; u16 gssr ; u32 tmp ; s32 tmp___0 ; { { tmp = ixgbe_read_reg(hw, 8U); } if ((tmp & 4U) != 0U) { gssr = 4U; } else { gssr = 2U; } { tmp___0 = (*(hw->mac.ops.acquire_swfw_sync))(hw, (int )gssr); } if (tmp___0 == 0) { { status = ixgbe_read_phy_reg_mdi(hw, reg_addr, device_type, phy_data); (*(hw->mac.ops.release_swfw_sync))(hw, (int )gssr); } } else { status = -16; } return (status); } } s32 ixgbe_write_phy_reg_mdi(struct ixgbe_hw *hw , u32 reg_addr , u32 device_type , u16 phy_data ) { u32 i ; u32 command ; struct _ddebug descriptor ; long tmp ; struct _ddebug descriptor___0 ; long tmp___0 ; { { ixgbe_write_reg(hw, 16992U, (unsigned int )phy_data); command = ((reg_addr | (device_type << 16)) | (u32 )(hw->phy.mdio.prtad << 21)) | 1073741824U; ixgbe_write_reg(hw, 16988U, command); i = 0U; } goto ldv_51038; ldv_51037: { __const_udelay(42950UL); command = ixgbe_read_reg(hw, 16988U); } if ((command & 1073741824U) == 0U) { goto ldv_51036; } else { } i = i + 1U; ldv_51038: ; if (i <= 99U) { goto ldv_51037; } else { } ldv_51036: ; if ((command & 1073741824U) != 0U) { { descriptor.modname = "ixgbe"; descriptor.function = "ixgbe_write_phy_reg_mdi"; descriptor.filename = "drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c"; descriptor.format = "PHY address cmd didn\'t complete\n"; descriptor.lineno = 349U; descriptor.flags = 0U; tmp = ldv__builtin_expect((long )descriptor.flags & 1L, 0L); } if (tmp != 0L) { { __dynamic_netdev_dbg(& descriptor, (struct net_device const *)((struct ixgbe_adapter *)hw->back)->netdev, "PHY address cmd didn\'t complete\n"); } } else { } return (-3); } else { } { command = ((reg_addr | (device_type << 16)) | (u32 )(hw->phy.mdio.prtad << 21)) | 1140850688U; ixgbe_write_reg(hw, 16988U, command); i = 0U; } goto ldv_51043; ldv_51042: { __const_udelay(42950UL); command = ixgbe_read_reg(hw, 16988U); } if ((command & 1073741824U) == 0U) { goto ldv_51041; } else { } i = i + 1U; ldv_51043: ; if (i <= 99U) { goto ldv_51042; } else { } ldv_51041: ; if ((command & 1073741824U) != 0U) { { descriptor___0.modname = "ixgbe"; descriptor___0.function = "ixgbe_write_phy_reg_mdi"; descriptor___0.filename = "drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c"; descriptor___0.format = "PHY write cmd didn\'t complete\n"; descriptor___0.lineno = 377U; descriptor___0.flags = 0U; tmp___0 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); } if (tmp___0 != 0L) { { __dynamic_netdev_dbg(& descriptor___0, (struct net_device const *)((struct ixgbe_adapter *)hw->back)->netdev, "PHY write cmd didn\'t complete\n"); } } else { } return (-3); } else { } return (0); } } s32 ixgbe_write_phy_reg_generic(struct ixgbe_hw *hw , u32 reg_addr , u32 device_type , u16 phy_data ) { s32 status ; u16 gssr ; u32 tmp ; s32 tmp___0 ; { { tmp = ixgbe_read_reg(hw, 8U); } if ((tmp & 4U) != 0U) { gssr = 4U; } else { gssr = 2U; } { tmp___0 = (*(hw->mac.ops.acquire_swfw_sync))(hw, (int )gssr); } if (tmp___0 == 0) { { status = ixgbe_write_phy_reg_mdi(hw, reg_addr, device_type, (int )phy_data); (*(hw->mac.ops.release_swfw_sync))(hw, (int )gssr); } } else { status = -16; } return (status); } } s32 ixgbe_setup_phy_link_generic(struct ixgbe_hw *hw ) { s32 status ; u32 time_out ; u32 max_time_out ; u16 autoneg_reg ; bool autoneg ; ixgbe_link_speed speed ; struct _ddebug descriptor ; long tmp ; { { status = 0; max_time_out = 10U; autoneg_reg = 0U; autoneg = 0; ixgbe_get_copper_link_capabilities_generic(hw, & speed, & autoneg); } if ((speed & 128U) != 0U) { { (*(hw->phy.ops.read_reg))(hw, 32U, 7U, & autoneg_reg); autoneg_reg = (unsigned int )autoneg_reg & 61439U; } if ((hw->phy.autoneg_advertised & 128U) != 0U) { autoneg_reg = (u16 )((unsigned int )autoneg_reg | 4096U); } else { } { (*(hw->phy.ops.write_reg))(hw, 32U, 7U, (int )autoneg_reg); } } else { } if ((speed & 32U) != 0U) { { (*(hw->phy.ops.read_reg))(hw, 50176U, 7U, & autoneg_reg); autoneg_reg = (unsigned int )autoneg_reg & 32767U; } if ((hw->phy.autoneg_advertised & 32U) != 0U) { autoneg_reg = (u16 )((unsigned int )autoneg_reg | 32768U); } else { } { (*(hw->phy.ops.write_reg))(hw, 50176U, 7U, (int )autoneg_reg); } } else { } if ((speed & 8U) != 0U) { { (*(hw->phy.ops.read_reg))(hw, 16U, 7U, & autoneg_reg); autoneg_reg = (unsigned int )autoneg_reg & 65151U; } if ((hw->phy.autoneg_advertised & 8U) != 0U) { autoneg_reg = (u16 )((unsigned int )autoneg_reg | 256U); } else { } { (*(hw->phy.ops.write_reg))(hw, 16U, 7U, (int )autoneg_reg); } } else { } { (*(hw->phy.ops.read_reg))(hw, 0U, 7U, & autoneg_reg); autoneg_reg = (u16 )((unsigned int )autoneg_reg | 512U); (*(hw->phy.ops.write_reg))(hw, 0U, 7U, (int )autoneg_reg); time_out = 0U; } goto ldv_51064; ldv_51063: { __const_udelay(42950UL); status = (*(hw->phy.ops.read_reg))(hw, 1U, 7U, & autoneg_reg); autoneg_reg = (unsigned int )autoneg_reg & 32U; } if ((unsigned int )autoneg_reg == 32U) { goto ldv_51062; } else { } time_out = time_out + 1U; ldv_51064: ; if (time_out < max_time_out) { goto ldv_51063; } else { } ldv_51062: ; if (time_out == max_time_out) { { status = -8; descriptor.modname = "ixgbe"; descriptor.function = "ixgbe_setup_phy_link_generic"; descriptor.filename = "drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c"; descriptor.format = "ixgbe_setup_phy_link_generic: time out"; descriptor.lineno = 504U; descriptor.flags = 0U; tmp = ldv__builtin_expect((long )descriptor.flags & 1L, 0L); } if (tmp != 0L) { { __dynamic_netdev_dbg(& descriptor, (struct net_device const *)((struct ixgbe_adapter *)hw->back)->netdev, "ixgbe_setup_phy_link_generic: time out"); } } else { } } else { } return (status); } } s32 ixgbe_setup_phy_link_speed_generic(struct ixgbe_hw *hw , ixgbe_link_speed speed , bool autoneg_wait_to_complete ) { { hw->phy.autoneg_advertised = 0U; if ((speed & 128U) != 0U) { hw->phy.autoneg_advertised = hw->phy.autoneg_advertised | 128U; } else { } if ((speed & 32U) != 0U) { hw->phy.autoneg_advertised = hw->phy.autoneg_advertised | 32U; } else { } if ((speed & 8U) != 0U) { hw->phy.autoneg_advertised = hw->phy.autoneg_advertised | 8U; } else { } { (*(hw->phy.ops.setup_link))(hw); } return (0); } } s32 ixgbe_get_copper_link_capabilities_generic(struct ixgbe_hw *hw , ixgbe_link_speed *speed , bool *autoneg ) { s32 status ; u16 speed_ability ; { { status = -8; *speed = 0U; *autoneg = 1; status = (*(hw->phy.ops.read_reg))(hw, 4U, 1U, & speed_ability); } if (status == 0) { if ((int )speed_ability & 1) { *speed = *speed | 128U; } else { } if (((int )speed_ability & 16) != 0) { *speed = *speed | 32U; } else { } if (((int )speed_ability & 32) != 0) { *speed = *speed | 8U; } else { } } else { } return (status); } } s32 ixgbe_check_phy_link_tnx(struct ixgbe_hw *hw , ixgbe_link_speed *speed , bool *link_up ) { s32 status ; u32 time_out ; u32 max_time_out ; u16 phy_link ; u16 phy_speed ; u16 phy_data ; { status = 0; max_time_out = 10U; phy_link = 0U; phy_speed = 0U; phy_data = 0U; *link_up = 0; *speed = 128U; time_out = 0U; goto ldv_51092; ldv_51091: { __const_udelay(42950UL); status = (*(hw->phy.ops.read_reg))(hw, 1U, 30U, & phy_data); phy_link = (unsigned int )phy_data & 8U; phy_speed = (unsigned int )phy_data & 16U; } if ((unsigned int )phy_link == 8U) { *link_up = 1; if ((unsigned int )phy_speed == 16U) { *speed = 32U; } else { } goto ldv_51090; } else { } time_out = time_out + 1U; ldv_51092: ; if (time_out < max_time_out) { goto ldv_51091; } else { } ldv_51090: ; return (status); } } s32 ixgbe_setup_phy_link_tnx(struct ixgbe_hw *hw ) { s32 status ; u32 time_out ; u32 max_time_out ; u16 autoneg_reg ; bool autoneg ; ixgbe_link_speed speed ; struct _ddebug descriptor ; long tmp ; { { status = 0; max_time_out = 10U; autoneg_reg = 0U; autoneg = 0; ixgbe_get_copper_link_capabilities_generic(hw, & speed, & autoneg); } if ((speed & 128U) != 0U) { { (*(hw->phy.ops.read_reg))(hw, 32U, 7U, & autoneg_reg); autoneg_reg = (unsigned int )autoneg_reg & 61439U; } if ((hw->phy.autoneg_advertised & 128U) != 0U) { autoneg_reg = (u16 )((unsigned int )autoneg_reg | 4096U); } else { } { (*(hw->phy.ops.write_reg))(hw, 32U, 7U, (int )autoneg_reg); } } else { } if ((speed & 32U) != 0U) { { (*(hw->phy.ops.read_reg))(hw, 23U, 7U, & autoneg_reg); autoneg_reg = (unsigned int )autoneg_reg & 49151U; } if ((hw->phy.autoneg_advertised & 32U) != 0U) { autoneg_reg = (u16 )((unsigned int )autoneg_reg | 16384U); } else { } { (*(hw->phy.ops.write_reg))(hw, 23U, 7U, (int )autoneg_reg); } } else { } if ((speed & 8U) != 0U) { { (*(hw->phy.ops.read_reg))(hw, 16U, 7U, & autoneg_reg); autoneg_reg = (unsigned int )autoneg_reg & 65151U; } if ((hw->phy.autoneg_advertised & 8U) != 0U) { autoneg_reg = (u16 )((unsigned int )autoneg_reg | 256U); } else { } { (*(hw->phy.ops.write_reg))(hw, 16U, 7U, (int )autoneg_reg); } } else { } { (*(hw->phy.ops.read_reg))(hw, 0U, 7U, & autoneg_reg); autoneg_reg = (u16 )((unsigned int )autoneg_reg | 512U); (*(hw->phy.ops.write_reg))(hw, 0U, 7U, (int )autoneg_reg); time_out = 0U; } goto ldv_51104; ldv_51103: { __const_udelay(42950UL); status = (*(hw->phy.ops.read_reg))(hw, 1U, 7U, & autoneg_reg); autoneg_reg = (unsigned int )autoneg_reg & 32U; } if ((unsigned int )autoneg_reg == 32U) { goto ldv_51102; } else { } time_out = time_out + 1U; ldv_51104: ; if (time_out < max_time_out) { goto ldv_51103; } else { } ldv_51102: ; if (time_out == max_time_out) { { status = -8; descriptor.modname = "ixgbe"; descriptor.function = "ixgbe_setup_phy_link_tnx"; descriptor.filename = "drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c"; descriptor.format = "ixgbe_setup_phy_link_tnx: time out"; descriptor.lineno = 709U; descriptor.flags = 0U; tmp = ldv__builtin_expect((long )descriptor.flags & 1L, 0L); } if (tmp != 0L) { { __dynamic_netdev_dbg(& descriptor, (struct net_device const *)((struct ixgbe_adapter *)hw->back)->netdev, "ixgbe_setup_phy_link_tnx: time out"); } } else { } } else { } return (status); } } s32 ixgbe_get_phy_firmware_version_tnx(struct ixgbe_hw *hw , u16 *firmware_version ) { s32 status ; { { status = 0; status = (*(hw->phy.ops.read_reg))(hw, 11U, 30U, firmware_version); } return (status); } } s32 ixgbe_get_phy_firmware_version_generic(struct ixgbe_hw *hw , u16 *firmware_version ) { s32 status ; { { status = 0; status = (*(hw->phy.ops.read_reg))(hw, 32U, 30U, firmware_version); } return (status); } } s32 ixgbe_reset_phy_nl(struct ixgbe_hw *hw ) { u16 phy_offset ; u16 control ; u16 eword ; u16 edata ; u16 block_crc ; bool end_data ; u16 list_offset ; u16 data_offset ; u16 phy_data ; s32 ret_val ; u32 i ; struct _ddebug descriptor ; long tmp ; struct _ddebug descriptor___0 ; long tmp___0 ; struct _ddebug descriptor___1 ; long tmp___1 ; u16 tmp___2 ; struct _ddebug descriptor___2 ; long tmp___3 ; struct _ddebug descriptor___3 ; long tmp___4 ; struct _ddebug descriptor___4 ; long tmp___5 ; struct _ddebug descriptor___5 ; long tmp___6 ; struct _ddebug descriptor___6 ; long tmp___7 ; struct _ddebug descriptor___7 ; long tmp___8 ; { { end_data = 0; phy_data = 0U; ret_val = 0; (*(hw->phy.ops.read_reg))(hw, 0U, 4U, & phy_data); (*(hw->phy.ops.write_reg))(hw, 0U, 4U, (int )((unsigned int )phy_data | 32768U)); i = 0U; } goto ldv_51133; ldv_51132: { (*(hw->phy.ops.read_reg))(hw, 0U, 4U, & phy_data); } if ((int )((short )phy_data) >= 0) { goto ldv_51131; } else { } { usleep_range(10000UL, 20000UL); i = i + 1U; } ldv_51133: ; if (i <= 99U) { goto ldv_51132; } else { } ldv_51131: ; if ((int )((short )phy_data) < 0) { { descriptor.modname = "ixgbe"; descriptor.function = "ixgbe_reset_phy_nl"; descriptor.filename = "drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c"; descriptor.format = "PHY reset did not complete.\n"; descriptor.lineno = 777U; descriptor.flags = 0U; tmp = ldv__builtin_expect((long )descriptor.flags & 1L, 0L); } if (tmp != 0L) { { __dynamic_netdev_dbg(& descriptor, (struct net_device const *)((struct ixgbe_adapter *)hw->back)->netdev, "PHY reset did not complete.\n"); } } else { } ret_val = -3; goto out; } else { } { ret_val = ixgbe_get_sfp_init_sequence_offsets(hw, & list_offset, & data_offset); } if (ret_val != 0) { goto out; } else { } { ret_val = (*(hw->eeprom.ops.read))(hw, (int )data_offset, & block_crc); data_offset = (u16 )((int )data_offset + 1); } goto ldv_51155; ldv_51154: { ret_val = (*(hw->eeprom.ops.read))(hw, (int )data_offset, & eword); } if (ret_val != 0) { goto err_eeprom; } else { } control = (int )eword >> 12; edata = (unsigned int )eword & 4095U; { if ((int )control == 0) { goto case_0; } else { } if ((int )control == 1) { goto case_1; } else { } if ((int )control == 15) { goto case_15; } else { } goto switch_default; case_0: /* CIL Label */ { data_offset = (u16 )((int )data_offset + 1); descriptor___0.modname = "ixgbe"; descriptor___0.function = "ixgbe_reset_phy_nl"; descriptor___0.filename = "drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c"; descriptor___0.format = "DELAY: %d MS\n"; descriptor___0.lineno = 803U; descriptor___0.flags = 0U; tmp___0 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); } if (tmp___0 != 0L) { { __dynamic_netdev_dbg(& descriptor___0, (struct net_device const *)((struct ixgbe_adapter *)hw->back)->netdev, "DELAY: %d MS\n", (int )edata); } } else { } { usleep_range((unsigned long )((int )edata * 1000), (unsigned long )((int )edata * 2000)); } goto ldv_51140; case_1: /* CIL Label */ { descriptor___1.modname = "ixgbe"; descriptor___1.function = "ixgbe_reset_phy_nl"; descriptor___1.filename = "drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c"; descriptor___1.format = "DATA:\n"; descriptor___1.lineno = 807U; descriptor___1.flags = 0U; tmp___1 = ldv__builtin_expect((long )descriptor___1.flags & 1L, 0L); } if (tmp___1 != 0L) { { __dynamic_netdev_dbg(& descriptor___1, (struct net_device const *)((struct ixgbe_adapter *)hw->back)->netdev, "DATA:\n"); } } else { } { data_offset = (u16 )((int )data_offset + 1); tmp___2 = data_offset; data_offset = (u16 )((int )data_offset + 1); ret_val = (*(hw->eeprom.ops.read))(hw, (int )tmp___2, & phy_offset); } if (ret_val != 0) { goto err_eeprom; } else { } i = 0U; goto ldv_51145; ldv_51144: { ret_val = (*(hw->eeprom.ops.read))(hw, (int )data_offset, & eword); } if (ret_val != 0) { goto err_eeprom; } else { } { (*(hw->phy.ops.write_reg))(hw, (u32 )phy_offset, 1U, (int )eword); descriptor___2.modname = "ixgbe"; descriptor___2.function = "ixgbe_reset_phy_nl"; descriptor___2.filename = "drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c"; descriptor___2.format = "Wrote %4.4x to %4.4x\n"; descriptor___2.lineno = 821U; descriptor___2.flags = 0U; tmp___3 = ldv__builtin_expect((long )descriptor___2.flags & 1L, 0L); } if (tmp___3 != 0L) { { __dynamic_netdev_dbg(& descriptor___2, (struct net_device const *)((struct ixgbe_adapter *)hw->back)->netdev, "Wrote %4.4x to %4.4x\n", (int )eword, (int )phy_offset); } } else { } data_offset = (u16 )((int )data_offset + 1); phy_offset = (u16 )((int )phy_offset + 1); i = i + 1U; ldv_51145: ; if (i < (u32 )edata) { goto ldv_51144; } else { } goto ldv_51140; case_15: /* CIL Label */ { data_offset = (u16 )((int )data_offset + 1); descriptor___3.modname = "ixgbe"; descriptor___3.function = "ixgbe_reset_phy_nl"; descriptor___3.filename = "drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c"; descriptor___3.format = "CONTROL:\n"; descriptor___3.lineno = 828U; descriptor___3.flags = 0U; tmp___4 = ldv__builtin_expect((long )descriptor___3.flags & 1L, 0L); } if (tmp___4 != 0L) { { __dynamic_netdev_dbg(& descriptor___3, (struct net_device const *)((struct ixgbe_adapter *)hw->back)->netdev, "CONTROL:\n"); } } else { } if ((unsigned int )edata == 4095U) { { descriptor___4.modname = "ixgbe"; descriptor___4.function = "ixgbe_reset_phy_nl"; descriptor___4.filename = "drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c"; descriptor___4.format = "EOL\n"; descriptor___4.lineno = 830U; descriptor___4.flags = 0U; tmp___5 = ldv__builtin_expect((long )descriptor___4.flags & 1L, 0L); } if (tmp___5 != 0L) { { __dynamic_netdev_dbg(& descriptor___4, (struct net_device const *)((struct ixgbe_adapter *)hw->back)->netdev, "EOL\n"); } } else { } end_data = 1; } else if ((unsigned int )edata == 0U) { { descriptor___5.modname = "ixgbe"; descriptor___5.function = "ixgbe_reset_phy_nl"; descriptor___5.filename = "drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c"; descriptor___5.format = "SOL\n"; descriptor___5.lineno = 833U; descriptor___5.flags = 0U; tmp___6 = ldv__builtin_expect((long )descriptor___5.flags & 1L, 0L); } if (tmp___6 != 0L) { { __dynamic_netdev_dbg(& descriptor___5, (struct net_device const *)((struct ixgbe_adapter *)hw->back)->netdev, "SOL\n"); } } else { } } else { { descriptor___6.modname = "ixgbe"; descriptor___6.function = "ixgbe_reset_phy_nl"; descriptor___6.filename = "drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c"; descriptor___6.format = "Bad control value\n"; descriptor___6.lineno = 835U; descriptor___6.flags = 0U; tmp___7 = ldv__builtin_expect((long )descriptor___6.flags & 1L, 0L); } if (tmp___7 != 0L) { { __dynamic_netdev_dbg(& descriptor___6, (struct net_device const *)((struct ixgbe_adapter *)hw->back)->netdev, "Bad control value\n"); } } else { } ret_val = -3; goto out; } goto ldv_51140; switch_default: /* CIL Label */ { descriptor___7.modname = "ixgbe"; descriptor___7.function = "ixgbe_reset_phy_nl"; descriptor___7.filename = "drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c"; descriptor___7.format = "Bad control type\n"; descriptor___7.lineno = 841U; descriptor___7.flags = 0U; tmp___8 = ldv__builtin_expect((long )descriptor___7.flags & 1L, 0L); } if (tmp___8 != 0L) { { __dynamic_netdev_dbg(& descriptor___7, (struct net_device const *)((struct ixgbe_adapter *)hw->back)->netdev, "Bad control type\n"); } } else { } ret_val = -3; goto out; switch_break: /* CIL Label */ ; } ldv_51140: ; ldv_51155: ; if (! end_data) { goto ldv_51154; } else { } out: ; return (ret_val); err_eeprom: { netdev_err((struct net_device const *)((struct ixgbe_adapter *)hw->back)->netdev, "eeprom read at offset %d failed\n", (int )data_offset); } return (-3); } } s32 ixgbe_identify_module_generic(struct ixgbe_hw *hw ) { s32 status ; enum ixgbe_media_type tmp ; { { status = -20; tmp = (*(hw->mac.ops.get_media_type))(hw); } { if ((unsigned int )tmp == 1U) { goto case_1; } else { } if ((unsigned int )tmp == 3U) { goto case_3; } else { } goto switch_default; case_1: /* CIL Label */ { status = ixgbe_identify_sfp_module_generic(hw); } goto ldv_51162; case_3: /* CIL Label */ { status = ixgbe_identify_qsfp_module_generic(hw); } goto ldv_51162; switch_default: /* CIL Label */ hw->phy.sfp_type = 65534; status = -20; goto ldv_51162; switch_break: /* CIL Label */ ; } ldv_51162: ; return (status); } } s32 ixgbe_identify_sfp_module_generic(struct ixgbe_hw *hw ) { struct ixgbe_adapter *adapter ; s32 status ; u32 vendor_oui ; enum ixgbe_sfp_type stored_sfp_type ; u8 identifier ; u8 comp_codes_1g ; u8 comp_codes_10g ; u8 oui_bytes[3U] ; u8 cable_tech ; u8 cable_spec ; u16 enforce_sfp ; enum ixgbe_media_type tmp ; struct _ddebug descriptor ; long tmp___0 ; { { adapter = (struct ixgbe_adapter *)hw->back; status = -17; vendor_oui = 0U; stored_sfp_type = hw->phy.sfp_type; identifier = 0U; comp_codes_1g = 0U; comp_codes_10g = 0U; oui_bytes[0] = 0U; oui_bytes[1] = 0U; oui_bytes[2] = 0U; cable_tech = 0U; cable_spec = 0U; enforce_sfp = 0U; tmp = (*(hw->mac.ops.get_media_type))(hw); } if ((unsigned int )tmp != 1U) { hw->phy.sfp_type = 65534; status = -20; goto out; } else { } { status = (*(hw->phy.ops.read_i2c_eeprom))(hw, 0, & identifier); } if (status != 0) { goto err_read_i2c_eeprom; } else { } { (*(hw->mac.ops.set_lan_id))(hw); } if ((unsigned int )identifier != 3U) { hw->phy.type = 20; status = -19; } else { { status = (*(hw->phy.ops.read_i2c_eeprom))(hw, 6, & comp_codes_1g); } if (status != 0) { goto err_read_i2c_eeprom; } else { } { status = (*(hw->phy.ops.read_i2c_eeprom))(hw, 3, & comp_codes_10g); } if (status != 0) { goto err_read_i2c_eeprom; } else { } { status = (*(hw->phy.ops.read_i2c_eeprom))(hw, 8, & cable_tech); } if (status != 0) { goto err_read_i2c_eeprom; } else { } if ((unsigned int )hw->mac.type == 1U) { if (((int )cable_tech & 4) != 0) { hw->phy.sfp_type = 0; } else if (((int )comp_codes_10g & 16) != 0) { hw->phy.sfp_type = 1; } else if (((int )comp_codes_10g & 32) != 0) { hw->phy.sfp_type = 2; } else { hw->phy.sfp_type = 65535; } } else if ((unsigned int )hw->mac.type == 2U) { if (((int )cable_tech & 4) != 0) { if ((unsigned int )hw->bus.lan_id == 0U) { hw->phy.sfp_type = 3; } else { hw->phy.sfp_type = 4; } } else if (((int )cable_tech & 8) != 0) { { (*(hw->phy.ops.read_i2c_eeprom))(hw, 60, & cable_spec); } if (((int )cable_spec & 4) != 0) { if ((unsigned int )hw->bus.lan_id == 0U) { hw->phy.sfp_type = 7; } else { hw->phy.sfp_type = 8; } } else { hw->phy.sfp_type = 65535; } } else if (((int )comp_codes_10g & 48) != 0) { if ((unsigned int )hw->bus.lan_id == 0U) { hw->phy.sfp_type = 5; } else { hw->phy.sfp_type = 6; } } else if (((int )comp_codes_1g & 8) != 0) { if ((unsigned int )hw->bus.lan_id == 0U) { hw->phy.sfp_type = 9; } else { hw->phy.sfp_type = 10; } } else if ((int )comp_codes_1g & 1) { if ((unsigned int )hw->bus.lan_id == 0U) { hw->phy.sfp_type = 11; } else { hw->phy.sfp_type = 12; } } else if (((int )comp_codes_1g & 2) != 0) { if ((unsigned int )hw->bus.lan_id == 0U) { hw->phy.sfp_type = 13; } else { hw->phy.sfp_type = 14; } } else { hw->phy.sfp_type = 65535; } } else { } if ((unsigned int )hw->phy.sfp_type != (unsigned int )stored_sfp_type) { hw->phy.sfp_setup_needed = 1; } else { } hw->phy.multispeed_fiber = 0; if (((int )comp_codes_1g & 1 && ((int )comp_codes_10g & 16) != 0) || (((int )comp_codes_1g & 2) != 0 && ((int )comp_codes_10g & 32) != 0)) { hw->phy.multispeed_fiber = 1; } else { } if ((unsigned int )hw->phy.type != 7U) { { hw->phy.id = (u32 )identifier; status = (*(hw->phy.ops.read_i2c_eeprom))(hw, 37, (u8 *)(& oui_bytes)); } if (status != 0) { goto err_read_i2c_eeprom; } else { } { status = (*(hw->phy.ops.read_i2c_eeprom))(hw, 38, (u8 *)(& oui_bytes) + 1UL); } if (status != 0) { goto err_read_i2c_eeprom; } else { } { status = (*(hw->phy.ops.read_i2c_eeprom))(hw, 39, (u8 *)(& oui_bytes) + 2UL); } if (status != 0) { goto err_read_i2c_eeprom; } else { } vendor_oui = (u32 )((((int )oui_bytes[0] << 24) | ((int )oui_bytes[1] << 16)) | ((int )oui_bytes[2] << 8)); { if (vendor_oui == 4224512U) { goto case_4224512; } else { } if (vendor_oui == 9463040U) { goto case_9463040; } else { } if (vendor_oui == 1534464U) { goto case_1534464; } else { } if (vendor_oui == 1777920U) { goto case_1777920; } else { } goto switch_default; case_4224512: /* CIL Label */ ; if (((int )cable_tech & 4) != 0) { hw->phy.type = 8; } else { } goto ldv_51182; case_9463040: /* CIL Label */ ; if (((int )cable_tech & 8) != 0) { hw->phy.type = 13; } else { hw->phy.type = 12; } goto ldv_51182; case_1534464: /* CIL Label */ hw->phy.type = 11; goto ldv_51182; case_1777920: /* CIL Label */ hw->phy.type = 15; goto ldv_51182; switch_default: /* CIL Label */ ; if (((int )cable_tech & 4) != 0) { hw->phy.type = 9; } else if (((int )cable_tech & 8) != 0) { hw->phy.type = 10; } else { hw->phy.type = 14; } goto ldv_51182; switch_break: /* CIL Label */ ; } ldv_51182: ; } else { } if (((int )cable_tech & 12) != 0) { status = 0; goto out; } else { } if ((unsigned int )comp_codes_10g == 0U && (((((unsigned int )hw->phy.sfp_type - 9U > 1U && (unsigned int )hw->phy.sfp_type != 13U) && (unsigned int )hw->phy.sfp_type != 14U) && (unsigned int )hw->phy.sfp_type != 11U) && (unsigned int )hw->phy.sfp_type != 12U)) { hw->phy.type = 20; status = -19; goto out; } else { } if ((unsigned int )hw->mac.type == 1U) { status = 0; goto out; } else { } { (*(hw->mac.ops.get_device_caps))(hw, & enforce_sfp); } if (((int )enforce_sfp & 1) == 0 && (((((unsigned int )hw->phy.sfp_type - 9U > 1U && (unsigned int )hw->phy.sfp_type != 13U) && (unsigned int )hw->phy.sfp_type != 14U) && (unsigned int )hw->phy.sfp_type != 11U) && (unsigned int )hw->phy.sfp_type != 12U)) { if ((unsigned int )hw->phy.type == 15U) { status = 0; } else if ((int )hw->allow_unsupported_sfp) { if ((int )adapter->msg_enable & 1) { { netdev_warn((struct net_device const *)adapter->netdev, "WARNING: Intel (R) Network Connections are quality tested using Intel (R) Ethernet Optics. Using untested modules is not supported and may cause unstable operation or damage to the module or the adapter. Intel Corporation is not responsible for any harm caused by using untested modules."); } } else { } status = 0; } else { { descriptor.modname = "ixgbe"; descriptor.function = "ixgbe_identify_sfp_module_generic"; descriptor.filename = "drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c"; descriptor.format = "SFP+ module not supported\n"; descriptor.lineno = 1139U; descriptor.flags = 0U; tmp___0 = ldv__builtin_expect((long )descriptor.flags & 1L, 0L); } if (tmp___0 != 0L) { { __dynamic_netdev_dbg(& descriptor, (struct net_device const *)((struct ixgbe_adapter *)hw->back)->netdev, "SFP+ module not supported\n"); } } else { } hw->phy.type = 20; status = -19; } } else { status = 0; } } out: ; return (status); err_read_i2c_eeprom: hw->phy.sfp_type = 65534; if ((unsigned int )hw->phy.type != 7U) { hw->phy.id = 0U; hw->phy.type = 0; } else { } return (-20); } } static s32 ixgbe_identify_qsfp_module_generic(struct ixgbe_hw *hw ) { struct ixgbe_adapter *adapter ; s32 status ; u32 vendor_oui ; enum ixgbe_sfp_type stored_sfp_type ; u8 identifier ; u8 comp_codes_1g ; u8 comp_codes_10g ; u8 oui_bytes[3U] ; u16 enforce_sfp ; u8 connector ; u8 cable_length ; u8 device_tech ; bool active_cable ; enum ixgbe_media_type tmp ; struct _ddebug descriptor ; long tmp___0 ; { { adapter = (struct ixgbe_adapter *)hw->back; status = -17; vendor_oui = 0U; stored_sfp_type = hw->phy.sfp_type; identifier = 0U; comp_codes_1g = 0U; comp_codes_10g = 0U; oui_bytes[0] = 0U; oui_bytes[1] = 0U; oui_bytes[2] = 0U; enforce_sfp = 0U; connector = 0U; cable_length = 0U; device_tech = 0U; active_cable = 0; tmp = (*(hw->mac.ops.get_media_type))(hw); } if ((unsigned int )tmp != 3U) { hw->phy.sfp_type = 65534; status = -20; goto out; } else { } { status = (*(hw->phy.ops.read_i2c_eeprom))(hw, 0, & identifier); } if (status != 0) { goto err_read_i2c_eeprom; } else { } if ((unsigned int )identifier != 13U) { hw->phy.type = 20; status = -19; goto out; } else { } { hw->phy.id = (u32 )identifier; (*(hw->mac.ops.set_lan_id))(hw); status = (*(hw->phy.ops.read_i2c_eeprom))(hw, 131, & comp_codes_10g); } if (status != 0) { goto err_read_i2c_eeprom; } else { } { status = (*(hw->phy.ops.read_i2c_eeprom))(hw, 134, & comp_codes_1g); } if (status != 0) { goto err_read_i2c_eeprom; } else { } if (((int )comp_codes_10g & 8) != 0) { hw->phy.type = 16; if ((unsigned int )hw->bus.lan_id == 0U) { hw->phy.sfp_type = 3; } else { hw->phy.sfp_type = 4; } } else if (((int )comp_codes_10g & 48) != 0) { if ((unsigned int )hw->bus.lan_id == 0U) { hw->phy.sfp_type = 5; } else { hw->phy.sfp_type = 6; } } else { if ((int )comp_codes_10g & 1) { active_cable = 1; } else { } if (! active_cable) { { (*(hw->phy.ops.read_i2c_eeprom))(hw, 130, & connector); (*(hw->phy.ops.read_i2c_eeprom))(hw, 146, & cable_length); (*(hw->phy.ops.read_i2c_eeprom))(hw, 147, & device_tech); } if (((unsigned int )connector == 35U && (unsigned int )cable_length != 0U) && (unsigned int )((int )device_tech >> 4) == 0U) { active_cable = 1; } else { } } else { } if ((int )active_cable) { hw->phy.type = 17; if ((unsigned int )hw->bus.lan_id == 0U) { hw->phy.sfp_type = 7; } else { hw->phy.sfp_type = 8; } } else { hw->phy.type = 20; status = -19; goto out; } } if ((unsigned int )hw->phy.sfp_type != (unsigned int )stored_sfp_type) { hw->phy.sfp_setup_needed = 1; } else { } hw->phy.multispeed_fiber = 0; if (((int )comp_codes_1g & 1 && ((int )comp_codes_10g & 16) != 0) || (((int )comp_codes_1g & 2) != 0 && ((int )comp_codes_10g & 32) != 0)) { hw->phy.multispeed_fiber = 1; } else { } if (((int )comp_codes_10g & 48) != 0) { { status = (*(hw->phy.ops.read_i2c_eeprom))(hw, 165, (u8 *)(& oui_bytes)); } if (status != 0) { goto err_read_i2c_eeprom; } else { } { status = (*(hw->phy.ops.read_i2c_eeprom))(hw, 166, (u8 *)(& oui_bytes) + 1UL); } if (status != 0) { goto err_read_i2c_eeprom; } else { } { status = (*(hw->phy.ops.read_i2c_eeprom))(hw, 167, (u8 *)(& oui_bytes) + 2UL); } if (status != 0) { goto err_read_i2c_eeprom; } else { } vendor_oui = (u32 )((((int )oui_bytes[0] << 24) | ((int )oui_bytes[1] << 16)) | ((int )oui_bytes[2] << 8)); if (vendor_oui == 1777920U) { hw->phy.type = 18; } else { hw->phy.type = 19; } { (*(hw->mac.ops.get_device_caps))(hw, & enforce_sfp); } if (((int )enforce_sfp & 1) == 0) { if ((unsigned int )hw->phy.type == 18U) { status = 0; } else if ((int )hw->allow_unsupported_sfp) { if ((int )adapter->msg_enable & 1) { { netdev_warn((struct net_device const *)adapter->netdev, "WARNING: Intel (R) Network Connections are quality tested using Intel (R) Ethernet Optics. Using untested modules is not supported and may cause unstable operation or damage to the module or the adapter. Intel Corporation is not responsible for any harm caused by using untested modules.\n"); } } else { } status = 0; } else { { descriptor.modname = "ixgbe"; descriptor.function = "ixgbe_identify_qsfp_module_generic"; descriptor.filename = "drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c"; descriptor.format = "QSFP module not supported\n"; descriptor.lineno = 1331U; descriptor.flags = 0U; tmp___0 = ldv__builtin_expect((long )descriptor.flags & 1L, 0L); } if (tmp___0 != 0L) { { __dynamic_netdev_dbg(& descriptor, (struct net_device const *)((struct ixgbe_adapter *)hw->back)->netdev, "QSFP module not supported\n"); } } else { } hw->phy.type = 20; status = -19; } } else { status = 0; } } else { } out: ; return (status); err_read_i2c_eeprom: hw->phy.sfp_type = 65534; hw->phy.id = 0U; hw->phy.type = 0; return (-20); } } s32 ixgbe_get_sfp_init_sequence_offsets(struct ixgbe_hw *hw , u16 *list_offset , u16 *data_offset ) { u16 sfp_id ; u16 sfp_type ; s32 tmp ; s32 tmp___0 ; s32 tmp___1 ; struct _ddebug descriptor ; long tmp___2 ; s32 tmp___3 ; struct _ddebug descriptor___0 ; long tmp___4 ; { sfp_type = (u16 )hw->phy.sfp_type; if ((unsigned int )hw->phy.sfp_type == 65535U) { return (-19); } else { } if ((unsigned int )hw->phy.sfp_type == 65534U) { return (-20); } else { } if ((unsigned int )hw->device_id == 4321U && (unsigned int )hw->phy.sfp_type == 0U) { return (-19); } else { } if (((unsigned int )sfp_type == 7U || (unsigned int )sfp_type == 13U) || ((unsigned int )sfp_type == 9U || (unsigned int )sfp_type == 11U)) { sfp_type = 5U; } else if (((unsigned int )sfp_type == 8U || (unsigned int )sfp_type == 14U) || ((unsigned int )sfp_type == 10U || (unsigned int )sfp_type == 12U)) { sfp_type = 6U; } else { } { tmp = (*(hw->eeprom.ops.read))(hw, 43, list_offset); } if (tmp != 0) { { netdev_err((struct net_device const *)((struct ixgbe_adapter *)hw->back)->netdev, "eeprom read at %d failed\n", 43); } return (-21); } else { } if ((unsigned int )*list_offset - 1U > 65533U) { return (-21); } else { } { *list_offset = (u16 )((int )*list_offset + 1); tmp___0 = (*(hw->eeprom.ops.read))(hw, (int )*list_offset, & sfp_id); } if (tmp___0 != 0) { goto err_phy; } else { } goto ldv_51221; ldv_51220: ; if ((int )sfp_id == (int )sfp_type) { { *list_offset = (u16 )((int )*list_offset + 1); tmp___1 = (*(hw->eeprom.ops.read))(hw, (int )*list_offset, data_offset); } if (tmp___1 != 0) { goto err_phy; } else { } if ((unsigned int )*data_offset - 1U > 65533U) { { descriptor.modname = "ixgbe"; descriptor.function = "ixgbe_get_sfp_init_sequence_offsets"; descriptor.filename = "drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c"; descriptor.format = "SFP+ module not supported\n"; descriptor.lineno = 1420U; descriptor.flags = 0U; tmp___2 = ldv__builtin_expect((long )descriptor.flags & 1L, 0L); } if (tmp___2 != 0L) { { __dynamic_netdev_dbg(& descriptor, (struct net_device const *)((struct ixgbe_adapter *)hw->back)->netdev, "SFP+ module not supported\n"); } } else { } return (-19); } else { goto ldv_51219; } } else { { *list_offset = (unsigned int )*list_offset + 2U; tmp___3 = (*(hw->eeprom.ops.read))(hw, (int )*list_offset, & sfp_id); } if (tmp___3 != 0) { goto err_phy; } else { } } ldv_51221: ; if ((unsigned int )sfp_id != 65535U) { goto ldv_51220; } else { } ldv_51219: ; if ((unsigned int )sfp_id == 65535U) { { descriptor___0.modname = "ixgbe"; descriptor___0.function = "ixgbe_get_sfp_init_sequence_offsets"; descriptor___0.filename = "drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c"; descriptor___0.format = "No matching SFP+ module found\n"; descriptor___0.lineno = 1433U; descriptor___0.flags = 0U; tmp___4 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); } if (tmp___4 != 0L) { { __dynamic_netdev_dbg(& descriptor___0, (struct net_device const *)((struct ixgbe_adapter *)hw->back)->netdev, "No matching SFP+ module found\n"); } } else { } return (-19); } else { } return (0); err_phy: { netdev_err((struct net_device const *)((struct ixgbe_adapter *)hw->back)->netdev, "eeprom read at offset %d failed\n", (int )*list_offset); } return (-3); } } s32 ixgbe_read_i2c_eeprom_generic(struct ixgbe_hw *hw , u8 byte_offset , u8 *eeprom_data ) { s32 tmp ; { { tmp = (*(hw->phy.ops.read_i2c_byte))(hw, (int )byte_offset, 160, eeprom_data); } return (tmp); } } s32 ixgbe_read_i2c_sff8472_generic(struct ixgbe_hw *hw , u8 byte_offset , u8 *sff8472_data ) { s32 tmp ; { { tmp = (*(hw->phy.ops.read_i2c_byte))(hw, (int )byte_offset, 162, sff8472_data); } return (tmp); } } s32 ixgbe_write_i2c_eeprom_generic(struct ixgbe_hw *hw , u8 byte_offset , u8 eeprom_data ) { s32 tmp ; { { tmp = (*(hw->phy.ops.write_i2c_byte))(hw, (int )byte_offset, 160, (int )eeprom_data); } return (tmp); } } s32 ixgbe_read_i2c_byte_generic(struct ixgbe_hw *hw , u8 byte_offset , u8 dev_addr , u8 *data ) { s32 status ; u32 max_retry ; u32 retry ; u16 swfw_mask ; bool nack ; u32 tmp ; s32 tmp___0 ; struct _ddebug descriptor ; long tmp___1 ; struct _ddebug descriptor___0 ; long tmp___2 ; { { status = 0; max_retry = 10U; retry = 0U; swfw_mask = 0U; nack = 1; *data = 0U; tmp = ixgbe_read_reg(hw, 8U); } if ((tmp & 4U) != 0U) { swfw_mask = 4U; } else { swfw_mask = 2U; } ldv_51255: { tmp___0 = (*(hw->mac.ops.acquire_swfw_sync))(hw, (int )swfw_mask); } if (tmp___0 != 0) { status = -16; goto read_byte_out; } else { } { ixgbe_i2c_start(hw); status = ixgbe_clock_out_i2c_byte(hw, (int )dev_addr); } if (status != 0) { goto fail; } else { } { status = ixgbe_get_i2c_ack(hw); } if (status != 0) { goto fail; } else { } { status = ixgbe_clock_out_i2c_byte(hw, (int )byte_offset); } if (status != 0) { goto fail; } else { } { status = ixgbe_get_i2c_ack(hw); } if (status != 0) { goto fail; } else { } { ixgbe_i2c_start(hw); status = ixgbe_clock_out_i2c_byte(hw, (int )((unsigned int )dev_addr | 1U)); } if (status != 0) { goto fail; } else { } { status = ixgbe_get_i2c_ack(hw); } if (status != 0) { goto fail; } else { } { status = ixgbe_clock_in_i2c_byte(hw, data); } if (status != 0) { goto fail; } else { } { status = ixgbe_clock_out_i2c_bit(hw, (int )nack); } if (status != 0) { goto fail; } else { } { ixgbe_i2c_stop(hw); } goto ldv_51251; fail: { ixgbe_i2c_bus_clear(hw); (*(hw->mac.ops.release_swfw_sync))(hw, (int )swfw_mask); msleep(100U); retry = retry + 1U; } if (retry < max_retry) { { descriptor.modname = "ixgbe"; descriptor.function = "ixgbe_read_i2c_byte_generic"; descriptor.filename = "drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c"; descriptor.format = "I2C byte read error - Retrying.\n"; descriptor.lineno = 1569U; descriptor.flags = 0U; tmp___1 = ldv__builtin_expect((long )descriptor.flags & 1L, 0L); } if (tmp___1 != 0L) { { __dynamic_netdev_dbg(& descriptor, (struct net_device const *)((struct ixgbe_adapter *)hw->back)->netdev, "I2C byte read error - Retrying.\n"); } } else { } } else { { descriptor___0.modname = "ixgbe"; descriptor___0.function = "ixgbe_read_i2c_byte_generic"; descriptor___0.filename = "drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c"; descriptor___0.format = "I2C byte read error.\n"; descriptor___0.lineno = 1571U; descriptor___0.flags = 0U; tmp___2 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); } if (tmp___2 != 0L) { { __dynamic_netdev_dbg(& descriptor___0, (struct net_device const *)((struct ixgbe_adapter *)hw->back)->netdev, "I2C byte read error.\n"); } } else { } } if (retry < max_retry) { goto ldv_51255; } else { } ldv_51251: { (*(hw->mac.ops.release_swfw_sync))(hw, (int )swfw_mask); } read_byte_out: ; return (status); } } s32 ixgbe_write_i2c_byte_generic(struct ixgbe_hw *hw , u8 byte_offset , u8 dev_addr , u8 data ) { s32 status ; u32 max_retry ; u32 retry ; u16 swfw_mask ; u32 tmp ; s32 tmp___0 ; struct _ddebug descriptor ; long tmp___1 ; struct _ddebug descriptor___0 ; long tmp___2 ; { { status = 0; max_retry = 1U; retry = 0U; swfw_mask = 0U; tmp = ixgbe_read_reg(hw, 8U); } if ((tmp & 4U) != 0U) { swfw_mask = 4U; } else { swfw_mask = 2U; } { tmp___0 = (*(hw->mac.ops.acquire_swfw_sync))(hw, (int )swfw_mask); } if (tmp___0 != 0) { status = -16; goto write_byte_out; } else { } ldv_51272: { ixgbe_i2c_start(hw); status = ixgbe_clock_out_i2c_byte(hw, (int )dev_addr); } if (status != 0) { goto fail; } else { } { status = ixgbe_get_i2c_ack(hw); } if (status != 0) { goto fail; } else { } { status = ixgbe_clock_out_i2c_byte(hw, (int )byte_offset); } if (status != 0) { goto fail; } else { } { status = ixgbe_get_i2c_ack(hw); } if (status != 0) { goto fail; } else { } { status = ixgbe_clock_out_i2c_byte(hw, (int )data); } if (status != 0) { goto fail; } else { } { status = ixgbe_get_i2c_ack(hw); } if (status != 0) { goto fail; } else { } { ixgbe_i2c_stop(hw); } goto ldv_51268; fail: { ixgbe_i2c_bus_clear(hw); retry = retry + 1U; } if (retry < max_retry) { { descriptor.modname = "ixgbe"; descriptor.function = "ixgbe_write_i2c_byte_generic"; descriptor.filename = "drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c"; descriptor.format = "I2C byte write error - Retrying.\n"; descriptor.lineno = 1642U; descriptor.flags = 0U; tmp___1 = ldv__builtin_expect((long )descriptor.flags & 1L, 0L); } if (tmp___1 != 0L) { { __dynamic_netdev_dbg(& descriptor, (struct net_device const *)((struct ixgbe_adapter *)hw->back)->netdev, "I2C byte write error - Retrying.\n"); } } else { } } else { { descriptor___0.modname = "ixgbe"; descriptor___0.function = "ixgbe_write_i2c_byte_generic"; descriptor___0.filename = "drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c"; descriptor___0.format = "I2C byte write error.\n"; descriptor___0.lineno = 1644U; descriptor___0.flags = 0U; tmp___2 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); } if (tmp___2 != 0L) { { __dynamic_netdev_dbg(& descriptor___0, (struct net_device const *)((struct ixgbe_adapter *)hw->back)->netdev, "I2C byte write error.\n"); } } else { } } if (retry < max_retry) { goto ldv_51272; } else { } ldv_51268: { (*(hw->mac.ops.release_swfw_sync))(hw, (int )swfw_mask); } write_byte_out: ; return (status); } } static void ixgbe_i2c_start(struct ixgbe_hw *hw ) { u32 i2cctl ; u32 tmp ; { { tmp = ixgbe_read_reg(hw, 40U); i2cctl = tmp; ixgbe_set_i2c_data(hw, & i2cctl, 1); ixgbe_raise_i2c_clk(hw, & i2cctl); __const_udelay(21475UL); ixgbe_set_i2c_data(hw, & i2cctl, 0); __const_udelay(17180UL); ixgbe_lower_i2c_clk(hw, & i2cctl); __const_udelay(21475UL); } return; } } static void ixgbe_i2c_stop(struct ixgbe_hw *hw ) { u32 i2cctl ; u32 tmp ; { { tmp = ixgbe_read_reg(hw, 40U); i2cctl = tmp; ixgbe_set_i2c_data(hw, & i2cctl, 0); ixgbe_raise_i2c_clk(hw, & i2cctl); __const_udelay(17180UL); ixgbe_set_i2c_data(hw, & i2cctl, 1); __const_udelay(21475UL); } return; } } static s32 ixgbe_clock_in_i2c_byte(struct ixgbe_hw *hw , u8 *data ) { s32 i ; bool bit ; { bit = 0; i = 7; goto ldv_51288; ldv_51287: { ixgbe_clock_in_i2c_bit(hw, & bit); *data = (u8 )((int )((signed char )*data) | (int )((signed char )((int )bit << i))); i = i - 1; } ldv_51288: ; if (i >= 0) { goto ldv_51287; } else { } return (0); } } static s32 ixgbe_clock_out_i2c_byte(struct ixgbe_hw *hw , u8 data ) { s32 status ; s32 i ; u32 i2cctl ; bool bit ; { status = 0; bit = 0; i = 7; goto ldv_51300; ldv_51299: { bit = (((int )data >> i) & 1) != 0; status = ixgbe_clock_out_i2c_bit(hw, (int )bit); } if (status != 0) { goto ldv_51298; } else { } i = i - 1; ldv_51300: ; if (i >= 0) { goto ldv_51299; } else { } ldv_51298: { i2cctl = ixgbe_read_reg(hw, 40U); i2cctl = i2cctl | 8U; ixgbe_write_reg(hw, 40U, i2cctl); ixgbe_read_reg(hw, 8U); } return (status); } } static s32 ixgbe_get_i2c_ack(struct ixgbe_hw *hw ) { s32 status ; u32 i ; u32 i2cctl ; u32 tmp ; u32 timeout ; bool ack ; struct _ddebug descriptor ; long tmp___0 ; { { status = 0; i = 0U; tmp = ixgbe_read_reg(hw, 40U); i2cctl = tmp; timeout = 10U; ack = 1; ixgbe_raise_i2c_clk(hw, & i2cctl); __const_udelay(17180UL); i = 0U; } goto ldv_51311; ldv_51310: { i2cctl = ixgbe_read_reg(hw, 40U); ack = ixgbe_get_i2c_data(& i2cctl); __const_udelay(4295UL); } if (! ack) { goto ldv_51309; } else { } i = i + 1U; ldv_51311: ; if (i < timeout) { goto ldv_51310; } else { } ldv_51309: ; if ((int )ack) { { descriptor.modname = "ixgbe"; descriptor.function = "ixgbe_get_i2c_ack"; descriptor.filename = "drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c"; descriptor.format = "I2C ack was not received.\n"; descriptor.lineno = 1788U; descriptor.flags = 0U; tmp___0 = ldv__builtin_expect((long )descriptor.flags & 1L, 0L); } if (tmp___0 != 0L) { { __dynamic_netdev_dbg(& descriptor, (struct net_device const *)((struct ixgbe_adapter *)hw->back)->netdev, "I2C ack was not received.\n"); } } else { } status = -18; } else { } { ixgbe_lower_i2c_clk(hw, & i2cctl); __const_udelay(21475UL); } return (status); } } static s32 ixgbe_clock_in_i2c_bit(struct ixgbe_hw *hw , bool *data ) { u32 i2cctl ; u32 tmp ; { { tmp = ixgbe_read_reg(hw, 40U); i2cctl = tmp; ixgbe_raise_i2c_clk(hw, & i2cctl); __const_udelay(17180UL); i2cctl = ixgbe_read_reg(hw, 40U); *data = ixgbe_get_i2c_data(& i2cctl); ixgbe_lower_i2c_clk(hw, & i2cctl); __const_udelay(21475UL); } return (0); } } static s32 ixgbe_clock_out_i2c_bit(struct ixgbe_hw *hw , bool data ) { s32 status ; u32 i2cctl ; u32 tmp ; struct _ddebug descriptor ; long tmp___0 ; { { tmp = ixgbe_read_reg(hw, 40U); i2cctl = tmp; status = ixgbe_set_i2c_data(hw, & i2cctl, (int )data); } if (status == 0) { { ixgbe_raise_i2c_clk(hw, & i2cctl); __const_udelay(17180UL); ixgbe_lower_i2c_clk(hw, & i2cctl); __const_udelay(21475UL); } } else { { status = -18; descriptor.modname = "ixgbe"; descriptor.function = "ixgbe_clock_out_i2c_bit"; descriptor.filename = "drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c"; descriptor.format = "I2C data was not set to %X\n"; descriptor.lineno = 1854U; descriptor.flags = 0U; tmp___0 = ldv__builtin_expect((long )descriptor.flags & 1L, 0L); } if (tmp___0 != 0L) { { __dynamic_netdev_dbg(& descriptor, (struct net_device const *)((struct ixgbe_adapter *)hw->back)->netdev, "I2C data was not set to %X\n", (int )data); } } else { } } return (status); } } static void ixgbe_raise_i2c_clk(struct ixgbe_hw *hw , u32 *i2cctl ) { u32 i ; u32 timeout ; u32 i2cctl_r ; { i = 0U; timeout = 500U; i2cctl_r = 0U; i = 0U; goto ldv_51336; ldv_51335: { *i2cctl = *i2cctl | 2U; ixgbe_write_reg(hw, 40U, *i2cctl); ixgbe_read_reg(hw, 8U); __const_udelay(4295UL); i2cctl_r = ixgbe_read_reg(hw, 40U); } if ((int )i2cctl_r & 1) { goto ldv_51334; } else { } i = i + 1U; ldv_51336: ; if (i < timeout) { goto ldv_51335; } else { } ldv_51334: ; return; } } static void ixgbe_lower_i2c_clk(struct ixgbe_hw *hw , u32 *i2cctl ) { { { *i2cctl = *i2cctl & 4294967293U; ixgbe_write_reg(hw, 40U, *i2cctl); ixgbe_read_reg(hw, 8U); __const_udelay(4295UL); } return; } } static s32 ixgbe_set_i2c_data(struct ixgbe_hw *hw , u32 *i2cctl , bool data ) { s32 status ; struct _ddebug descriptor ; long tmp ; bool tmp___0 ; { status = 0; if ((int )data) { *i2cctl = *i2cctl | 8U; } else { *i2cctl = *i2cctl & 4294967287U; } { ixgbe_write_reg(hw, 40U, *i2cctl); ixgbe_read_reg(hw, 8U); __const_udelay(12885UL); *i2cctl = ixgbe_read_reg(hw, 40U); tmp___0 = ixgbe_get_i2c_data(i2cctl); } if ((int )data != (int )tmp___0) { { status = -18; descriptor.modname = "ixgbe"; descriptor.function = "ixgbe_set_i2c_data"; descriptor.filename = "drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c"; descriptor.format = "Error - I2C data was not set to %X.\n"; descriptor.lineno = 1931U; descriptor.flags = 0U; tmp = ldv__builtin_expect((long )descriptor.flags & 1L, 0L); } if (tmp != 0L) { { __dynamic_netdev_dbg(& descriptor, (struct net_device const *)((struct ixgbe_adapter *)hw->back)->netdev, "Error - I2C data was not set to %X.\n", (int )data); } } else { } } else { } return (status); } } static bool ixgbe_get_i2c_data(u32 *i2cctl ) { bool data ; { if ((*i2cctl & 4U) != 0U) { data = 1; } else { data = 0; } return (data); } } static void ixgbe_i2c_bus_clear(struct ixgbe_hw *hw ) { u32 i2cctl ; u32 tmp ; u32 i ; { { tmp = ixgbe_read_reg(hw, 40U); i2cctl = tmp; ixgbe_i2c_start(hw); ixgbe_set_i2c_data(hw, & i2cctl, 1); i = 0U; } goto ldv_51359; ldv_51358: { ixgbe_raise_i2c_clk(hw, & i2cctl); __const_udelay(17180UL); ixgbe_lower_i2c_clk(hw, & i2cctl); __const_udelay(21475UL); i = i + 1U; } ldv_51359: ; if (i <= 8U) { goto ldv_51358; } else { } { ixgbe_i2c_start(hw); ixgbe_i2c_stop(hw); } return; } } s32 ixgbe_tn_check_overtemp(struct ixgbe_hw *hw ) { s32 status ; u16 phy_data ; { status = 0; phy_data = 0U; if ((unsigned int )hw->device_id != 5404U) { goto out; } else { } { (*(hw->phy.ops.read_reg))(hw, 36869U, 1U, & phy_data); } if (((int )phy_data & 8) == 0) { goto out; } else { } status = -26; out: ; return (status); } } extern void __list_add(struct list_head * , struct list_head * , struct list_head * ) ; __inline static void list_add(struct list_head *new , struct list_head *head ) { { { __list_add(new, head, head->next); } return; } } static void *ldv_dev_get_drvdata_16___0(struct device const *dev ) ; __inline static void *pci_get_drvdata___0(struct pci_dev *pdev ) { void *tmp ; { { tmp = ldv_dev_get_drvdata_16___0((struct device const *)(& pdev->dev)); } return (tmp); } } extern int pci_enable_sriov(struct pci_dev * , int ) ; extern void pci_disable_sriov(struct pci_dev * ) ; extern int pci_num_vf(struct pci_dev * ) ; extern int pci_vfs_assigned(struct pci_dev * ) ; __inline static void eth_zero_addr(u8 *addr ) { { { memset((void *)addr, 0, 6UL); } return; } } __inline static bool ether_addr_equal(u8 const *addr1 , u8 const *addr2 ) { u32 fold ; { fold = ((unsigned int )*((u32 const *)addr1) ^ (unsigned int )*((u32 const *)addr2)) | (unsigned int )((int )((unsigned short )*((u16 const *)addr1 + 4U)) ^ (int )((unsigned short )*((u16 const *)addr2 + 4U))); return (fold == 0U); } } s32 ixgbe_read_mbx(struct ixgbe_hw *hw , u32 *msg , u16 size , u16 mbx_id ) ; s32 ixgbe_write_mbx(struct ixgbe_hw *hw , u32 *msg , u16 size , u16 mbx_id ) ; s32 ixgbe_check_for_msg(struct ixgbe_hw *hw , u16 mbx_id ) ; s32 ixgbe_check_for_ack(struct ixgbe_hw *hw , u16 mbx_id ) ; s32 ixgbe_check_for_rst(struct ixgbe_hw *hw , u16 mbx_id ) ; __inline static void ixgbe_set_vmvir(struct ixgbe_adapter *adapter , u16 vid , u16 qos , u32 vf ) { struct ixgbe_hw *hw ; u32 vmvir ; { { hw = & adapter->hw; vmvir = (u32 )(((int )vid | ((int )qos << 13)) | 1073741824); ixgbe_write_reg(hw, (vf + 8192U) * 4U, vmvir); } return; } } static int __ixgbe_enable_sriov(struct ixgbe_adapter *adapter ) { struct ixgbe_hw *hw ; int num_vf_macvlans ; int i ; struct vf_macvlans *mv_list ; void *tmp ; void *tmp___0 ; { hw = & adapter->hw; adapter->flags = adapter->flags | 8388608U; if (((int )adapter->msg_enable & 2) != 0) { { netdev_info((struct net_device const *)adapter->netdev, "SR-IOV enabled with %d VFs\n", adapter->num_vfs); } } else { } adapter->flags = adapter->flags | 16384U; if ((unsigned int )adapter->ring_feature[1].limit == 0U) { adapter->ring_feature[1].limit = 1U; } else { } { adapter->ring_feature[1].offset = (u16 )adapter->num_vfs; num_vf_macvlans = (int )((hw->mac.num_rar_entries - adapter->num_vfs) - 16U); tmp = kcalloc((size_t )num_vf_macvlans, 32UL, 208U); mv_list = (struct vf_macvlans *)tmp; adapter->mv_list = mv_list; } if ((unsigned long )mv_list != (unsigned long )((struct vf_macvlans *)0)) { { INIT_LIST_HEAD(& adapter->vf_mvs.l); i = 0; } goto ldv_51700; ldv_51699: { mv_list->vf = -1; mv_list->free = 1; mv_list->rar_entry = (int )((hw->mac.num_rar_entries - ((unsigned int )i + adapter->num_vfs)) - 1U); list_add(& mv_list->l, & adapter->vf_mvs.l); mv_list = mv_list + 1; i = i + 1; } ldv_51700: ; if (i < num_vf_macvlans) { goto ldv_51699; } else { } } else { } { ixgbe_write_reg(hw, 33312U, 1U); adapter->flags2 = adapter->flags2 | 2048U; tmp___0 = kcalloc((size_t )adapter->num_vfs, 88UL, 208U); adapter->vfinfo = (struct vf_data_storage *)tmp___0; } if ((unsigned long )adapter->vfinfo != (unsigned long )((struct vf_data_storage *)0)) { if ((unsigned int )adapter->hw.mac.type == 2U && adapter->num_vfs <= 15U) { adapter->dcb_cfg.num_tcs.pg_tcs = 8U; adapter->dcb_cfg.num_tcs.pfc_tcs = 8U; } else if (adapter->num_vfs <= 31U) { adapter->dcb_cfg.num_tcs.pg_tcs = 4U; adapter->dcb_cfg.num_tcs.pfc_tcs = 4U; } else { adapter->dcb_cfg.num_tcs.pg_tcs = 1U; adapter->dcb_cfg.num_tcs.pfc_tcs = 1U; } adapter->ring_feature[2].limit = 1U; adapter->flags2 = adapter->flags2 & 4294967292U; i = 0; goto ldv_51703; ldv_51702: (adapter->vfinfo + (unsigned long )i)->spoofchk_enabled = 1U; i = i + 1; ldv_51703: ; if ((unsigned int )i < adapter->num_vfs) { goto ldv_51702; } else { } return (0); } else { } return (-12); } } void ixgbe_enable_sriov(struct ixgbe_adapter *adapter ) { int pre_existing_vfs ; int err ; unsigned int __min1 ; unsigned int __min2 ; int tmp ; { { pre_existing_vfs = 0; pre_existing_vfs = pci_num_vf(adapter->pdev); } if (pre_existing_vfs == 0 && adapter->num_vfs == 0U) { return; } else { } if (pre_existing_vfs != 0) { { adapter->num_vfs = (unsigned int )pre_existing_vfs; dev_warn((struct device const *)(& (adapter->pdev)->dev), "Virtual Functions already enabled for this device - Please reload all VF drivers to avoid spoofed packet errors\n"); } } else { { __min1 = adapter->num_vfs; __min2 = 63U; adapter->num_vfs = __min1 < __min2 ? __min1 : __min2; err = pci_enable_sriov(adapter->pdev, (int )adapter->num_vfs); } if (err != 0) { if (((int )adapter->msg_enable & 2) != 0) { { netdev_err((struct net_device const *)adapter->netdev, "Failed to enable PCI sriov: %d\n", err); } } else { } adapter->num_vfs = 0U; return; } else { } } { tmp = __ixgbe_enable_sriov(adapter); } if (tmp == 0) { return; } else { } if (((int )adapter->msg_enable & 2) != 0) { { netdev_err((struct net_device const *)adapter->netdev, "Unable to allocate memory for VF Data Storage - SRIOV disabled\n"); } } else { } { ixgbe_disable_sriov(adapter); } return; } } int ixgbe_disable_sriov(struct ixgbe_adapter *adapter ) { struct ixgbe_hw *hw ; u32 gpie ; u32 vmdctl ; int rss ; int tmp ; int __min1 ; int __min2 ; unsigned int tmp___0 ; int __min1___0 ; int __min2___0 ; unsigned int tmp___1 ; { { hw = & adapter->hw; adapter->num_vfs = 0U; kfree((void const *)adapter->vfinfo); adapter->vfinfo = (struct vf_data_storage *)0; kfree((void const *)adapter->mv_list); adapter->mv_list = (struct vf_macvlans *)0; } if ((adapter->flags & 8388608U) == 0U) { return (0); } else { } { tmp = pci_vfs_assigned(adapter->pdev); } if (tmp != 0) { { dev_warn((struct device const *)(& (adapter->pdev)->dev), "Unloading driver while VFs are assigned - VFs will not be deallocated\n"); } return (-1); } else { } { pci_disable_sriov(adapter->pdev); ixgbe_write_reg(hw, 69712U, 0U); gpie = ixgbe_read_reg(hw, 2200U); gpie = gpie & 4294918143U; ixgbe_write_reg(hw, 2200U, gpie); vmdctl = ixgbe_read_reg(hw, 20912U); vmdctl = vmdctl & 4294959231U; ixgbe_write_reg(hw, 20912U, vmdctl); ixgbe_read_reg(hw, 8U); } if ((unsigned int )adapter->ring_feature[1].limit == 1U) { { adapter->flags = adapter->flags & 4294950911U; adapter->flags = adapter->flags & 4286578687U; __min1 = 16; tmp___0 = cpumask_weight(cpu_online_mask); __min2 = (int )tmp___0; rss = __min1 < __min2 ? __min1 : __min2; } } else { { __min1___0 = 4; tmp___1 = cpumask_weight(cpu_online_mask); __min2___0 = (int )tmp___1; rss = __min1___0 < __min2___0 ? __min1___0 : __min2___0; } } { adapter->ring_feature[1].offset = 0U; adapter->ring_feature[2].limit = (u16 )rss; msleep(100U); } return (0); } } static int ixgbe_pci_sriov_enable(struct pci_dev *dev , int num_vfs ) { struct ixgbe_adapter *adapter ; void *tmp ; int err ; int i ; int pre_existing_vfs ; int tmp___0 ; { { tmp = pci_get_drvdata___0(dev); adapter = (struct ixgbe_adapter *)tmp; err = 0; tmp___0 = pci_num_vf(dev); pre_existing_vfs = tmp___0; } if (pre_existing_vfs != 0 && pre_existing_vfs != num_vfs) { { err = ixgbe_disable_sriov(adapter); } } else if (pre_existing_vfs != 0 && pre_existing_vfs == num_vfs) { goto out; } else { } if (err != 0) { goto err_out; } else { } if (num_vfs > 63) { err = -1; goto err_out; } else { } { adapter->num_vfs = (unsigned int )num_vfs; err = __ixgbe_enable_sriov(adapter); } if (err != 0) { goto err_out; } else { } i = 0; goto ldv_51737; ldv_51736: { ixgbe_vf_configuration(dev, (unsigned int )(i | 268435456)); i = i + 1; } ldv_51737: ; if ((unsigned int )i < adapter->num_vfs) { goto ldv_51736; } else { } { err = pci_enable_sriov(dev, num_vfs); } if (err != 0) { { dev_warn((struct device const *)(& (adapter->pdev)->dev), "Failed to enable PCI sriov: %d\n", err); } goto err_out; } else { } { ixgbe_sriov_reinit(adapter); } out: ; return (num_vfs); err_out: ; return (err); return (0); } } static int ixgbe_pci_sriov_disable(struct pci_dev *dev ) { struct ixgbe_adapter *adapter ; void *tmp ; int err ; u32 current_flags ; { { tmp = pci_get_drvdata___0(dev); adapter = (struct ixgbe_adapter *)tmp; current_flags = adapter->flags; err = ixgbe_disable_sriov(adapter); } if (err == 0 && current_flags != adapter->flags) { { ixgbe_sriov_reinit(adapter); } } else { } return (err); } } int ixgbe_pci_sriov_configure(struct pci_dev *dev , int num_vfs ) { int tmp ; int tmp___0 ; { if (num_vfs == 0) { { tmp = ixgbe_pci_sriov_disable(dev); } return (tmp); } else { { tmp___0 = ixgbe_pci_sriov_enable(dev, num_vfs); } return (tmp___0); } } } static int ixgbe_set_vf_multicasts(struct ixgbe_adapter *adapter , u32 *msgbuf , u32 vf ) { int entries ; u16 *hash_list ; struct vf_data_storage *vfinfo ; struct ixgbe_hw *hw ; int i ; u32 vector_bit ; u32 vector_reg ; u32 mta_reg ; int _min1 ; int _min2 ; { entries = (int )((*msgbuf & 16711680U) >> 16); hash_list = (u16 *)msgbuf + 1U; vfinfo = adapter->vfinfo + (unsigned long )vf; hw = & adapter->hw; _min1 = entries; _min2 = 30; entries = _min1 < _min2 ? _min1 : _min2; vfinfo->num_vf_mc_hashes = (u16 )entries; i = 0; goto ldv_51766; ldv_51765: vfinfo->vf_mc_hashes[i] = *(hash_list + (unsigned long )i); i = i + 1; ldv_51766: ; if (i < entries) { goto ldv_51765; } else { } i = 0; goto ldv_51769; ldv_51768: { vector_reg = (u32 )((int )vfinfo->vf_mc_hashes[i] >> 5) & 127U; vector_bit = (u32 )vfinfo->vf_mc_hashes[i] & 31U; mta_reg = ixgbe_read_reg(hw, (vector_reg + 5248U) * 4U); mta_reg = mta_reg | (u32 )(1 << (int )vector_bit); ixgbe_write_reg(hw, (vector_reg + 5248U) * 4U, mta_reg); i = i + 1; } ldv_51769: ; if (i < (int )vfinfo->num_vf_mc_hashes) { goto ldv_51768; } else { } return (0); } } static void ixgbe_restore_vf_macvlans(struct ixgbe_adapter *adapter ) { struct ixgbe_hw *hw ; struct list_head *pos ; struct vf_macvlans *entry ; struct list_head const *__mptr ; { hw = & adapter->hw; pos = adapter->vf_mvs.l.next; goto ldv_51780; ldv_51779: __mptr = (struct list_head const *)pos; entry = (struct vf_macvlans *)__mptr; if (! entry->free) { { (*(hw->mac.ops.set_rar))(hw, (u32 )entry->rar_entry, (u8 *)(& entry->vf_macvlan), (u32 )entry->vf, 2147483648U); } } else { } pos = pos->next; ldv_51780: ; if ((unsigned long )pos != (unsigned long )(& adapter->vf_mvs.l)) { goto ldv_51779; } else { } return; } } void ixgbe_restore_vf_multicasts(struct ixgbe_adapter *adapter ) { struct ixgbe_hw *hw ; struct vf_data_storage *vfinfo ; int i ; int j ; u32 vector_bit ; u32 vector_reg ; u32 mta_reg ; { hw = & adapter->hw; i = 0; goto ldv_51796; ldv_51795: vfinfo = adapter->vfinfo + (unsigned long )i; j = 0; goto ldv_51793; ldv_51792: { hw->addr_ctrl.mta_in_use = hw->addr_ctrl.mta_in_use + 1U; vector_reg = (u32 )((int )vfinfo->vf_mc_hashes[j] >> 5) & 127U; vector_bit = (u32 )vfinfo->vf_mc_hashes[j] & 31U; mta_reg = ixgbe_read_reg(hw, (vector_reg + 5248U) * 4U); mta_reg = mta_reg | (u32 )(1 << (int )vector_bit); ixgbe_write_reg(hw, (vector_reg + 5248U) * 4U, mta_reg); j = j + 1; } ldv_51793: ; if (j < (int )vfinfo->num_vf_mc_hashes) { goto ldv_51792; } else { } i = i + 1; ldv_51796: ; if ((unsigned int )i < adapter->num_vfs) { goto ldv_51795; } else { } { ixgbe_restore_vf_macvlans(adapter); } return; } } static int ixgbe_set_vf_vlan(struct ixgbe_adapter *adapter , int add , int vid , u32 vf ) { s32 tmp ; { if ((vid | add) == 0) { return (0); } else { } { tmp = (*(adapter->hw.mac.ops.set_vfta))(& adapter->hw, (u32 )vid, vf, add != 0); } return (tmp); } } static s32 ixgbe_set_vf_lpe(struct ixgbe_adapter *adapter , u32 *msgbuf , u32 vf ) { struct ixgbe_hw *hw ; int max_frame ; u32 max_frs ; struct net_device *dev ; int pf_max_frame ; u32 reg_offset ; u32 vf_shift ; u32 vfre ; s32 err ; { hw = & adapter->hw; max_frame = (int )*(msgbuf + 1UL); if ((unsigned int )adapter->hw.mac.type == 2U) { dev = adapter->netdev; pf_max_frame = (int )(dev->mtu + 14U); err = 0; { if ((adapter->vfinfo + (unsigned long )vf)->vf_api == 2U) { goto case_2; } else { } goto switch_default; case_2: /* CIL Label */ ; if (pf_max_frame > 1514) { goto ldv_51819; } else { } switch_default: /* CIL Label */ ; if (pf_max_frame > 1514 || max_frame > 1518) { err = -22; } else { } goto ldv_51819; switch_break: /* CIL Label */ ; } ldv_51819: { vf_shift = vf & 31U; reg_offset = vf / 32U; vfre = ixgbe_read_reg(hw, (reg_offset + 5240U) * 4U); } if (err != 0) { vfre = vfre & (u32 )(~ (1 << (int )vf_shift)); } else { vfre = vfre | (u32 )(1 << (int )vf_shift); } { ixgbe_write_reg(hw, (reg_offset + 5240U) * 4U, vfre); } if (err != 0) { if ((int )adapter->msg_enable & 1) { { netdev_err((struct net_device const *)adapter->netdev, "VF max_frame %d out of range\n", max_frame); } } else { } return (err); } else { } } else { } if (max_frame > 9728) { if ((int )adapter->msg_enable & 1) { { netdev_err((struct net_device const *)adapter->netdev, "VF max_frame %d out of range\n", max_frame); } } else { } return (-22); } else { } { max_frs = ixgbe_read_reg(hw, 17000U); max_frs = max_frs & 4294901760U; max_frs = max_frs >> 16; } if (max_frs < (u32 )max_frame) { { max_frs = (u32 )(max_frame << 16); ixgbe_write_reg(hw, 17000U, max_frs); } } else { } if (((int )adapter->msg_enable & 8192) != 0) { { netdev_info((struct net_device const *)adapter->netdev, "VF requests change max MTU to %d\n", max_frame); } } else { } return (0); } } static void ixgbe_set_vmolr(struct ixgbe_hw *hw , u32 vf , bool aupe ) { u32 vmolr ; u32 tmp ; { { tmp = ixgbe_read_reg(hw, (vf + 15360U) * 4U); vmolr = tmp; vmolr = vmolr | 167772160U; } if ((int )aupe) { vmolr = vmolr | 16777216U; } else { vmolr = vmolr & 4278190079U; } { ixgbe_write_reg(hw, (vf + 15360U) * 4U, vmolr); } return; } } static void ixgbe_clear_vmvir(struct ixgbe_adapter *adapter , u32 vf ) { struct ixgbe_hw *hw ; { { hw = & adapter->hw; ixgbe_write_reg(hw, (vf + 8192U) * 4U, 0U); } return; } } __inline static void ixgbe_vf_reset_event(struct ixgbe_adapter *adapter , u32 vf ) { struct ixgbe_hw *hw ; struct vf_data_storage *vfinfo ; int rar_entry ; u8 num_tcs ; int tmp ; { { hw = & adapter->hw; vfinfo = adapter->vfinfo + (unsigned long )vf; rar_entry = (int )((hw->mac.num_rar_entries - vf) - 1U); tmp = netdev_get_num_tc(adapter->netdev); num_tcs = (u8 )tmp; ixgbe_set_vf_vlan(adapter, 1, (int )vfinfo->pf_vlan, vf); ixgbe_set_vmolr(hw, vf, (unsigned int )vfinfo->pf_vlan == 0U); } if ((unsigned int )vfinfo->pf_vlan == 0U && ((unsigned int )vfinfo->pf_qos == 0U && (unsigned int )num_tcs == 0U)) { { ixgbe_clear_vmvir(adapter, vf); } } else { if ((unsigned int )vfinfo->pf_qos != 0U || (unsigned int )num_tcs == 0U) { { ixgbe_set_vmvir(adapter, (int )vfinfo->pf_vlan, (int )vfinfo->pf_qos, vf); } } else { { ixgbe_set_vmvir(adapter, (int )vfinfo->pf_vlan, (int )adapter->default_up, vf); } } if ((unsigned int )vfinfo->spoofchk_enabled != 0U) { { (*(hw->mac.ops.set_vlan_anti_spoofing))(hw, 1, (int )vf); } } else { } } { (adapter->vfinfo + (unsigned long )vf)->num_vf_mc_hashes = 0U; ixgbe_set_rx_mode(adapter->netdev); (*(hw->mac.ops.clear_rar))(hw, (u32 )rar_entry); (adapter->vfinfo + (unsigned long )vf)->vf_api = 0U; } return; } } static int ixgbe_set_vf_mac(struct ixgbe_adapter *adapter , int vf , unsigned char *mac_addr ) { struct ixgbe_hw *hw ; int rar_entry ; { { hw = & adapter->hw; rar_entry = (int )(hw->mac.num_rar_entries + (u32 )(~ vf)); memcpy((void *)(& (adapter->vfinfo + (unsigned long )vf)->vf_mac_addresses), (void const *)mac_addr, 6UL); (*(hw->mac.ops.set_rar))(hw, (u32 )rar_entry, mac_addr, (u32 )vf, 2147483648U); } return (0); } } static int ixgbe_set_vf_macvlan(struct ixgbe_adapter *adapter , int vf , int index , unsigned char *mac_addr ) { struct ixgbe_hw *hw ; struct list_head *pos ; struct vf_macvlans *entry ; struct list_head const *__mptr ; struct list_head const *__mptr___0 ; { hw = & adapter->hw; if (index <= 1) { pos = adapter->vf_mvs.l.next; goto ldv_51859; ldv_51858: __mptr = (struct list_head const *)pos; entry = (struct vf_macvlans *)__mptr; if (entry->vf == vf) { { entry->vf = -1; entry->free = 1; entry->is_macvlan = 0; (*(hw->mac.ops.clear_rar))(hw, (u32 )entry->rar_entry); } } else { } pos = pos->next; ldv_51859: ; if ((unsigned long )pos != (unsigned long )(& adapter->vf_mvs.l)) { goto ldv_51858; } else { } } else { } if (index == 0) { return (0); } else { } entry = (struct vf_macvlans *)0; pos = adapter->vf_mvs.l.next; goto ldv_51865; ldv_51864: __mptr___0 = (struct list_head const *)pos; entry = (struct vf_macvlans *)__mptr___0; if ((int )entry->free) { goto ldv_51863; } else { } pos = pos->next; ldv_51865: ; if ((unsigned long )pos != (unsigned long )(& adapter->vf_mvs.l)) { goto ldv_51864; } else { } ldv_51863: ; if ((unsigned long )entry == (unsigned long )((struct vf_macvlans *)0) || ! entry->free) { return (-28); } else { } { entry->free = 0; entry->is_macvlan = 1; entry->vf = vf; memcpy((void *)(& entry->vf_macvlan), (void const *)mac_addr, 6UL); (*(hw->mac.ops.set_rar))(hw, (u32 )entry->rar_entry, mac_addr, (u32 )vf, 2147483648U); } return (0); } } int ixgbe_vf_configuration(struct pci_dev *pdev , unsigned int event_mask ) { struct ixgbe_adapter *adapter ; void *tmp ; unsigned int vfn ; bool enable ; { { tmp = pci_get_drvdata___0(pdev); adapter = (struct ixgbe_adapter *)tmp; vfn = event_mask & 63U; enable = (event_mask & 268435456U) != 0U; } if ((int )enable) { { eth_zero_addr((u8 *)(& (adapter->vfinfo + (unsigned long )vfn)->vf_mac_addresses)); } } else { } return (0); } } static int ixgbe_vf_reset_msg(struct ixgbe_adapter *adapter , u32 vf ) { struct ixgbe_ring_feature *vmdq ; struct ixgbe_hw *hw ; unsigned char *vf_mac ; u32 reg ; u32 reg_offset ; u32 vf_shift ; u32 msgbuf[4U] ; u8 *addr ; u32 q_per_pool ; int i ; bool tmp ; int tmp___0 ; struct net_device *dev ; int pf_max_frame ; bool tmp___1 ; int tmp___2 ; { vmdq = (struct ixgbe_ring_feature *)(& adapter->ring_feature) + 1UL; hw = & adapter->hw; vf_mac = (unsigned char *)(& (adapter->vfinfo + (unsigned long )vf)->vf_mac_addresses); msgbuf[0] = 0U; msgbuf[1] = 0U; msgbuf[2] = 0U; msgbuf[3] = 0U; addr = (u8 *)(& msgbuf) + 1U; q_per_pool = (u32 )(- ((int )vmdq->mask) & (int )vmdq->mask); if (((int )adapter->msg_enable & 2) != 0) { { netdev_info((struct net_device const *)adapter->netdev, "VF Reset msg received from vf %d\n", vf); } } else { } { ixgbe_vf_reset_event(adapter, vf); tmp = is_zero_ether_addr((u8 const *)vf_mac); } if (tmp) { tmp___0 = 0; } else { tmp___0 = 1; } if (tmp___0) { { ixgbe_set_vf_mac(adapter, (int )vf, vf_mac); } } else { } { vf_shift = vf & 31U; reg_offset = vf / 32U; reg = ixgbe_read_reg(hw, (reg_offset + 8260U) * 4U); reg = reg | (u32 )(1 << (int )vf_shift); ixgbe_write_reg(hw, (reg_offset + 8260U) * 4U, reg); i = (int )(vf * q_per_pool); } goto ldv_51888; ldv_51887: { ixgbe_read_reg(hw, 8U); reg = 65537U; reg = reg | (u32 )(i << 8); ixgbe_write_reg(hw, 12036U, reg); i = i + 1; } ldv_51888: ; if ((u32 )i < (vf + 1U) * q_per_pool) { goto ldv_51887; } else { } { reg = ixgbe_read_reg(hw, (reg_offset + 5240U) * 4U); reg = reg | (u32 )(1 << (int )vf_shift); } if ((unsigned int )adapter->hw.mac.type == 2U) { dev = adapter->netdev; pf_max_frame = (int )(dev->mtu + 14U); if (pf_max_frame > 1514) { reg = reg & (u32 )(~ (1 << (int )vf_shift)); } else { } } else { } { ixgbe_write_reg(hw, (reg_offset + 5240U) * 4U, reg); (adapter->vfinfo + (unsigned long )vf)->clear_to_send = 1; reg = ixgbe_read_reg(hw, (reg_offset + 8676U) * 4U); reg = reg | (u32 )(1 << (int )vf_shift); ixgbe_write_reg(hw, (reg_offset + 8676U) * 4U, reg); i = 0; } goto ldv_51893; ldv_51892: { ixgbe_write_reg(hw, (q_per_pool * vf + (u32 )i) * 64U + 24636U, 0U); ixgbe_write_reg(hw, (q_per_pool * vf + (u32 )i) * 64U + 24632U, 0U); i = i + 1; } ldv_51893: ; if ((u32 )i < q_per_pool) { goto ldv_51892; } else { } { msgbuf[0] = 1U; tmp___1 = is_zero_ether_addr((u8 const *)vf_mac); } if (tmp___1) { tmp___2 = 0; } else { tmp___2 = 1; } if (tmp___2) { { msgbuf[0] = msgbuf[0] | 2147483648U; memcpy((void *)addr, (void const *)vf_mac, 6UL); } } else { { msgbuf[0] = msgbuf[0] | 1073741824U; dev_warn((struct device const *)(& (adapter->pdev)->dev), "VF %d has no MAC address assigned, you may have to assign one manually\n", vf); } } { msgbuf[3] = (u32 )hw->mac.mc_filter_type; ixgbe_write_mbx(hw, (u32 *)(& msgbuf), 4, (int )((u16 )vf)); } return (0); } } static int ixgbe_set_vf_mac_addr(struct ixgbe_adapter *adapter , u32 *msgbuf , u32 vf ) { u8 *new_mac ; bool tmp ; int tmp___0 ; bool tmp___1 ; int tmp___2 ; int tmp___3 ; { { new_mac = (u8 *)msgbuf + 1U; tmp = is_valid_ether_addr((u8 const *)new_mac); } if (tmp) { tmp___0 = 0; } else { tmp___0 = 1; } if (tmp___0) { if ((int )adapter->msg_enable & 1) { { netdev_warn((struct net_device const *)adapter->netdev, "VF %d attempted to set invalid mac\n", vf); } } else { } return (-1); } else { } if ((int )(adapter->vfinfo + (unsigned long )vf)->pf_set_mac) { { tmp___1 = ether_addr_equal((u8 const *)(& (adapter->vfinfo + (unsigned long )vf)->vf_mac_addresses), (u8 const *)new_mac); } if (tmp___1) { tmp___2 = 0; } else { tmp___2 = 1; } if (tmp___2) { if ((int )adapter->msg_enable & 1) { { netdev_warn((struct net_device const *)adapter->netdev, "VF %d attempted to override administratively set MAC address\nReload the VF driver to resume operations\n", vf); } } else { } return (-1); } else { } } else { } { tmp___3 = ixgbe_set_vf_mac(adapter, (int )vf, new_mac); } return (tmp___3 < 0); } } static int ixgbe_find_vlvf_entry(struct ixgbe_hw *hw , u32 vlan ) { u32 vlvf ; s32 regindex ; { if (vlan == 0U) { return (0); } else { } regindex = 1; goto ldv_51909; ldv_51908: { vlvf = ixgbe_read_reg(hw, (u32 )((regindex + 15424) * 4)); } if ((vlvf & 4095U) == vlan) { goto ldv_51907; } else { } regindex = regindex + 1; ldv_51909: ; if (regindex <= 63) { goto ldv_51908; } else { } ldv_51907: ; if (regindex > 63) { regindex = -1; } else { } return (regindex); } } static int ixgbe_set_vf_vlan_msg(struct ixgbe_adapter *adapter , u32 *msgbuf , u32 vf ) { struct ixgbe_hw *hw ; int add ; int vid ; int err ; s32 reg_ndx ; u32 vlvf ; u32 bits ; u8 tcs ; int tmp ; u32 tmp___0 ; u32 tmp___1 ; int tmp___3 ; { { hw = & adapter->hw; add = (int )((*msgbuf & 16711680U) >> 16); vid = (int )*(msgbuf + 1UL) & 4095; tmp = netdev_get_num_tc(adapter->netdev); tcs = (u8 )tmp; } if ((unsigned int )(adapter->vfinfo + (unsigned long )vf)->pf_vlan != 0U || (unsigned int )tcs != 0U) { if ((int )adapter->msg_enable & 1) { { netdev_warn((struct net_device const *)adapter->netdev, "VF %d attempted to override administratively set VLAN configuration\nReload the VF driver to resume operations\n", vf); } } else { } return (-1); } else { } if (add != 0) { (adapter->vfinfo + (unsigned long )vf)->vlan_count = (u16 )((int )(adapter->vfinfo + (unsigned long )vf)->vlan_count + 1); } else if ((unsigned int )(adapter->vfinfo + (unsigned long )vf)->vlan_count != 0U) { (adapter->vfinfo + (unsigned long )vf)->vlan_count = (u16 )((int )(adapter->vfinfo + (unsigned long )vf)->vlan_count - 1); } else { } if (add != 0 && ((adapter->netdev)->flags & 256U) != 0U) { { err = ixgbe_set_vf_vlan(adapter, add, vid, (u32 )adapter->ring_feature[1].offset); } } else { } { err = ixgbe_set_vf_vlan(adapter, add, vid, vf); } if (err == 0 && (unsigned int )(adapter->vfinfo + (unsigned long )vf)->spoofchk_enabled != 0U) { { (*(hw->mac.ops.set_vlan_anti_spoofing))(hw, 1, (int )vf); } } else { } if (add == 0 && ((adapter->netdev)->flags & 256U) != 0U) { { reg_ndx = ixgbe_find_vlvf_entry(hw, (u32 )vid); } if (reg_ndx < 0) { goto out; } else { } { vlvf = ixgbe_read_reg(hw, (u32 )((reg_ndx + 15424) * 4)); } if ((int )adapter->ring_feature[1].offset <= 31) { { bits = ixgbe_read_reg(hw, (u32 )((reg_ndx + 7744) * 8)); bits = bits & (u32 )(~ (1 << (int )adapter->ring_feature[1].offset)); tmp___0 = ixgbe_read_reg(hw, (u32 )((reg_ndx + 7744) * 8 + 1)); bits = bits | tmp___0; } } else { { bits = ixgbe_read_reg(hw, (u32 )((reg_ndx + 7744) * 8 + 1)); bits = bits & (u32 )(~ (1 << ((int )adapter->ring_feature[1].offset + -32))); tmp___1 = ixgbe_read_reg(hw, (u32 )((reg_ndx + 7744) * 8)); bits = bits | tmp___1; } } if ((vlvf & 4095U) == (u32 )vid) { { tmp___3 = variable_test_bit((long )vid, (unsigned long const volatile *)(& adapter->active_vlans)); } if (tmp___3 == 0) { if (bits == 0U) { { ixgbe_set_vf_vlan(adapter, add, vid, (u32 )adapter->ring_feature[1].offset); } } else { } } else { } } else { } } else { } out: ; return (err); } } static int ixgbe_set_vf_macvlan_msg(struct ixgbe_adapter *adapter , u32 *msgbuf , u32 vf ) { u8 *new_mac ; int index ; int err ; bool tmp ; int tmp___0 ; { new_mac = (u8 *)msgbuf + 1U; index = (int )((*msgbuf & 16711680U) >> 16); if ((int )(adapter->vfinfo + (unsigned long )vf)->pf_set_mac && index > 0) { if ((int )adapter->msg_enable & 1) { { netdev_warn((struct net_device const *)adapter->netdev, "VF %d requested MACVLAN filter but is administratively denied\n", vf); } } else { } return (-1); } else { } if (index != 0) { { tmp = is_valid_ether_addr((u8 const *)new_mac); } if (tmp) { tmp___0 = 0; } else { tmp___0 = 1; } if (tmp___0) { if ((int )adapter->msg_enable & 1) { { netdev_warn((struct net_device const *)adapter->netdev, "VF %d attempted to set invalid mac\n", vf); } } else { } return (-1); } else { } if ((unsigned int )(adapter->vfinfo + (unsigned long )vf)->spoofchk_enabled != 0U) { { ixgbe_ndo_set_vf_spoofchk(adapter->netdev, (int )vf, 0); } } else { } } else { } { err = ixgbe_set_vf_macvlan(adapter, (int )vf, index, new_mac); } if (err == -28) { if ((int )adapter->msg_enable & 1) { { netdev_warn((struct net_device const *)adapter->netdev, "VF %d has requested a MACVLAN filter but there is no space for it\n", vf); } } else { } } else { } return (err < 0); } } static int ixgbe_negotiate_vf_api(struct ixgbe_adapter *adapter , u32 *msgbuf , u32 vf ) { int api ; { api = (int )*(msgbuf + 1UL); { if (api == 0) { goto case_0; } else { } if (api == 2) { goto case_2; } else { } goto switch_default; case_0: /* CIL Label */ ; case_2: /* CIL Label */ (adapter->vfinfo + (unsigned long )vf)->vf_api = (unsigned int )api; return (0); switch_default: /* CIL Label */ ; goto ldv_51941; switch_break: /* CIL Label */ ; } ldv_51941: ; if ((int )adapter->msg_enable & 1) { { netdev_info((struct net_device const *)adapter->netdev, "VF %d requested invalid api version %u\n", vf, api); } } else { } return (-1); } } static int ixgbe_get_vf_queues(struct ixgbe_adapter *adapter , u32 *msgbuf , u32 vf ) { struct net_device *dev ; struct ixgbe_ring_feature *vmdq ; unsigned int default_tc ; u8 num_tcs ; int tmp ; int tmp___0 ; { { dev = adapter->netdev; vmdq = (struct ixgbe_ring_feature *)(& adapter->ring_feature) + 1UL; default_tc = 0U; tmp = netdev_get_num_tc(dev); num_tcs = (u8 )tmp; } { if ((adapter->vfinfo + (unsigned long )vf)->vf_api == 1U) { goto case_1; } else { } if ((adapter->vfinfo + (unsigned long )vf)->vf_api == 2U) { goto case_2; } else { } goto switch_default; case_1: /* CIL Label */ ; case_2: /* CIL Label */ ; goto ldv_51953; switch_default: /* CIL Label */ ; return (-1); switch_break: /* CIL Label */ ; } ldv_51953: *(msgbuf + 1UL) = (u32 )(- ((int )vmdq->mask) & (int )vmdq->mask); *(msgbuf + 2UL) = (u32 )(- ((int )vmdq->mask) & (int )vmdq->mask); if ((unsigned int )num_tcs > 1U) { { tmp___0 = netdev_get_prio_tc_map((struct net_device const *)dev, (u32 )adapter->default_up); default_tc = (unsigned int )tmp___0; } } else { } if ((unsigned int )num_tcs != 0U) { *(msgbuf + 3UL) = (u32 )num_tcs; } else if ((unsigned int )(adapter->vfinfo + (unsigned long )vf)->pf_vlan != 0U || (unsigned int )(adapter->vfinfo + (unsigned long )vf)->pf_qos != 0U) { *(msgbuf + 3UL) = 1U; } else { *(msgbuf + 3UL) = 0U; } *(msgbuf + 4UL) = default_tc; return (0); } } static int ixgbe_rcv_msg_from_vf(struct ixgbe_adapter *adapter , u32 vf ) { u32 mbx_size ; u32 msgbuf[16U] ; struct ixgbe_hw *hw ; s32 retval ; int tmp ; { { mbx_size = 16U; hw = & adapter->hw; retval = ixgbe_read_mbx(hw, (u32 *)(& msgbuf), (int )((u16 )mbx_size), (int )((u16 )vf)); } if (retval != 0) { { printk("\vixgbe: Error receiving message from VF\n"); } return (retval); } else { } if ((msgbuf[0] & 3221225472U) != 0U) { return (retval); } else { } { ixgbe_read_reg(hw, 8U); } if (msgbuf[0] == 1U) { { tmp = ixgbe_vf_reset_msg(adapter, vf); } return (tmp); } else { } if (! (adapter->vfinfo + (unsigned long )vf)->clear_to_send) { { msgbuf[0] = msgbuf[0] | 1073741824U; ixgbe_write_mbx(hw, (u32 *)(& msgbuf), 1, (int )((u16 )vf)); } return (retval); } else { } { if ((msgbuf[0] & 65535U) == 2U) { goto case_2; } else { } if ((msgbuf[0] & 65535U) == 3U) { goto case_3; } else { } if ((msgbuf[0] & 65535U) == 4U) { goto case_4; } else { } if ((msgbuf[0] & 65535U) == 5U) { goto case_5; } else { } if ((msgbuf[0] & 65535U) == 6U) { goto case_6; } else { } if ((msgbuf[0] & 65535U) == 8U) { goto case_8; } else { } if ((msgbuf[0] & 65535U) == 9U) { goto case_9; } else { } goto switch_default; case_2: /* CIL Label */ { retval = ixgbe_set_vf_mac_addr(adapter, (u32 *)(& msgbuf), vf); } goto ldv_51964; case_3: /* CIL Label */ { retval = ixgbe_set_vf_multicasts(adapter, (u32 *)(& msgbuf), vf); } goto ldv_51964; case_4: /* CIL Label */ { retval = ixgbe_set_vf_vlan_msg(adapter, (u32 *)(& msgbuf), vf); } goto ldv_51964; case_5: /* CIL Label */ { retval = ixgbe_set_vf_lpe(adapter, (u32 *)(& msgbuf), vf); } goto ldv_51964; case_6: /* CIL Label */ { retval = ixgbe_set_vf_macvlan_msg(adapter, (u32 *)(& msgbuf), vf); } goto ldv_51964; case_8: /* CIL Label */ { retval = ixgbe_negotiate_vf_api(adapter, (u32 *)(& msgbuf), vf); } goto ldv_51964; case_9: /* CIL Label */ { retval = ixgbe_get_vf_queues(adapter, (u32 *)(& msgbuf), vf); } goto ldv_51964; switch_default: /* CIL Label */ ; if ((int )adapter->msg_enable & 1) { { netdev_err((struct net_device const *)adapter->netdev, "Unhandled Msg %8.8x\n", msgbuf[0]); } } else { } retval = -100; goto ldv_51964; switch_break: /* CIL Label */ ; } ldv_51964: ; if (retval != 0) { msgbuf[0] = msgbuf[0] | 1073741824U; } else { msgbuf[0] = msgbuf[0] | 2147483648U; } { msgbuf[0] = msgbuf[0] | 536870912U; ixgbe_write_mbx(hw, (u32 *)(& msgbuf), (int )((u16 )mbx_size), (int )((u16 )vf)); } return (retval); } } static void ixgbe_rcv_ack_from_vf(struct ixgbe_adapter *adapter , u32 vf ) { struct ixgbe_hw *hw ; u32 msg ; { hw = & adapter->hw; msg = 1073741824U; if (! (adapter->vfinfo + (unsigned long )vf)->clear_to_send) { { ixgbe_write_mbx(hw, & msg, 1, (int )((u16 )vf)); } } else { } return; } } void ixgbe_msg_task(struct ixgbe_adapter *adapter ) { struct ixgbe_hw *hw ; u32 vf ; s32 tmp ; s32 tmp___0 ; s32 tmp___1 ; { hw = & adapter->hw; vf = 0U; goto ldv_51984; ldv_51983: { tmp = ixgbe_check_for_rst(hw, (int )((u16 )vf)); } if (tmp == 0) { { ixgbe_vf_reset_event(adapter, vf); } } else { } { tmp___0 = ixgbe_check_for_msg(hw, (int )((u16 )vf)); } if (tmp___0 == 0) { { ixgbe_rcv_msg_from_vf(adapter, vf); } } else { } { tmp___1 = ixgbe_check_for_ack(hw, (int )((u16 )vf)); } if (tmp___1 == 0) { { ixgbe_rcv_ack_from_vf(adapter, vf); } } else { } vf = vf + 1U; ldv_51984: ; if (vf < adapter->num_vfs) { goto ldv_51983; } else { } return; } } void ixgbe_disable_tx_rx(struct ixgbe_adapter *adapter ) { struct ixgbe_hw *hw ; { { hw = & adapter->hw; ixgbe_write_reg(hw, 33040U, 0U); ixgbe_write_reg(hw, 33044U, 0U); ixgbe_write_reg(hw, 20960U, 0U); ixgbe_write_reg(hw, 20964U, 0U); } return; } } void ixgbe_ping_all_vfs(struct ixgbe_adapter *adapter ) { struct ixgbe_hw *hw ; u32 ping ; int i ; { hw = & adapter->hw; i = 0; goto ldv_51997; ldv_51996: ping = 256U; if ((int )(adapter->vfinfo + (unsigned long )i)->clear_to_send) { ping = ping | 536870912U; } else { } { ixgbe_write_mbx(hw, & ping, 1, (int )((u16 )i)); i = i + 1; } ldv_51997: ; if ((unsigned int )i < adapter->num_vfs) { goto ldv_51996; } else { } return; } } int ixgbe_ndo_set_vf_mac(struct net_device *netdev , int vf , u8 *mac ) { struct ixgbe_adapter *adapter ; void *tmp ; bool tmp___0 ; int tmp___1 ; int tmp___2 ; int tmp___3 ; { { tmp = netdev_priv((struct net_device const *)netdev); adapter = (struct ixgbe_adapter *)tmp; tmp___0 = is_valid_ether_addr((u8 const *)mac); } if (tmp___0) { tmp___1 = 0; } else { tmp___1 = 1; } if (tmp___1 || (unsigned int )vf >= adapter->num_vfs) { return (-22); } else { } { (adapter->vfinfo + (unsigned long )vf)->pf_set_mac = 1; _dev_info((struct device const *)(& (adapter->pdev)->dev), "setting MAC %pM on VF %d\n", mac, vf); _dev_info((struct device const *)(& (adapter->pdev)->dev), "Reload the VF driver to make this change effective."); tmp___2 = constant_test_bit(2L, (unsigned long const volatile *)(& adapter->state)); } if (tmp___2 != 0) { { dev_warn((struct device const *)(& (adapter->pdev)->dev), "The VF MAC address has been set, but the PF device is not up.\n"); dev_warn((struct device const *)(& (adapter->pdev)->dev), "Bring the PF device up before attempting to use the VF device.\n"); } } else { } { tmp___3 = ixgbe_set_vf_mac(adapter, vf, mac); } return (tmp___3); } } int ixgbe_ndo_set_vf_vlan(struct net_device *netdev , int vf , u16 vlan , u8 qos ) { int err ; struct ixgbe_adapter *adapter ; void *tmp ; struct ixgbe_hw *hw ; int tmp___0 ; { { err = 0; tmp = netdev_priv((struct net_device const *)netdev); adapter = (struct ixgbe_adapter *)tmp; hw = & adapter->hw; } if (((unsigned int )vf >= adapter->num_vfs || (unsigned int )vlan > 4095U) || (unsigned int )qos > 7U) { return (-22); } else { } if ((unsigned int )vlan != 0U || (unsigned int )qos != 0U) { if ((unsigned int )(adapter->vfinfo + (unsigned long )vf)->pf_vlan != 0U) { { err = ixgbe_set_vf_vlan(adapter, 0, (int )(adapter->vfinfo + (unsigned long )vf)->pf_vlan, (u32 )vf); } } else { } if (err != 0) { goto out; } else { } { err = ixgbe_set_vf_vlan(adapter, 1, (int )vlan, (u32 )vf); } if (err != 0) { goto out; } else { } { ixgbe_set_vmvir(adapter, (int )vlan, (int )qos, (u32 )vf); ixgbe_set_vmolr(hw, (u32 )vf, 0); } if ((unsigned int )(adapter->vfinfo + (unsigned long )vf)->spoofchk_enabled != 0U) { { (*(hw->mac.ops.set_vlan_anti_spoofing))(hw, 1, vf); } } else { } { (adapter->vfinfo + (unsigned long )vf)->vlan_count = (u16 )((int )(adapter->vfinfo + (unsigned long )vf)->vlan_count + 1); (adapter->vfinfo + (unsigned long )vf)->pf_vlan = vlan; (adapter->vfinfo + (unsigned long )vf)->pf_qos = (u16 )qos; _dev_info((struct device const *)(& (adapter->pdev)->dev), "Setting VLAN %d, QOS 0x%x on VF %d\n", (int )vlan, (int )qos, vf); tmp___0 = constant_test_bit(2L, (unsigned long const volatile *)(& adapter->state)); } if (tmp___0 != 0) { { dev_warn((struct device const *)(& (adapter->pdev)->dev), "The VF VLAN has been set, but the PF device is not up.\n"); dev_warn((struct device const *)(& (adapter->pdev)->dev), "Bring the PF device up before attempting to use the VF device.\n"); } } else { } } else { { err = ixgbe_set_vf_vlan(adapter, 0, (int )(adapter->vfinfo + (unsigned long )vf)->pf_vlan, (u32 )vf); ixgbe_clear_vmvir(adapter, (u32 )vf); ixgbe_set_vmolr(hw, (u32 )vf, 1); (*(hw->mac.ops.set_vlan_anti_spoofing))(hw, 0, vf); } if ((unsigned int )(adapter->vfinfo + (unsigned long )vf)->vlan_count != 0U) { (adapter->vfinfo + (unsigned long )vf)->vlan_count = (u16 )((int )(adapter->vfinfo + (unsigned long )vf)->vlan_count - 1); } else { } (adapter->vfinfo + (unsigned long )vf)->pf_vlan = 0U; (adapter->vfinfo + (unsigned long )vf)->pf_qos = 0U; } out: ; return (err); } } static int ixgbe_link_mbps(struct ixgbe_adapter *adapter ) { { { if (adapter->link_speed == 8U) { goto case_8; } else { } if (adapter->link_speed == 32U) { goto case_32; } else { } if (adapter->link_speed == 128U) { goto case_128; } else { } goto switch_default; case_8: /* CIL Label */ ; return (100); case_32: /* CIL Label */ ; return (1000); case_128: /* CIL Label */ ; return (10000); switch_default: /* CIL Label */ ; return (0); switch_break: /* CIL Label */ ; } } } static void ixgbe_set_vf_rate_limit(struct ixgbe_adapter *adapter , int vf ) { struct ixgbe_ring_feature *vmdq ; struct ixgbe_hw *hw ; u32 bcnrc_val ; u16 queue ; u16 queues_per_pool ; u16 tx_rate ; unsigned int reg_idx ; { vmdq = (struct ixgbe_ring_feature *)(& adapter->ring_feature) + 1UL; hw = & adapter->hw; bcnrc_val = 0U; tx_rate = (adapter->vfinfo + (unsigned long )vf)->tx_rate; if ((unsigned int )tx_rate != 0U) { bcnrc_val = (u32 )adapter->vf_rate_link_speed; bcnrc_val = bcnrc_val << 14; bcnrc_val = bcnrc_val / (u32 )tx_rate; bcnrc_val = bcnrc_val & 268435455U; bcnrc_val = bcnrc_val | 2147483648U; } else { } { if ((unsigned int )hw->mac.type == 2U) { goto case_2; } else { } if ((unsigned int )hw->mac.type == 3U) { goto case_3; } else { } goto switch_default; case_2: /* CIL Label */ { ixgbe_write_reg(hw, 18816U, 4U); } goto ldv_52033; case_3: /* CIL Label */ { ixgbe_write_reg(hw, 18816U, 20U); } goto ldv_52033; switch_default: /* CIL Label */ ; goto ldv_52033; switch_break: /* CIL Label */ ; } ldv_52033: queues_per_pool = (u16 )((int )((short )(- ((int )vmdq->mask))) & (int )((short )vmdq->mask)); queue = 0U; goto ldv_52038; ldv_52037: { reg_idx = (unsigned int )(vf * (int )queues_per_pool + (int )queue); ixgbe_write_reg(hw, 18692U, reg_idx); ixgbe_write_reg(hw, 18820U, bcnrc_val); queue = (u16 )((int )queue + 1); } ldv_52038: ; if ((int )queue < (int )queues_per_pool) { goto ldv_52037; } else { } return; } } void ixgbe_check_vf_rate_limit(struct ixgbe_adapter *adapter ) { int i ; int tmp ; { if (adapter->vf_rate_link_speed == 0) { return; } else { } { tmp = ixgbe_link_mbps(adapter); } if (tmp != adapter->vf_rate_link_speed) { { adapter->vf_rate_link_speed = 0; _dev_info((struct device const *)(& (adapter->pdev)->dev), "Link speed has been changed. VF Transmit rate is disabled\n"); } } else { } i = 0; goto ldv_52045; ldv_52044: ; if (adapter->vf_rate_link_speed == 0) { (adapter->vfinfo + (unsigned long )i)->tx_rate = 0U; } else { } { ixgbe_set_vf_rate_limit(adapter, i); i = i + 1; } ldv_52045: ; if ((unsigned int )i < adapter->num_vfs) { goto ldv_52044; } else { } return; } } int ixgbe_ndo_set_vf_bw(struct net_device *netdev , int vf , int tx_rate ) { struct ixgbe_adapter *adapter ; void *tmp ; int link_speed ; { { tmp = netdev_priv((struct net_device const *)netdev); adapter = (struct ixgbe_adapter *)tmp; } if ((unsigned int )vf >= adapter->num_vfs) { return (-22); } else { } if (! adapter->link_up) { return (-22); } else { } { link_speed = ixgbe_link_mbps(adapter); } if (link_speed != 10000) { return (-22); } else { } if (tx_rate != 0 && (tx_rate <= 10 || tx_rate > link_speed)) { return (-22); } else { } { adapter->vf_rate_link_speed = link_speed; (adapter->vfinfo + (unsigned long )vf)->tx_rate = (u16 )tx_rate; ixgbe_set_vf_rate_limit(adapter, vf); } return (0); } } int ixgbe_ndo_set_vf_spoofchk(struct net_device *netdev , int vf , bool setting ) { struct ixgbe_adapter *adapter ; void *tmp ; int vf_target_reg ; int vf_target_shift ; struct ixgbe_hw *hw ; u32 regval ; { { tmp = netdev_priv((struct net_device const *)netdev); adapter = (struct ixgbe_adapter *)tmp; vf_target_reg = vf >> 3; vf_target_shift = vf % 8; hw = & adapter->hw; (adapter->vfinfo + (unsigned long )vf)->spoofchk_enabled = (u8 )setting; regval = ixgbe_read_reg(hw, (u32 )((vf_target_reg + 8320) * 4)); regval = regval & (u32 )(~ (1 << vf_target_shift)); regval = regval | (u32 )((int )setting << vf_target_shift); ixgbe_write_reg(hw, (u32 )((vf_target_reg + 8320) * 4), regval); } if ((unsigned int )(adapter->vfinfo + (unsigned long )vf)->vlan_count != 0U) { { vf_target_shift = vf_target_shift + 8; regval = ixgbe_read_reg(hw, (u32 )((vf_target_reg + 8320) * 4)); regval = regval & (u32 )(~ (1 << vf_target_shift)); regval = regval | (u32 )((int )setting << vf_target_shift); ixgbe_write_reg(hw, (u32 )((vf_target_reg + 8320) * 4), regval); } } else { } return (0); } } int ixgbe_ndo_get_vf_config(struct net_device *netdev , int vf , struct ifla_vf_info *ivi ) { struct ixgbe_adapter *adapter ; void *tmp ; { { tmp = netdev_priv((struct net_device const *)netdev); adapter = (struct ixgbe_adapter *)tmp; } if ((unsigned int )vf >= adapter->num_vfs) { return (-22); } else { } { ivi->vf = (__u32 )vf; memcpy((void *)(& ivi->mac), (void const *)(& (adapter->vfinfo + (unsigned long )vf)->vf_mac_addresses), 6UL); ivi->tx_rate = (__u32 )(adapter->vfinfo + (unsigned long )vf)->tx_rate; ivi->vlan = (__u32 )(adapter->vfinfo + (unsigned long )vf)->pf_vlan; ivi->qos = (__u32 )(adapter->vfinfo + (unsigned long )vf)->pf_qos; ivi->spoofchk = (__u32 )(adapter->vfinfo + (unsigned long )vf)->spoofchk_enabled; } return (0); } } static void *ldv_dev_get_drvdata_16___0(struct device const *dev ) { void *tmp ; { { tmp = ldv_dev_get_drvdata(dev); } return (tmp); } } extern void __udelay(unsigned long ) ; s32 ixgbe_read_mbx(struct ixgbe_hw *hw , u32 *msg , u16 size , u16 mbx_id ) { struct ixgbe_mbx_info *mbx ; s32 ret_val ; { mbx = & hw->mbx; ret_val = -100; if ((int )size > (int )mbx->size) { size = mbx->size; } else { } if ((unsigned long )mbx->ops.read != (unsigned long )((s32 (*)(struct ixgbe_hw * , u32 * , u16 , u16 ))0)) { { ret_val = (*(mbx->ops.read))(hw, msg, (int )size, (int )mbx_id); } } else { } return (ret_val); } } s32 ixgbe_write_mbx(struct ixgbe_hw *hw , u32 *msg , u16 size , u16 mbx_id ) { struct ixgbe_mbx_info *mbx ; s32 ret_val ; { mbx = & hw->mbx; ret_val = 0; if ((int )size > (int )mbx->size) { ret_val = -100; } else if ((unsigned long )mbx->ops.write != (unsigned long )((s32 (*)(struct ixgbe_hw * , u32 * , u16 , u16 ))0)) { { ret_val = (*(mbx->ops.write))(hw, msg, (int )size, (int )mbx_id); } } else { } return (ret_val); } } s32 ixgbe_check_for_msg(struct ixgbe_hw *hw , u16 mbx_id ) { struct ixgbe_mbx_info *mbx ; s32 ret_val ; { mbx = & hw->mbx; ret_val = -100; if ((unsigned long )mbx->ops.check_for_msg != (unsigned long )((s32 (*)(struct ixgbe_hw * , u16 ))0)) { { ret_val = (*(mbx->ops.check_for_msg))(hw, (int )mbx_id); } } else { } return (ret_val); } } s32 ixgbe_check_for_ack(struct ixgbe_hw *hw , u16 mbx_id ) { struct ixgbe_mbx_info *mbx ; s32 ret_val ; { mbx = & hw->mbx; ret_val = -100; if ((unsigned long )mbx->ops.check_for_ack != (unsigned long )((s32 (*)(struct ixgbe_hw * , u16 ))0)) { { ret_val = (*(mbx->ops.check_for_ack))(hw, (int )mbx_id); } } else { } return (ret_val); } } s32 ixgbe_check_for_rst(struct ixgbe_hw *hw , u16 mbx_id ) { struct ixgbe_mbx_info *mbx ; s32 ret_val ; { mbx = & hw->mbx; ret_val = -100; if ((unsigned long )mbx->ops.check_for_rst != (unsigned long )((s32 (*)(struct ixgbe_hw * , u16 ))0)) { { ret_val = (*(mbx->ops.check_for_rst))(hw, (int )mbx_id); } } else { } return (ret_val); } } static s32 ixgbe_poll_for_msg(struct ixgbe_hw *hw , u16 mbx_id ) { struct ixgbe_mbx_info *mbx ; int countdown ; s32 tmp ; { mbx = & hw->mbx; countdown = (int )mbx->timeout; if (countdown == 0 || (unsigned long )mbx->ops.check_for_msg == (unsigned long )((s32 (*)(struct ixgbe_hw * , u16 ))0)) { goto out; } else { } goto ldv_50888; ldv_50887: countdown = countdown - 1; if (countdown == 0) { goto ldv_50886; } else { } { __udelay((unsigned long )mbx->usec_delay); } ldv_50888: ; if (countdown != 0) { { tmp = (*(mbx->ops.check_for_msg))(hw, (int )mbx_id); } if (tmp != 0) { goto ldv_50887; } else { goto ldv_50886; } } else { } ldv_50886: ; out: ; return (countdown != 0 ? 0 : -100); } } static s32 ixgbe_poll_for_ack(struct ixgbe_hw *hw , u16 mbx_id ) { struct ixgbe_mbx_info *mbx ; int countdown ; s32 tmp ; { mbx = & hw->mbx; countdown = (int )mbx->timeout; if (countdown == 0 || (unsigned long )mbx->ops.check_for_ack == (unsigned long )((s32 (*)(struct ixgbe_hw * , u16 ))0)) { goto out; } else { } goto ldv_50898; ldv_50897: countdown = countdown - 1; if (countdown == 0) { goto ldv_50896; } else { } { __udelay((unsigned long )mbx->usec_delay); } ldv_50898: ; if (countdown != 0) { { tmp = (*(mbx->ops.check_for_ack))(hw, (int )mbx_id); } if (tmp != 0) { goto ldv_50897; } else { goto ldv_50896; } } else { } ldv_50896: ; out: ; return (countdown != 0 ? 0 : -100); } } static s32 ixgbe_read_posted_mbx(struct ixgbe_hw *hw , u32 *msg , u16 size , u16 mbx_id ) { struct ixgbe_mbx_info *mbx ; s32 ret_val ; { mbx = & hw->mbx; ret_val = -100; if ((unsigned long )mbx->ops.read == (unsigned long )((s32 (*)(struct ixgbe_hw * , u32 * , u16 , u16 ))0)) { goto out; } else { } { ret_val = ixgbe_poll_for_msg(hw, (int )mbx_id); } if (ret_val == 0) { { ret_val = (*(mbx->ops.read))(hw, msg, (int )size, (int )mbx_id); } } else { } out: ; return (ret_val); } } static s32 ixgbe_write_posted_mbx(struct ixgbe_hw *hw , u32 *msg , u16 size , u16 mbx_id ) { struct ixgbe_mbx_info *mbx ; s32 ret_val ; { mbx = & hw->mbx; ret_val = -100; if ((unsigned long )mbx->ops.write == (unsigned long )((s32 (*)(struct ixgbe_hw * , u32 * , u16 , u16 ))0) || mbx->timeout == 0U) { goto out; } else { } { ret_val = (*(mbx->ops.write))(hw, msg, (int )size, (int )mbx_id); } if (ret_val == 0) { { ret_val = ixgbe_poll_for_ack(hw, (int )mbx_id); } } else { } out: ; return (ret_val); } } static s32 ixgbe_check_for_bit_pf(struct ixgbe_hw *hw , u32 mask , s32 index ) { u32 mbvficr ; u32 tmp ; s32 ret_val ; { { tmp = ixgbe_read_reg(hw, (u32 )((index + 452) * 4)); mbvficr = tmp; ret_val = -100; } if ((mbvficr & mask) != 0U) { { ret_val = 0; ixgbe_write_reg(hw, (u32 )((index + 452) * 4), mask); } } else { } return (ret_val); } } static s32 ixgbe_check_for_msg_pf(struct ixgbe_hw *hw , u16 vf_number ) { s32 ret_val ; s32 index ; u32 vf_bit ; s32 tmp ; { { ret_val = -100; index = (int )vf_number >> 4; vf_bit = (u32 )vf_number & 15U; tmp = ixgbe_check_for_bit_pf(hw, (u32 )(1 << (int )vf_bit), index); } if (tmp == 0) { ret_val = 0; hw->mbx.stats.reqs = hw->mbx.stats.reqs + 1U; } else { } return (ret_val); } } static s32 ixgbe_check_for_ack_pf(struct ixgbe_hw *hw , u16 vf_number ) { s32 ret_val ; s32 index ; u32 vf_bit ; s32 tmp ; { { ret_val = -100; index = (int )vf_number >> 4; vf_bit = (u32 )vf_number & 15U; tmp = ixgbe_check_for_bit_pf(hw, (u32 )(65536 << (int )vf_bit), index); } if (tmp == 0) { ret_val = 0; hw->mbx.stats.acks = hw->mbx.stats.acks + 1U; } else { } return (ret_val); } } static s32 ixgbe_check_for_rst_pf(struct ixgbe_hw *hw , u16 vf_number ) { u32 reg_offset ; u32 vf_shift ; u32 vflre ; s32 ret_val ; { reg_offset = (unsigned int )vf_number > 31U; vf_shift = (u32 )vf_number & 31U; vflre = 0U; ret_val = -100; { if ((unsigned int )hw->mac.type == 2U) { goto case_2; } else { } if ((unsigned int )hw->mac.type == 3U) { goto case_3; } else { } goto switch_default; case_2: /* CIL Label */ { vflre = ixgbe_read_reg(hw, (int )reg_offset & 1 ? 448U : 1536U); } goto ldv_50947; case_3: /* CIL Label */ { vflre = ixgbe_read_reg(hw, (reg_offset + 448U) * 4U); } goto ldv_50947; switch_default: /* CIL Label */ ; goto ldv_50947; switch_break: /* CIL Label */ ; } ldv_50947: ; if ((vflre & (u32 )(1 << (int )vf_shift)) != 0U) { { ret_val = 0; ixgbe_write_reg(hw, (reg_offset + 448U) * 4U, (u32 )(1 << (int )vf_shift)); hw->mbx.stats.rsts = hw->mbx.stats.rsts + 1U; } } else { } return (ret_val); } } static s32 ixgbe_obtain_mbx_lock_pf(struct ixgbe_hw *hw , u16 vf_number ) { s32 ret_val ; u32 p2v_mailbox ; { { ret_val = -100; ixgbe_write_reg(hw, (u32 )(((int )vf_number + 4800) * 4), 8U); p2v_mailbox = ixgbe_read_reg(hw, (u32 )(((int )vf_number + 4800) * 4)); } if ((p2v_mailbox & 8U) != 0U) { ret_val = 0; } else { } return (ret_val); } } static s32 ixgbe_write_mbx_pf(struct ixgbe_hw *hw , u32 *msg , u16 size , u16 vf_number ) { s32 ret_val ; u16 i ; { { ret_val = ixgbe_obtain_mbx_lock_pf(hw, (int )vf_number); } if (ret_val != 0) { goto out_no_write; } else { } { ixgbe_check_for_msg_pf(hw, (int )vf_number); ixgbe_check_for_ack_pf(hw, (int )vf_number); i = 0U; } goto ldv_50966; ldv_50965: { ixgbe_write_reg(hw, (u32 )(((int )vf_number + 1216) * 64 + ((int )i << 2)), *(msg + (unsigned long )i)); i = (u16 )((int )i + 1); } ldv_50966: ; if ((int )i < (int )size) { goto ldv_50965; } else { } { ixgbe_write_reg(hw, (u32 )(((int )vf_number + 4800) * 4), 1U); hw->mbx.stats.msgs_tx = hw->mbx.stats.msgs_tx + 1U; } out_no_write: ; return (ret_val); } } static s32 ixgbe_read_mbx_pf(struct ixgbe_hw *hw , u32 *msg , u16 size , u16 vf_number ) { s32 ret_val ; u16 i ; { { ret_val = ixgbe_obtain_mbx_lock_pf(hw, (int )vf_number); } if (ret_val != 0) { goto out_no_read; } else { } i = 0U; goto ldv_50978; ldv_50977: { *(msg + (unsigned long )i) = ixgbe_read_reg(hw, (u32 )(((int )vf_number + 1216) * 64 + ((int )i << 2))); i = (u16 )((int )i + 1); } ldv_50978: ; if ((int )i < (int )size) { goto ldv_50977; } else { } { ixgbe_write_reg(hw, (u32 )(((int )vf_number + 4800) * 4), 2U); hw->mbx.stats.msgs_rx = hw->mbx.stats.msgs_rx + 1U; } out_no_read: ; return (ret_val); } } void ixgbe_init_mbx_params_pf(struct ixgbe_hw *hw ) { struct ixgbe_mbx_info *mbx ; { mbx = & hw->mbx; if ((unsigned int )hw->mac.type - 2U > 1U) { return; } else { } mbx->timeout = 0U; mbx->usec_delay = 0U; mbx->stats.msgs_tx = 0U; mbx->stats.msgs_rx = 0U; mbx->stats.reqs = 0U; mbx->stats.acks = 0U; mbx->stats.rsts = 0U; mbx->size = 16U; return; } } struct ixgbe_mbx_operations mbx_ops_generic = {0, & ixgbe_read_mbx_pf, & ixgbe_write_mbx_pf, & ixgbe_read_posted_mbx, & ixgbe_write_posted_mbx, & ixgbe_check_for_msg_pf, & ixgbe_check_for_ack_pf, & ixgbe_check_for_rst_pf}; int (*ldv_10_callback_check_for_ack)(struct ixgbe_hw * , unsigned short ) = & ixgbe_check_for_ack_pf; int (*ldv_10_callback_check_for_msg)(struct ixgbe_hw * , unsigned short ) = & ixgbe_check_for_msg_pf; int (*ldv_10_callback_check_for_rst)(struct ixgbe_hw * , unsigned short ) = & ixgbe_check_for_rst_pf; int (*ldv_10_callback_read)(struct ixgbe_hw * , unsigned int * , unsigned short , unsigned short ) = & ixgbe_read_mbx_pf; int (*ldv_10_callback_read_posted)(struct ixgbe_hw * , unsigned int * , unsigned short , unsigned short ) = & ixgbe_read_posted_mbx; int (*ldv_10_callback_write)(struct ixgbe_hw * , unsigned int * , unsigned short , unsigned short ) = & ixgbe_write_mbx_pf; int (*ldv_10_callback_write_posted)(struct ixgbe_hw * , unsigned int * , unsigned short , unsigned short ) = & ixgbe_write_posted_mbx; int (*ldv_11_callback_check_for_ack)(struct ixgbe_hw * , unsigned short ) = & ixgbe_check_for_ack_pf; int (*ldv_11_callback_check_for_msg)(struct ixgbe_hw * , unsigned short ) = & ixgbe_check_for_msg_pf; int (*ldv_11_callback_check_for_rst)(struct ixgbe_hw * , unsigned short ) = & ixgbe_check_for_rst_pf; int (*ldv_11_callback_read)(struct ixgbe_hw * , unsigned int * , unsigned short , unsigned short ) = & ixgbe_read_mbx_pf; int (*ldv_11_callback_read_posted)(struct ixgbe_hw * , unsigned int * , unsigned short , unsigned short ) = & ixgbe_read_posted_mbx; int (*ldv_11_callback_write)(struct ixgbe_hw * , unsigned int * , unsigned short , unsigned short ) = & ixgbe_write_mbx_pf; int (*ldv_11_callback_write_posted)(struct ixgbe_hw * , unsigned int * , unsigned short , unsigned short ) = & ixgbe_write_posted_mbx; int (*ldv_12_callback_check_for_ack)(struct ixgbe_hw * , unsigned short ) = & ixgbe_check_for_ack_pf; int (*ldv_12_callback_check_for_msg)(struct ixgbe_hw * , unsigned short ) = & ixgbe_check_for_msg_pf; int (*ldv_12_callback_check_for_rst)(struct ixgbe_hw * , unsigned short ) = & ixgbe_check_for_rst_pf; int (*ldv_12_callback_read)(struct ixgbe_hw * , unsigned int * , unsigned short , unsigned short ) = & ixgbe_read_mbx_pf; int (*ldv_12_callback_read_posted)(struct ixgbe_hw * , unsigned int * , unsigned short , unsigned short ) = & ixgbe_read_posted_mbx; int (*ldv_12_callback_write)(struct ixgbe_hw * , unsigned int * , unsigned short , unsigned short ) = & ixgbe_write_mbx_pf; int (*ldv_12_callback_write_posted)(struct ixgbe_hw * , unsigned int * , unsigned short , unsigned short ) = & ixgbe_write_posted_mbx; int (*ldv_13_callback_check_for_ack)(struct ixgbe_hw * , unsigned short ) = & ixgbe_check_for_ack_pf; int (*ldv_13_callback_check_for_msg)(struct ixgbe_hw * , unsigned short ) = & ixgbe_check_for_msg_pf; int (*ldv_13_callback_check_for_rst)(struct ixgbe_hw * , unsigned short ) = & ixgbe_check_for_rst_pf; int (*ldv_13_callback_read)(struct ixgbe_hw * , unsigned int * , unsigned short , unsigned short ) = & ixgbe_read_mbx_pf; int (*ldv_13_callback_read_posted)(struct ixgbe_hw * , unsigned int * , unsigned short , unsigned short ) = & ixgbe_read_posted_mbx; int (*ldv_13_callback_write)(struct ixgbe_hw * , unsigned int * , unsigned short , unsigned short ) = & ixgbe_write_mbx_pf; int (*ldv_13_callback_write_posted)(struct ixgbe_hw * , unsigned int * , unsigned short , unsigned short ) = & ixgbe_write_posted_mbx; int (*ldv_8_callback_check_for_ack)(struct ixgbe_hw * , unsigned short ) = & ixgbe_check_for_ack_pf; int (*ldv_8_callback_check_for_msg)(struct ixgbe_hw * , unsigned short ) = & ixgbe_check_for_msg_pf; int (*ldv_8_callback_check_for_rst)(struct ixgbe_hw * , unsigned short ) = & ixgbe_check_for_rst_pf; int (*ldv_8_callback_read)(struct ixgbe_hw * , unsigned int * , unsigned short , unsigned short ) = & ixgbe_read_mbx_pf; int (*ldv_8_callback_read_posted)(struct ixgbe_hw * , unsigned int * , unsigned short , unsigned short ) = & ixgbe_read_posted_mbx; int (*ldv_8_callback_write)(struct ixgbe_hw * , unsigned int * , unsigned short , unsigned short ) = & ixgbe_write_mbx_pf; int (*ldv_8_callback_write_posted)(struct ixgbe_hw * , unsigned int * , unsigned short , unsigned short ) = & ixgbe_write_posted_mbx; int (*ldv_9_callback_check_for_ack)(struct ixgbe_hw * , unsigned short ) = & ixgbe_check_for_ack_pf; int (*ldv_9_callback_check_for_msg)(struct ixgbe_hw * , unsigned short ) = & ixgbe_check_for_msg_pf; int (*ldv_9_callback_check_for_rst)(struct ixgbe_hw * , unsigned short ) = & ixgbe_check_for_rst_pf; int (*ldv_9_callback_read)(struct ixgbe_hw * , unsigned int * , unsigned short , unsigned short ) = & ixgbe_read_mbx_pf; int (*ldv_9_callback_read_posted)(struct ixgbe_hw * , unsigned int * , unsigned short , unsigned short ) = & ixgbe_read_posted_mbx; int (*ldv_9_callback_write)(struct ixgbe_hw * , unsigned int * , unsigned short , unsigned short ) = & ixgbe_write_mbx_pf; int (*ldv_9_callback_write_posted)(struct ixgbe_hw * , unsigned int * , unsigned short , unsigned short ) = & ixgbe_write_posted_mbx; void ldv_dummy_resourceless_instance_callback_10_101(int (*arg0)(struct ixgbe_hw * , unsigned int * , unsigned short , unsigned short ) , struct ixgbe_hw *arg1 , unsigned int *arg2 , unsigned short arg3 , unsigned short arg4 ) { { { ixgbe_read_posted_mbx(arg1, arg2, (int )arg3, (int )arg4); } return; } } void ldv_dummy_resourceless_instance_callback_10_153(int (*arg0)(struct ixgbe_hw * , unsigned int * , unsigned short , unsigned short ) , struct ixgbe_hw *arg1 , unsigned int *arg2 , unsigned short arg3 , unsigned short arg4 ) { { { ixgbe_write_mbx_pf(arg1, arg2, (int )arg3, (int )arg4); } return; } } void ldv_dummy_resourceless_instance_callback_10_16(int (*arg0)(struct ixgbe_hw * , unsigned short ) , struct ixgbe_hw *arg1 , unsigned short arg2 ) { { { ixgbe_check_for_ack_pf(arg1, (int )arg2); } return; } } void ldv_dummy_resourceless_instance_callback_10_168(int (*arg0)(struct ixgbe_hw * , unsigned int * , unsigned short , unsigned short ) , struct ixgbe_hw *arg1 , unsigned int *arg2 , unsigned short arg3 , unsigned short arg4 ) { { { ixgbe_write_posted_mbx(arg1, arg2, (int )arg3, (int )arg4); } return; } } void ldv_dummy_resourceless_instance_callback_10_19(int (*arg0)(struct ixgbe_hw * , unsigned short ) , struct ixgbe_hw *arg1 , unsigned short arg2 ) { { { ixgbe_check_for_msg_pf(arg1, (int )arg2); } return; } } void ldv_dummy_resourceless_instance_callback_10_22(int (*arg0)(struct ixgbe_hw * , unsigned short ) , struct ixgbe_hw *arg1 , unsigned short arg2 ) { { { ixgbe_check_for_rst_pf(arg1, (int )arg2); } return; } } void ldv_dummy_resourceless_instance_callback_10_83(int (*arg0)(struct ixgbe_hw * , unsigned int * , unsigned short , unsigned short ) , struct ixgbe_hw *arg1 , unsigned int *arg2 , unsigned short arg3 , unsigned short arg4 ) { { { ixgbe_read_mbx_pf(arg1, arg2, (int )arg3, (int )arg4); } return; } } void ldv_dummy_resourceless_instance_callback_11_101(int (*arg0)(struct ixgbe_hw * , unsigned int * , unsigned short , unsigned short ) , struct ixgbe_hw *arg1 , unsigned int *arg2 , unsigned short arg3 , unsigned short arg4 ) { { { ixgbe_read_posted_mbx(arg1, arg2, (int )arg3, (int )arg4); } return; } } void ldv_dummy_resourceless_instance_callback_11_153(int (*arg0)(struct ixgbe_hw * , unsigned int * , unsigned short , unsigned short ) , struct ixgbe_hw *arg1 , unsigned int *arg2 , unsigned short arg3 , unsigned short arg4 ) { { { ixgbe_write_mbx_pf(arg1, arg2, (int )arg3, (int )arg4); } return; } } void ldv_dummy_resourceless_instance_callback_11_16(int (*arg0)(struct ixgbe_hw * , unsigned short ) , struct ixgbe_hw *arg1 , unsigned short arg2 ) { { { ixgbe_check_for_ack_pf(arg1, (int )arg2); } return; } } void ldv_dummy_resourceless_instance_callback_11_168(int (*arg0)(struct ixgbe_hw * , unsigned int * , unsigned short , unsigned short ) , struct ixgbe_hw *arg1 , unsigned int *arg2 , unsigned short arg3 , unsigned short arg4 ) { { { ixgbe_write_posted_mbx(arg1, arg2, (int )arg3, (int )arg4); } return; } } void ldv_dummy_resourceless_instance_callback_11_19(int (*arg0)(struct ixgbe_hw * , unsigned short ) , struct ixgbe_hw *arg1 , unsigned short arg2 ) { { { ixgbe_check_for_msg_pf(arg1, (int )arg2); } return; } } void ldv_dummy_resourceless_instance_callback_11_22(int (*arg0)(struct ixgbe_hw * , unsigned short ) , struct ixgbe_hw *arg1 , unsigned short arg2 ) { { { ixgbe_check_for_rst_pf(arg1, (int )arg2); } return; } } void ldv_dummy_resourceless_instance_callback_11_83(int (*arg0)(struct ixgbe_hw * , unsigned int * , unsigned short , unsigned short ) , struct ixgbe_hw *arg1 , unsigned int *arg2 , unsigned short arg3 , unsigned short arg4 ) { { { ixgbe_read_mbx_pf(arg1, arg2, (int )arg3, (int )arg4); } return; } } void ldv_dummy_resourceless_instance_callback_12_101(int (*arg0)(struct ixgbe_hw * , unsigned int * , unsigned short , unsigned short ) , struct ixgbe_hw *arg1 , unsigned int *arg2 , unsigned short arg3 , unsigned short arg4 ) { { { ixgbe_read_posted_mbx(arg1, arg2, (int )arg3, (int )arg4); } return; } } void ldv_dummy_resourceless_instance_callback_12_153(int (*arg0)(struct ixgbe_hw * , unsigned int * , unsigned short , unsigned short ) , struct ixgbe_hw *arg1 , unsigned int *arg2 , unsigned short arg3 , unsigned short arg4 ) { { { ixgbe_write_mbx_pf(arg1, arg2, (int )arg3, (int )arg4); } return; } } void ldv_dummy_resourceless_instance_callback_12_16(int (*arg0)(struct ixgbe_hw * , unsigned short ) , struct ixgbe_hw *arg1 , unsigned short arg2 ) { { { ixgbe_check_for_ack_pf(arg1, (int )arg2); } return; } } void ldv_dummy_resourceless_instance_callback_12_168(int (*arg0)(struct ixgbe_hw * , unsigned int * , unsigned short , unsigned short ) , struct ixgbe_hw *arg1 , unsigned int *arg2 , unsigned short arg3 , unsigned short arg4 ) { { { ixgbe_write_posted_mbx(arg1, arg2, (int )arg3, (int )arg4); } return; } } void ldv_dummy_resourceless_instance_callback_12_19(int (*arg0)(struct ixgbe_hw * , unsigned short ) , struct ixgbe_hw *arg1 , unsigned short arg2 ) { { { ixgbe_check_for_msg_pf(arg1, (int )arg2); } return; } } void ldv_dummy_resourceless_instance_callback_12_22(int (*arg0)(struct ixgbe_hw * , unsigned short ) , struct ixgbe_hw *arg1 , unsigned short arg2 ) { { { ixgbe_check_for_rst_pf(arg1, (int )arg2); } return; } } void ldv_dummy_resourceless_instance_callback_12_83(int (*arg0)(struct ixgbe_hw * , unsigned int * , unsigned short , unsigned short ) , struct ixgbe_hw *arg1 , unsigned int *arg2 , unsigned short arg3 , unsigned short arg4 ) { { { ixgbe_read_mbx_pf(arg1, arg2, (int )arg3, (int )arg4); } return; } } void ldv_dummy_resourceless_instance_callback_13_101(int (*arg0)(struct ixgbe_hw * , unsigned int * , unsigned short , unsigned short ) , struct ixgbe_hw *arg1 , unsigned int *arg2 , unsigned short arg3 , unsigned short arg4 ) { { { ixgbe_read_posted_mbx(arg1, arg2, (int )arg3, (int )arg4); } return; } } void ldv_dummy_resourceless_instance_callback_13_153(int (*arg0)(struct ixgbe_hw * , unsigned int * , unsigned short , unsigned short ) , struct ixgbe_hw *arg1 , unsigned int *arg2 , unsigned short arg3 , unsigned short arg4 ) { { { ixgbe_write_mbx_pf(arg1, arg2, (int )arg3, (int )arg4); } return; } } void ldv_dummy_resourceless_instance_callback_13_16(int (*arg0)(struct ixgbe_hw * , unsigned short ) , struct ixgbe_hw *arg1 , unsigned short arg2 ) { { { ixgbe_check_for_ack_pf(arg1, (int )arg2); } return; } } void ldv_dummy_resourceless_instance_callback_13_168(int (*arg0)(struct ixgbe_hw * , unsigned int * , unsigned short , unsigned short ) , struct ixgbe_hw *arg1 , unsigned int *arg2 , unsigned short arg3 , unsigned short arg4 ) { { { ixgbe_write_posted_mbx(arg1, arg2, (int )arg3, (int )arg4); } return; } } void ldv_dummy_resourceless_instance_callback_13_19(int (*arg0)(struct ixgbe_hw * , unsigned short ) , struct ixgbe_hw *arg1 , unsigned short arg2 ) { { { ixgbe_check_for_msg_pf(arg1, (int )arg2); } return; } } void ldv_dummy_resourceless_instance_callback_13_22(int (*arg0)(struct ixgbe_hw * , unsigned short ) , struct ixgbe_hw *arg1 , unsigned short arg2 ) { { { ixgbe_check_for_rst_pf(arg1, (int )arg2); } return; } } void ldv_dummy_resourceless_instance_callback_13_83(int (*arg0)(struct ixgbe_hw * , unsigned int * , unsigned short , unsigned short ) , struct ixgbe_hw *arg1 , unsigned int *arg2 , unsigned short arg3 , unsigned short arg4 ) { { { ixgbe_read_mbx_pf(arg1, arg2, (int )arg3, (int )arg4); } return; } } void ldv_dummy_resourceless_instance_callback_8_101(int (*arg0)(struct ixgbe_hw * , unsigned int * , unsigned short , unsigned short ) , struct ixgbe_hw *arg1 , unsigned int *arg2 , unsigned short arg3 , unsigned short arg4 ) { { { ixgbe_read_posted_mbx(arg1, arg2, (int )arg3, (int )arg4); } return; } } void ldv_dummy_resourceless_instance_callback_8_153(int (*arg0)(struct ixgbe_hw * , unsigned int * , unsigned short , unsigned short ) , struct ixgbe_hw *arg1 , unsigned int *arg2 , unsigned short arg3 , unsigned short arg4 ) { { { ixgbe_write_mbx_pf(arg1, arg2, (int )arg3, (int )arg4); } return; } } void ldv_dummy_resourceless_instance_callback_8_16(int (*arg0)(struct ixgbe_hw * , unsigned short ) , struct ixgbe_hw *arg1 , unsigned short arg2 ) { { { ixgbe_check_for_ack_pf(arg1, (int )arg2); } return; } } void ldv_dummy_resourceless_instance_callback_8_168(int (*arg0)(struct ixgbe_hw * , unsigned int * , unsigned short , unsigned short ) , struct ixgbe_hw *arg1 , unsigned int *arg2 , unsigned short arg3 , unsigned short arg4 ) { { { ixgbe_write_posted_mbx(arg1, arg2, (int )arg3, (int )arg4); } return; } } void ldv_dummy_resourceless_instance_callback_8_19(int (*arg0)(struct ixgbe_hw * , unsigned short ) , struct ixgbe_hw *arg1 , unsigned short arg2 ) { { { ixgbe_check_for_msg_pf(arg1, (int )arg2); } return; } } void ldv_dummy_resourceless_instance_callback_8_22(int (*arg0)(struct ixgbe_hw * , unsigned short ) , struct ixgbe_hw *arg1 , unsigned short arg2 ) { { { ixgbe_check_for_rst_pf(arg1, (int )arg2); } return; } } void ldv_dummy_resourceless_instance_callback_8_83(int (*arg0)(struct ixgbe_hw * , unsigned int * , unsigned short , unsigned short ) , struct ixgbe_hw *arg1 , unsigned int *arg2 , unsigned short arg3 , unsigned short arg4 ) { { { ixgbe_read_mbx_pf(arg1, arg2, (int )arg3, (int )arg4); } return; } } void ldv_dummy_resourceless_instance_callback_9_101(int (*arg0)(struct ixgbe_hw * , unsigned int * , unsigned short , unsigned short ) , struct ixgbe_hw *arg1 , unsigned int *arg2 , unsigned short arg3 , unsigned short arg4 ) { { { ixgbe_read_posted_mbx(arg1, arg2, (int )arg3, (int )arg4); } return; } } void ldv_dummy_resourceless_instance_callback_9_153(int (*arg0)(struct ixgbe_hw * , unsigned int * , unsigned short , unsigned short ) , struct ixgbe_hw *arg1 , unsigned int *arg2 , unsigned short arg3 , unsigned short arg4 ) { { { ixgbe_write_mbx_pf(arg1, arg2, (int )arg3, (int )arg4); } return; } } void ldv_dummy_resourceless_instance_callback_9_16(int (*arg0)(struct ixgbe_hw * , unsigned short ) , struct ixgbe_hw *arg1 , unsigned short arg2 ) { { { ixgbe_check_for_ack_pf(arg1, (int )arg2); } return; } } void ldv_dummy_resourceless_instance_callback_9_168(int (*arg0)(struct ixgbe_hw * , unsigned int * , unsigned short , unsigned short ) , struct ixgbe_hw *arg1 , unsigned int *arg2 , unsigned short arg3 , unsigned short arg4 ) { { { ixgbe_write_posted_mbx(arg1, arg2, (int )arg3, (int )arg4); } return; } } void ldv_dummy_resourceless_instance_callback_9_19(int (*arg0)(struct ixgbe_hw * , unsigned short ) , struct ixgbe_hw *arg1 , unsigned short arg2 ) { { { ixgbe_check_for_msg_pf(arg1, (int )arg2); } return; } } void ldv_dummy_resourceless_instance_callback_9_22(int (*arg0)(struct ixgbe_hw * , unsigned short ) , struct ixgbe_hw *arg1 , unsigned short arg2 ) { { { ixgbe_check_for_rst_pf(arg1, (int )arg2); } return; } } void ldv_dummy_resourceless_instance_callback_9_83(int (*arg0)(struct ixgbe_hw * , unsigned int * , unsigned short , unsigned short ) , struct ixgbe_hw *arg1 , unsigned int *arg2 , unsigned short arg3 , unsigned short arg4 ) { { { ixgbe_read_mbx_pf(arg1, arg2, (int )arg3, (int )arg4); } return; } } static s32 ixgbe_update_flash_X540(struct ixgbe_hw *hw ) ; static s32 ixgbe_poll_flash_update_done_X540(struct ixgbe_hw *hw ) ; static s32 ixgbe_acquire_swfw_sync_X540(struct ixgbe_hw *hw , u16 mask ) ; static void ixgbe_release_swfw_sync_X540(struct ixgbe_hw *hw , u16 mask ) ; static s32 ixgbe_get_swfw_sync_semaphore(struct ixgbe_hw *hw ) ; static void ixgbe_release_swfw_sync_semaphore(struct ixgbe_hw *hw ) ; static enum ixgbe_media_type ixgbe_get_media_type_X540(struct ixgbe_hw *hw ) { { return (5); } } static s32 ixgbe_get_invariants_X540(struct ixgbe_hw *hw ) { struct ixgbe_mac_info *mac ; { { mac = & hw->mac; ixgbe_identify_phy_generic(hw); mac->mcft_size = 128U; mac->vft_size = 128U; mac->num_rar_entries = 128U; mac->max_rx_queues = 128U; mac->max_tx_queues = 128U; mac->max_msix_vectors = ixgbe_get_pcie_msix_count_generic(hw); } return (0); } } static s32 ixgbe_setup_mac_link_X540(struct ixgbe_hw *hw , ixgbe_link_speed speed , bool autoneg_wait_to_complete ) { s32 tmp ; { { tmp = (*(hw->phy.ops.setup_link_speed))(hw, speed, (int )autoneg_wait_to_complete); } return (tmp); } } static s32 ixgbe_reset_hw_X540(struct ixgbe_hw *hw ) { s32 status ; u32 ctrl ; u32 i ; u32 tmp ; struct _ddebug descriptor ; long tmp___0 ; bool tmp___1 ; { { status = (*(hw->mac.ops.stop_adapter))(hw); } if (status != 0) { goto reset_hw_out; } else { } { ixgbe_clear_tx_pending(hw); } mac_reset_top: { ctrl = 67108864U; tmp = ixgbe_read_reg(hw, 0U); ctrl = ctrl | tmp; ixgbe_write_reg(hw, 0U, ctrl); ixgbe_read_reg(hw, 8U); i = 0U; } goto ldv_50963; ldv_50962: { __const_udelay(4295UL); ctrl = ixgbe_read_reg(hw, 0U); } if ((ctrl & 67108872U) == 0U) { goto ldv_50961; } else { } i = i + 1U; ldv_50963: ; if (i <= 9U) { goto ldv_50962; } else { } ldv_50961: ; if ((ctrl & 67108872U) != 0U) { { status = -15; descriptor.modname = "ixgbe"; descriptor.function = "ixgbe_reset_hw_X540"; descriptor.filename = "drivers/net/ethernet/intel/ixgbe/ixgbe_x540.c"; descriptor.format = "Reset polling failed to complete.\n"; descriptor.lineno = 122U; descriptor.flags = 0U; tmp___0 = ldv__builtin_expect((long )descriptor.flags & 1L, 0L); } if (tmp___0 != 0L) { { __dynamic_netdev_dbg(& descriptor, (struct net_device const *)((struct ixgbe_adapter *)hw->back)->netdev, "Reset polling failed to complete.\n"); } } else { } } else { } { msleep(100U); } if ((int )hw->mac.flags & 1) { hw->mac.flags = (unsigned int )hw->mac.flags & 254U; goto mac_reset_top; } else { } { ixgbe_write_reg(hw, 15360U, 393216U); (*(hw->mac.ops.get_mac_addr))(hw, (u8 *)(& hw->mac.perm_addr)); hw->mac.num_rar_entries = 128U; (*(hw->mac.ops.init_rx_addrs))(hw); (*(hw->mac.ops.get_san_mac_addr))(hw, (u8 *)(& hw->mac.san_addr)); tmp___1 = is_valid_ether_addr((u8 const *)(& hw->mac.san_addr)); } if ((int )tmp___1) { { (*(hw->mac.ops.set_rar))(hw, hw->mac.num_rar_entries - 1U, (u8 *)(& hw->mac.san_addr), 0U, 2147483648U); hw->mac.san_mac_rar_index = (unsigned int )((u8 )hw->mac.num_rar_entries) - 1U; hw->mac.num_rar_entries = hw->mac.num_rar_entries - 1U; } } else { } { (*(hw->mac.ops.get_wwn_prefix))(hw, & hw->mac.wwnn_prefix, & hw->mac.wwpn_prefix); } reset_hw_out: ; return (status); } } static s32 ixgbe_start_hw_X540(struct ixgbe_hw *hw ) { s32 ret_val ; { { ret_val = 0; ret_val = ixgbe_start_hw_generic(hw); } if (ret_val != 0) { goto out; } else { } { ret_val = ixgbe_start_hw_gen2(hw); hw->mac.rx_pb_size = 384U; } out: ; return (ret_val); } } static u32 ixgbe_get_supported_physical_layer_X540(struct ixgbe_hw *hw ) { u32 physical_layer ; u16 ext_ability ; { { physical_layer = 0U; ext_ability = 0U; (*(hw->phy.ops.identify))(hw); (*(hw->phy.ops.read_reg))(hw, 11U, 1U, & ext_ability); } if (((int )ext_ability & 4) != 0) { physical_layer = physical_layer | 1U; } else { } if (((int )ext_ability & 32) != 0) { physical_layer = physical_layer | 2U; } else { } if (((int )ext_ability & 128) != 0) { physical_layer = physical_layer | 4U; } else { } return (physical_layer); } } static s32 ixgbe_init_eeprom_params_X540(struct ixgbe_hw *hw ) { struct ixgbe_eeprom_info *eeprom ; u32 eec ; u16 eeprom_size ; struct _ddebug descriptor ; long tmp ; { eeprom = & hw->eeprom; if ((unsigned int )eeprom->type == 0U) { { eeprom->semaphore_delay = 10U; eeprom->type = 2; eec = ixgbe_read_reg(hw, 65552U); eeprom_size = (unsigned short )((eec & 30720U) >> 11); eeprom->word_size = (u16 )(1 << ((int )eeprom_size + 6)); descriptor.modname = "ixgbe"; descriptor.function = "ixgbe_init_eeprom_params_X540"; descriptor.filename = "drivers/net/ethernet/intel/ixgbe/ixgbe_x540.c"; descriptor.format = "Eeprom params: type = %d, size = %d\n"; descriptor.lineno = 244U; descriptor.flags = 0U; tmp = ldv__builtin_expect((long )descriptor.flags & 1L, 0L); } if (tmp != 0L) { { __dynamic_netdev_dbg(& descriptor, (struct net_device const *)((struct ixgbe_adapter *)hw->back)->netdev, "Eeprom params: type = %d, size = %d\n", (unsigned int )eeprom->type, (int )eeprom->word_size); } } else { } } else { } return (0); } } static s32 ixgbe_read_eerd_X540(struct ixgbe_hw *hw , u16 offset , u16 *data ) { s32 status ; s32 tmp ; { { status = 0; tmp = (*(hw->mac.ops.acquire_swfw_sync))(hw, 1); } if (tmp == 0) { { status = ixgbe_read_eerd_generic(hw, (int )offset, data); } } else { status = -16; } { (*(hw->mac.ops.release_swfw_sync))(hw, 1); } return (status); } } static s32 ixgbe_read_eerd_buffer_X540(struct ixgbe_hw *hw , u16 offset , u16 words , u16 *data ) { s32 status ; s32 tmp ; { { status = 0; tmp = (*(hw->mac.ops.acquire_swfw_sync))(hw, 1); } if (tmp == 0) { { status = ixgbe_read_eerd_buffer_generic(hw, (int )offset, (int )words, data); } } else { status = -16; } { (*(hw->mac.ops.release_swfw_sync))(hw, 1); } return (status); } } static s32 ixgbe_write_eewr_X540(struct ixgbe_hw *hw , u16 offset , u16 data ) { s32 status ; s32 tmp ; { { status = 0; tmp = (*(hw->mac.ops.acquire_swfw_sync))(hw, 1); } if (tmp == 0) { { status = ixgbe_write_eewr_generic(hw, (int )offset, (int )data); } } else { status = -16; } { (*(hw->mac.ops.release_swfw_sync))(hw, 1); } return (status); } } static s32 ixgbe_write_eewr_buffer_X540(struct ixgbe_hw *hw , u16 offset , u16 words , u16 *data ) { s32 status ; s32 tmp ; { { status = 0; tmp = (*(hw->mac.ops.acquire_swfw_sync))(hw, 1); } if (tmp == 0) { { status = ixgbe_write_eewr_buffer_generic(hw, (int )offset, (int )words, data); } } else { status = -16; } { (*(hw->mac.ops.release_swfw_sync))(hw, 1); } return (status); } } static u16 ixgbe_calc_eeprom_checksum_X540(struct ixgbe_hw *hw ) { u16 i ; u16 j ; u16 checksum ; u16 length ; u16 pointer ; u16 word ; struct _ddebug descriptor ; long tmp ; s32 tmp___0 ; struct _ddebug descriptor___0 ; long tmp___1 ; s32 tmp___2 ; struct _ddebug descriptor___1 ; long tmp___3 ; s32 tmp___4 ; struct _ddebug descriptor___2 ; long tmp___5 ; s32 tmp___6 ; { checksum = 0U; length = 0U; pointer = 0U; word = 0U; i = 0U; goto ldv_51023; ldv_51022: { tmp___0 = ixgbe_read_eerd_generic(hw, (int )i, & word); } if (tmp___0 != 0) { { descriptor.modname = "ixgbe"; descriptor.function = "ixgbe_calc_eeprom_checksum_X540"; descriptor.filename = "drivers/net/ethernet/intel/ixgbe/ixgbe_x540.c"; descriptor.format = "EEPROM read failed\n"; descriptor.lineno = 369U; descriptor.flags = 0U; tmp = ldv__builtin_expect((long )descriptor.flags & 1L, 0L); } if (tmp != 0L) { { __dynamic_netdev_dbg(& descriptor, (struct net_device const *)((struct ixgbe_adapter *)hw->back)->netdev, "EEPROM read failed\n"); } } else { } goto ldv_51021; } else { } checksum = (int )checksum + (int )word; i = (u16 )((int )i + 1); ldv_51023: ; if ((unsigned int )i <= 62U) { goto ldv_51022; } else { } ldv_51021: i = 3U; goto ldv_51033; ldv_51032: ; if ((unsigned int )i - 4U <= 1U) { goto ldv_51024; } else { } { tmp___2 = ixgbe_read_eerd_generic(hw, (int )i, & pointer); } if (tmp___2 != 0) { { descriptor___0.modname = "ixgbe"; descriptor___0.function = "ixgbe_calc_eeprom_checksum_X540"; descriptor___0.filename = "drivers/net/ethernet/intel/ixgbe/ixgbe_x540.c"; descriptor___0.format = "EEPROM read failed\n"; descriptor___0.lineno = 384U; descriptor___0.flags = 0U; tmp___1 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); } if (tmp___1 != 0L) { { __dynamic_netdev_dbg(& descriptor___0, (struct net_device const *)((struct ixgbe_adapter *)hw->back)->netdev, "EEPROM read failed\n"); } } else { } goto ldv_51026; } else { } if ((unsigned int )pointer - 1U > 65533U || (int )pointer >= (int )hw->eeprom.word_size) { goto ldv_51024; } else { } { tmp___4 = ixgbe_read_eerd_generic(hw, (int )pointer, & length); } if (tmp___4 != 0) { { descriptor___1.modname = "ixgbe"; descriptor___1.function = "ixgbe_calc_eeprom_checksum_X540"; descriptor___1.filename = "drivers/net/ethernet/intel/ixgbe/ixgbe_x540.c"; descriptor___1.format = "EEPROM read failed\n"; descriptor___1.lineno = 394U; descriptor___1.flags = 0U; tmp___3 = ldv__builtin_expect((long )descriptor___1.flags & 1L, 0L); } if (tmp___3 != 0L) { { __dynamic_netdev_dbg(& descriptor___1, (struct net_device const *)((struct ixgbe_adapter *)hw->back)->netdev, "EEPROM read failed\n"); } } else { } goto ldv_51026; } else { } if ((unsigned int )length - 1U > 65533U || (int )pointer + (int )length >= (int )hw->eeprom.word_size) { goto ldv_51024; } else { } j = (unsigned int )pointer + 1U; goto ldv_51031; ldv_51030: { tmp___6 = ixgbe_read_eerd_generic(hw, (int )j, & word); } if (tmp___6 != 0) { { descriptor___2.modname = "ixgbe"; descriptor___2.function = "ixgbe_calc_eeprom_checksum_X540"; descriptor___2.filename = "drivers/net/ethernet/intel/ixgbe/ixgbe_x540.c"; descriptor___2.format = "EEPROM read failed\n"; descriptor___2.lineno = 405U; descriptor___2.flags = 0U; tmp___5 = ldv__builtin_expect((long )descriptor___2.flags & 1L, 0L); } if (tmp___5 != 0L) { { __dynamic_netdev_dbg(& descriptor___2, (struct net_device const *)((struct ixgbe_adapter *)hw->back)->netdev, "EEPROM read failed\n"); } } else { } goto ldv_51029; } else { } checksum = (int )checksum + (int )word; j = (u16 )((int )j + 1); ldv_51031: ; if ((int )j <= (int )pointer + (int )length) { goto ldv_51030; } else { } ldv_51029: ; ldv_51024: i = (u16 )((int )i + 1); ldv_51033: ; if ((unsigned int )i <= 14U) { goto ldv_51032; } else { } ldv_51026: checksum = 47802U - (unsigned int )checksum; return (checksum); } } static s32 ixgbe_validate_eeprom_checksum_X540(struct ixgbe_hw *hw , u16 *checksum_val ) { s32 status ; u16 checksum ; u16 read_checksum ; struct _ddebug descriptor ; long tmp ; s32 tmp___0 ; { { read_checksum = 0U; status = (*(hw->eeprom.ops.read))(hw, 0, & checksum); } if (status != 0) { { descriptor.modname = "ixgbe"; descriptor.function = "ixgbe_validate_eeprom_checksum_X540"; descriptor.filename = "drivers/net/ethernet/intel/ixgbe/ixgbe_x540.c"; descriptor.format = "EEPROM read failed\n"; descriptor.lineno = 440U; descriptor.flags = 0U; tmp = ldv__builtin_expect((long )descriptor.flags & 1L, 0L); } if (tmp != 0L) { { __dynamic_netdev_dbg(& descriptor, (struct net_device const *)((struct ixgbe_adapter *)hw->back)->netdev, "EEPROM read failed\n"); } } else { } goto out; } else { } { tmp___0 = (*(hw->mac.ops.acquire_swfw_sync))(hw, 1); } if (tmp___0 == 0) { { checksum = (*(hw->eeprom.ops.calc_checksum))(hw); ixgbe_read_eerd_generic(hw, 63, & read_checksum); } if ((int )read_checksum != (int )checksum) { status = -2; } else { } if ((unsigned long )checksum_val != (unsigned long )((u16 *)0U)) { *checksum_val = checksum; } else { } } else { status = -16; } { (*(hw->mac.ops.release_swfw_sync))(hw, 1); } out: ; return (status); } } static s32 ixgbe_update_eeprom_checksum_X540(struct ixgbe_hw *hw ) { s32 status ; u16 checksum ; struct _ddebug descriptor ; long tmp ; s32 tmp___0 ; { { status = (*(hw->eeprom.ops.read))(hw, 0, & checksum); } if (status != 0) { { descriptor.modname = "ixgbe"; descriptor.function = "ixgbe_update_eeprom_checksum_X540"; descriptor.filename = "drivers/net/ethernet/intel/ixgbe/ixgbe_x540.c"; descriptor.format = "EEPROM read failed\n"; descriptor.lineno = 494U; descriptor.flags = 0U; tmp = ldv__builtin_expect((long )descriptor.flags & 1L, 0L); } if (tmp != 0L) { { __dynamic_netdev_dbg(& descriptor, (struct net_device const *)((struct ixgbe_adapter *)hw->back)->netdev, "EEPROM read failed\n"); } } else { } } else { } { tmp___0 = (*(hw->mac.ops.acquire_swfw_sync))(hw, 1); } if (tmp___0 == 0) { { checksum = (*(hw->eeprom.ops.calc_checksum))(hw); status = ixgbe_write_eewr_generic(hw, 63, (int )checksum); } if (status == 0) { { status = ixgbe_update_flash_X540(hw); } } else { status = -16; } } else { } { (*(hw->mac.ops.release_swfw_sync))(hw, 1); } return (status); } } static s32 ixgbe_update_flash_X540(struct ixgbe_hw *hw ) { u32 flup ; s32 status ; struct _ddebug descriptor ; long tmp ; u32 tmp___0 ; struct _ddebug descriptor___0 ; long tmp___1 ; struct _ddebug descriptor___1 ; long tmp___2 ; struct _ddebug descriptor___2 ; long tmp___3 ; struct _ddebug descriptor___3 ; long tmp___4 ; { { status = -1; status = ixgbe_poll_flash_update_done_X540(hw); } if (status == -1) { { descriptor.modname = "ixgbe"; descriptor.function = "ixgbe_update_flash_X540"; descriptor.filename = "drivers/net/ethernet/intel/ixgbe/ixgbe_x540.c"; descriptor.format = "Flash update time out\n"; descriptor.lineno = 531U; descriptor.flags = 0U; tmp = ldv__builtin_expect((long )descriptor.flags & 1L, 0L); } if (tmp != 0L) { { __dynamic_netdev_dbg(& descriptor, (struct net_device const *)((struct ixgbe_adapter *)hw->back)->netdev, "Flash update time out\n"); } } else { } goto out; } else { } { tmp___0 = ixgbe_read_reg(hw, 65552U); flup = tmp___0 | 8388608U; ixgbe_write_reg(hw, 65552U, flup); status = ixgbe_poll_flash_update_done_X540(hw); } if (status == 0) { { descriptor___0.modname = "ixgbe"; descriptor___0.function = "ixgbe_update_flash_X540"; descriptor___0.filename = "drivers/net/ethernet/intel/ixgbe/ixgbe_x540.c"; descriptor___0.format = "Flash update complete\n"; descriptor___0.lineno = 540U; descriptor___0.flags = 0U; tmp___1 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); } if (tmp___1 != 0L) { { __dynamic_netdev_dbg(& descriptor___0, (struct net_device const *)((struct ixgbe_adapter *)hw->back)->netdev, "Flash update complete\n"); } } else { } } else { { descriptor___1.modname = "ixgbe"; descriptor___1.function = "ixgbe_update_flash_X540"; descriptor___1.filename = "drivers/net/ethernet/intel/ixgbe/ixgbe_x540.c"; descriptor___1.format = "Flash update time out\n"; descriptor___1.lineno = 542U; descriptor___1.flags = 0U; tmp___2 = ldv__builtin_expect((long )descriptor___1.flags & 1L, 0L); } if (tmp___2 != 0L) { { __dynamic_netdev_dbg(& descriptor___1, (struct net_device const *)((struct ixgbe_adapter *)hw->back)->netdev, "Flash update time out\n"); } } else { } } if ((unsigned int )hw->revision_id == 0U) { { flup = ixgbe_read_reg(hw, 65552U); } if ((flup & 33554432U) != 0U) { { flup = flup | 8388608U; ixgbe_write_reg(hw, 65552U, flup); } } else { } { status = ixgbe_poll_flash_update_done_X540(hw); } if (status == 0) { { descriptor___2.modname = "ixgbe"; descriptor___2.function = "ixgbe_update_flash_X540"; descriptor___2.filename = "drivers/net/ethernet/intel/ixgbe/ixgbe_x540.c"; descriptor___2.format = "Flash update complete\n"; descriptor___2.lineno = 554U; descriptor___2.flags = 0U; tmp___3 = ldv__builtin_expect((long )descriptor___2.flags & 1L, 0L); } if (tmp___3 != 0L) { { __dynamic_netdev_dbg(& descriptor___2, (struct net_device const *)((struct ixgbe_adapter *)hw->back)->netdev, "Flash update complete\n"); } } else { } } else { { descriptor___3.modname = "ixgbe"; descriptor___3.function = "ixgbe_update_flash_X540"; descriptor___3.filename = "drivers/net/ethernet/intel/ixgbe/ixgbe_x540.c"; descriptor___3.format = "Flash update time out\n"; descriptor___3.lineno = 556U; descriptor___3.flags = 0U; tmp___4 = ldv__builtin_expect((long )descriptor___3.flags & 1L, 0L); } if (tmp___4 != 0L) { { __dynamic_netdev_dbg(& descriptor___3, (struct net_device const *)((struct ixgbe_adapter *)hw->back)->netdev, "Flash update time out\n"); } } else { } } } else { } out: ; return (status); } } static s32 ixgbe_poll_flash_update_done_X540(struct ixgbe_hw *hw ) { u32 i ; u32 reg ; s32 status ; { status = -1; i = 0U; goto ldv_51071; ldv_51070: { reg = ixgbe_read_reg(hw, 65552U); } if ((reg & 67108864U) != 0U) { status = 0; goto ldv_51069; } else { } { __const_udelay(21475UL); i = i + 1U; } ldv_51071: ; if (i <= 19999U) { goto ldv_51070; } else { } ldv_51069: ; return (status); } } static s32 ixgbe_acquire_swfw_sync_X540(struct ixgbe_hw *hw , u16 mask ) { u32 swfw_sync ; u32 swmask ; u32 fwmask ; u32 hwmask ; u32 timeout ; u32 i ; s32 tmp ; s32 tmp___0 ; { swmask = (u32 )mask; fwmask = (u32 )((int )mask << 5); hwmask = 0U; timeout = 200U; if (swmask == 1U) { hwmask = 16U; } else { } i = 0U; goto ldv_51084; ldv_51083: { tmp = ixgbe_get_swfw_sync_semaphore(hw); } if (tmp != 0) { return (-16); } else { } { swfw_sync = ixgbe_read_reg(hw, 65888U); } if ((swfw_sync & ((fwmask | swmask) | hwmask)) == 0U) { { swfw_sync = swfw_sync | swmask; ixgbe_write_reg(hw, 65888U, swfw_sync); ixgbe_release_swfw_sync_semaphore(hw); } goto ldv_51082; } else { { ixgbe_release_swfw_sync_semaphore(hw); usleep_range(5000UL, 10000UL); } } i = i + 1U; ldv_51084: ; if (i < timeout) { goto ldv_51083; } else { } ldv_51082: ; if (i >= timeout) { { swfw_sync = ixgbe_read_reg(hw, 65888U); } if ((swfw_sync & (fwmask | hwmask)) != 0U) { { tmp___0 = ixgbe_get_swfw_sync_semaphore(hw); } if (tmp___0 != 0) { return (-16); } else { } { swfw_sync = swfw_sync | swmask; ixgbe_write_reg(hw, 65888U, swfw_sync); ixgbe_release_swfw_sync_semaphore(hw); } } else { } } else { } { usleep_range(5000UL, 10000UL); } return (0); } } static void ixgbe_release_swfw_sync_X540(struct ixgbe_hw *hw , u16 mask ) { u32 swfw_sync ; u32 swmask ; { { swmask = (u32 )mask; ixgbe_get_swfw_sync_semaphore(hw); swfw_sync = ixgbe_read_reg(hw, 65888U); swfw_sync = swfw_sync & ~ swmask; ixgbe_write_reg(hw, 65888U, swfw_sync); ixgbe_release_swfw_sync_semaphore(hw); usleep_range(5000UL, 10000UL); } return; } } static s32 ixgbe_get_swfw_sync_semaphore(struct ixgbe_hw *hw ) { s32 status ; u32 timeout ; u32 i ; u32 swsm ; struct _ddebug descriptor ; long tmp ; { status = -1; timeout = 2000U; i = 0U; goto ldv_51100; ldv_51099: { swsm = ixgbe_read_reg(hw, 65856U); } if ((swsm & 1U) == 0U) { status = 0; goto ldv_51098; } else { } { __const_udelay(214750UL); i = i + 1U; } ldv_51100: ; if (i < timeout) { goto ldv_51099; } else { } ldv_51098: ; if (status != 0) { i = 0U; goto ldv_51103; ldv_51102: { swsm = ixgbe_read_reg(hw, 65888U); } if ((int )swsm >= 0) { goto ldv_51101; } else { } { __const_udelay(214750UL); i = i + 1U; } ldv_51103: ; if (i < timeout) { goto ldv_51102; } else { } ldv_51101: ; } else { { descriptor.modname = "ixgbe"; descriptor.function = "ixgbe_get_swfw_sync_semaphore"; descriptor.filename = "drivers/net/ethernet/intel/ixgbe/ixgbe_x540.c"; descriptor.format = "Software semaphore SMBI between device drivers not granted.\n"; descriptor.lineno = 715U; descriptor.flags = 0U; tmp = ldv__builtin_expect((long )descriptor.flags & 1L, 0L); } if (tmp != 0L) { { __dynamic_netdev_dbg(& descriptor, (struct net_device const *)((struct ixgbe_adapter *)hw->back)->netdev, "Software semaphore SMBI between device drivers not granted.\n"); } } else { } } return (status); } } static void ixgbe_release_swfw_sync_semaphore(struct ixgbe_hw *hw ) { u32 swsm ; { { swsm = ixgbe_read_reg(hw, 65856U); swsm = swsm & 4294967294U; ixgbe_write_reg(hw, 65856U, swsm); swsm = ixgbe_read_reg(hw, 65888U); swsm = swsm & 2147483647U; ixgbe_write_reg(hw, 65888U, swsm); ixgbe_read_reg(hw, 8U); } return; } } static s32 ixgbe_blink_led_start_X540(struct ixgbe_hw *hw , u32 index ) { u32 macc_reg ; u32 ledctl_reg ; ixgbe_link_speed speed ; bool link_up ; { { (*(hw->mac.ops.check_link))(hw, & speed, & link_up, 0); } if (! link_up) { { macc_reg = ixgbe_read_reg(hw, 17200U); macc_reg = macc_reg | 458753U; ixgbe_write_reg(hw, 17200U, macc_reg); } } else { } { ledctl_reg = ixgbe_read_reg(hw, 512U); ledctl_reg = ledctl_reg & (u32 )(~ (15 << (int )(index * 8U))); ledctl_reg = ledctl_reg | (u32 )(128 << (int )(index * 8U)); ixgbe_write_reg(hw, 512U, ledctl_reg); ixgbe_read_reg(hw, 8U); } return (0); } } static s32 ixgbe_blink_led_stop_X540(struct ixgbe_hw *hw , u32 index ) { u32 macc_reg ; u32 ledctl_reg ; { { ledctl_reg = ixgbe_read_reg(hw, 512U); ledctl_reg = ledctl_reg & (u32 )(~ (15 << (int )(index * 8U))); ledctl_reg = ledctl_reg | (u32 )(4 << (int )(index * 8U)); ledctl_reg = ledctl_reg & (u32 )(~ (128 << (int )(index * 8U))); ixgbe_write_reg(hw, 512U, ledctl_reg); macc_reg = ixgbe_read_reg(hw, 17200U); macc_reg = macc_reg & 4294508542U; ixgbe_write_reg(hw, 17200U, macc_reg); ixgbe_read_reg(hw, 8U); } return (0); } } static struct ixgbe_mac_operations mac_ops_X540 = {& ixgbe_init_hw_generic, & ixgbe_reset_hw_X540, & ixgbe_start_hw_X540, & ixgbe_clear_hw_cntrs_generic, & ixgbe_get_media_type_X540, & ixgbe_get_supported_physical_layer_X540, & ixgbe_get_mac_addr_generic, & ixgbe_get_san_mac_addr_generic, & ixgbe_get_device_caps_generic, & ixgbe_get_wwn_prefix_generic, & ixgbe_stop_adapter_generic, & ixgbe_get_bus_info_generic, & ixgbe_set_lan_id_multi_port_pcie, (s32 (*)(struct ixgbe_hw * , u32 , u8 * ))0, (s32 (*)(struct ixgbe_hw * , u32 , u8 ))0, (s32 (*)(struct ixgbe_hw * ))0, & ixgbe_disable_rx_buff_generic, & ixgbe_enable_rx_buff_generic, & ixgbe_enable_rx_dma_generic, & ixgbe_acquire_swfw_sync_X540, & ixgbe_release_swfw_sync_X540, 0, 0, 0, 0, & ixgbe_setup_mac_link_X540, & ixgbe_check_mac_link_generic, & ixgbe_get_copper_link_capabilities_generic, & ixgbe_set_rxpba_generic, & ixgbe_led_on_generic, & ixgbe_led_off_generic, & ixgbe_blink_led_start_X540, & ixgbe_blink_led_stop_X540, & ixgbe_set_rar_generic, & ixgbe_clear_rar_generic, & ixgbe_set_vmdq_generic, & ixgbe_set_vmdq_san_mac_generic, & ixgbe_clear_vmdq_generic, & ixgbe_init_rx_addrs_generic, & ixgbe_update_mc_addr_list_generic, & ixgbe_enable_mc_generic, & ixgbe_disable_mc_generic, & ixgbe_clear_vfta_generic, & ixgbe_set_vfta_generic, & ixgbe_init_uta_tables_generic, & ixgbe_set_mac_anti_spoofing, & ixgbe_set_vlan_anti_spoofing, & ixgbe_fc_enable_generic, & ixgbe_set_fw_drv_ver_generic, (s32 (*)(struct ixgbe_hw * ))0, (s32 (*)(struct ixgbe_hw * ))0, (bool (*)(struct ixgbe_hw * ))0}; static struct ixgbe_eeprom_operations eeprom_ops_X540 = {& ixgbe_init_eeprom_params_X540, & ixgbe_read_eerd_X540, & ixgbe_read_eerd_buffer_X540, & ixgbe_write_eewr_X540, & ixgbe_write_eewr_buffer_X540, & ixgbe_validate_eeprom_checksum_X540, & ixgbe_update_eeprom_checksum_X540, & ixgbe_calc_eeprom_checksum_X540}; static struct ixgbe_phy_operations phy_ops_X540 = {& ixgbe_identify_phy_generic, & ixgbe_identify_sfp_module_generic, (s32 (*)(struct ixgbe_hw * ))0, (s32 (*)(struct ixgbe_hw * ))0, & ixgbe_read_phy_reg_generic, & ixgbe_write_phy_reg_generic, 0, 0, & ixgbe_setup_phy_link_generic, & ixgbe_setup_phy_link_speed_generic, 0, & ixgbe_get_phy_firmware_version_generic, & ixgbe_read_i2c_byte_generic, & ixgbe_write_i2c_byte_generic, & ixgbe_read_i2c_sff8472_generic, & ixgbe_read_i2c_eeprom_generic, & ixgbe_write_i2c_eeprom_generic, & ixgbe_tn_check_overtemp}; struct ixgbe_info ixgbe_X540_info = {3, & ixgbe_get_invariants_X540, & mac_ops_X540, & eeprom_ops_X540, & phy_ops_X540, & mbx_ops_generic}; int (*ldv_10_callback_check_link)(struct ixgbe_hw * , unsigned int * , _Bool * , _Bool ) = & ixgbe_check_mac_link_generic; int (*ldv_10_callback_check_overtemp)(struct ixgbe_hw * ) = & ixgbe_tn_check_overtemp; int (*ldv_10_callback_clear_hw_cntrs)(struct ixgbe_hw * ) = & ixgbe_clear_hw_cntrs_generic; int (*ldv_10_callback_clear_rar)(struct ixgbe_hw * , unsigned int ) = & ixgbe_clear_rar_generic; int (*ldv_10_callback_clear_vfta)(struct ixgbe_hw * ) = & ixgbe_clear_vfta_generic; int (*ldv_10_callback_clear_vmdq)(struct ixgbe_hw * , unsigned int , unsigned int ) = & ixgbe_clear_vmdq_generic; int (*ldv_10_callback_disable_mc)(struct ixgbe_hw * ) = & ixgbe_disable_mc_generic; int (*ldv_10_callback_disable_rx_buff)(struct ixgbe_hw * ) = & ixgbe_disable_rx_buff_generic; int (*ldv_10_callback_enable_mc)(struct ixgbe_hw * ) = & ixgbe_enable_mc_generic; int (*ldv_10_callback_enable_rx_buff)(struct ixgbe_hw * ) = & ixgbe_enable_rx_buff_generic; int (*ldv_10_callback_enable_rx_dma)(struct ixgbe_hw * , unsigned int ) = & ixgbe_enable_rx_dma_generic; int (*ldv_10_callback_fc_enable)(struct ixgbe_hw * ) = & ixgbe_fc_enable_generic; int (*ldv_10_callback_get_bus_info)(struct ixgbe_hw * ) = & ixgbe_get_bus_info_generic; int (*ldv_10_callback_get_device_caps)(struct ixgbe_hw * , unsigned short * ) = & ixgbe_get_device_caps_generic; int (*ldv_10_callback_get_firmware_version)(struct ixgbe_hw * , unsigned short * ) = & ixgbe_get_phy_firmware_version_generic; int (*ldv_10_callback_get_invariants)(struct ixgbe_hw * ) = & ixgbe_get_invariants_X540; int (*ldv_10_callback_get_mac_addr)(struct ixgbe_hw * , unsigned char * ) = & ixgbe_get_mac_addr_generic; enum ixgbe_media_type (*ldv_10_callback_get_media_type)(struct ixgbe_hw * ) = & ixgbe_get_media_type_X540; int (*ldv_10_callback_get_san_mac_addr)(struct ixgbe_hw * , unsigned char * ) = & ixgbe_get_san_mac_addr_generic; unsigned int (*ldv_10_callback_get_supported_physical_layer)(struct ixgbe_hw * ) = & ixgbe_get_supported_physical_layer_X540; int (*ldv_10_callback_get_wwn_prefix)(struct ixgbe_hw * , unsigned short * , unsigned short * ) = & ixgbe_get_wwn_prefix_generic; int (*ldv_10_callback_identify)(struct ixgbe_hw * ) = & ixgbe_identify_phy_generic; int (*ldv_10_callback_identify_sfp)(struct ixgbe_hw * ) = & ixgbe_identify_sfp_module_generic; int (*ldv_10_callback_init_hw)(struct ixgbe_hw * ) = & ixgbe_init_hw_generic; int (*ldv_10_callback_init_rx_addrs)(struct ixgbe_hw * ) = & ixgbe_init_rx_addrs_generic; int (*ldv_10_callback_init_uta_tables)(struct ixgbe_hw * ) = & ixgbe_init_uta_tables_generic; int (*ldv_10_callback_led_off)(struct ixgbe_hw * , unsigned int ) = & ixgbe_led_off_generic; int (*ldv_10_callback_led_on)(struct ixgbe_hw * , unsigned int ) = & ixgbe_led_on_generic; int (*ldv_10_callback_read_i2c_byte)(struct ixgbe_hw * , unsigned char , unsigned char , unsigned char * ) = & ixgbe_read_i2c_byte_generic; int (*ldv_10_callback_read_i2c_eeprom)(struct ixgbe_hw * , unsigned char , unsigned char * ) = & ixgbe_read_i2c_eeprom_generic; int (*ldv_10_callback_read_i2c_sff8472)(struct ixgbe_hw * , unsigned char , unsigned char * ) = & ixgbe_read_i2c_sff8472_generic; int (*ldv_10_callback_read_reg)(struct ixgbe_hw * , unsigned int , unsigned int , unsigned short * ) = & ixgbe_read_phy_reg_generic; void (*ldv_10_callback_release_swfw_sync)(struct ixgbe_hw * , unsigned short ) = & ixgbe_release_swfw_sync_X540; int (*ldv_10_callback_reset_hw)(struct ixgbe_hw * ) = & ixgbe_reset_hw_X540; int (*ldv_10_callback_set_fw_drv_ver)(struct ixgbe_hw * , unsigned char , unsigned char , unsigned char , unsigned char ) = & ixgbe_set_fw_drv_ver_generic; void (*ldv_10_callback_set_mac_anti_spoofing)(struct ixgbe_hw * , _Bool , int ) = & ixgbe_set_mac_anti_spoofing; int (*ldv_10_callback_set_rar)(struct ixgbe_hw * , unsigned int , unsigned char * , unsigned int , unsigned int ) = & ixgbe_set_rar_generic; void (*ldv_10_callback_set_rxpba)(struct ixgbe_hw * , int , unsigned int , int ) = & ixgbe_set_rxpba_generic; int (*ldv_10_callback_set_vfta)(struct ixgbe_hw * , unsigned int , unsigned int , _Bool ) = & ixgbe_set_vfta_generic; void (*ldv_10_callback_set_vlan_anti_spoofing)(struct ixgbe_hw * , _Bool , int ) = & ixgbe_set_vlan_anti_spoofing; int (*ldv_10_callback_set_vmdq)(struct ixgbe_hw * , unsigned int , unsigned int ) = & ixgbe_set_vmdq_generic; int (*ldv_10_callback_set_vmdq_san_mac)(struct ixgbe_hw * , unsigned int ) = & ixgbe_set_vmdq_san_mac_generic; int (*ldv_10_callback_setup_link)(struct ixgbe_hw * ) = & ixgbe_setup_phy_link_generic; int (*ldv_10_callback_setup_link_speed)(struct ixgbe_hw * , unsigned int , _Bool ) = & ixgbe_setup_mac_link_X540; int (*ldv_10_callback_start_hw)(struct ixgbe_hw * ) = & ixgbe_start_hw_X540; int (*ldv_10_callback_stop_adapter)(struct ixgbe_hw * ) = & ixgbe_stop_adapter_generic; int (*ldv_10_callback_update_mc_addr_list)(struct ixgbe_hw * , struct net_device * ) = & ixgbe_update_mc_addr_list_generic; int (*ldv_10_callback_write_buffer)(struct ixgbe_hw * , unsigned short , unsigned short , unsigned short * ) = & ixgbe_write_eewr_buffer_X540; int (*ldv_10_callback_write_i2c_byte)(struct ixgbe_hw * , unsigned char , unsigned char , unsigned char ) = & ixgbe_write_i2c_byte_generic; int (*ldv_10_callback_write_i2c_eeprom)(struct ixgbe_hw * , unsigned char , unsigned char ) = & ixgbe_write_i2c_eeprom_generic; int (*ldv_10_callback_write_reg)(struct ixgbe_hw * , unsigned int , unsigned int , unsigned short ) = & ixgbe_write_phy_reg_generic; unsigned short (*ldv_11_callback_calc_checksum)(struct ixgbe_hw * ) = & ixgbe_calc_eeprom_checksum_X540; int (*ldv_11_callback_check_overtemp)(struct ixgbe_hw * ) = & ixgbe_tn_check_overtemp; int (*ldv_11_callback_clear_hw_cntrs)(struct ixgbe_hw * ) = & ixgbe_clear_hw_cntrs_generic; int (*ldv_11_callback_clear_rar)(struct ixgbe_hw * , unsigned int ) = & ixgbe_clear_rar_generic; int (*ldv_11_callback_disable_mc)(struct ixgbe_hw * ) = & ixgbe_disable_mc_generic; int (*ldv_11_callback_disable_rx_buff)(struct ixgbe_hw * ) = & ixgbe_disable_rx_buff_generic; int (*ldv_11_callback_enable_mc)(struct ixgbe_hw * ) = & ixgbe_enable_mc_generic; int (*ldv_11_callback_enable_rx_buff)(struct ixgbe_hw * ) = & ixgbe_enable_rx_buff_generic; int (*ldv_11_callback_get_bus_info)(struct ixgbe_hw * ) = & ixgbe_get_bus_info_generic; int (*ldv_11_callback_get_device_caps)(struct ixgbe_hw * , unsigned short * ) = & ixgbe_get_device_caps_generic; int (*ldv_11_callback_get_firmware_version)(struct ixgbe_hw * , unsigned short * ) = & ixgbe_get_phy_firmware_version_generic; int (*ldv_11_callback_get_mac_addr)(struct ixgbe_hw * , unsigned char * ) = & ixgbe_get_mac_addr_generic; enum ixgbe_media_type (*ldv_11_callback_get_media_type)(struct ixgbe_hw * ) = & ixgbe_get_media_type_X540; int (*ldv_11_callback_get_san_mac_addr)(struct ixgbe_hw * , unsigned char * ) = & ixgbe_get_san_mac_addr_generic; unsigned int (*ldv_11_callback_get_supported_physical_layer)(struct ixgbe_hw * ) = & ixgbe_get_supported_physical_layer_X540; int (*ldv_11_callback_get_wwn_prefix)(struct ixgbe_hw * , unsigned short * , unsigned short * ) = & ixgbe_get_wwn_prefix_generic; int (*ldv_11_callback_identify)(struct ixgbe_hw * ) = & ixgbe_identify_phy_generic; int (*ldv_11_callback_identify_sfp)(struct ixgbe_hw * ) = & ixgbe_identify_sfp_module_generic; int (*ldv_11_callback_init_hw)(struct ixgbe_hw * ) = & ixgbe_init_hw_generic; int (*ldv_11_callback_init_rx_addrs)(struct ixgbe_hw * ) = & ixgbe_init_rx_addrs_generic; int (*ldv_11_callback_init_uta_tables)(struct ixgbe_hw * ) = & ixgbe_init_uta_tables_generic; int (*ldv_11_callback_led_off)(struct ixgbe_hw * , unsigned int ) = & ixgbe_led_off_generic; int (*ldv_11_callback_led_on)(struct ixgbe_hw * , unsigned int ) = & ixgbe_led_on_generic; int (*ldv_11_callback_read_i2c_byte)(struct ixgbe_hw * , unsigned char , unsigned char , unsigned char * ) = & ixgbe_read_i2c_byte_generic; int (*ldv_11_callback_read_i2c_eeprom)(struct ixgbe_hw * , unsigned char , unsigned char * ) = & ixgbe_read_i2c_eeprom_generic; int (*ldv_11_callback_read_i2c_sff8472)(struct ixgbe_hw * , unsigned char , unsigned char * ) = & ixgbe_read_i2c_sff8472_generic; int (*ldv_11_callback_read_reg)(struct ixgbe_hw * , unsigned int , unsigned int , unsigned short * ) = & ixgbe_read_phy_reg_generic; void (*ldv_11_callback_release_swfw_sync)(struct ixgbe_hw * , unsigned short ) = & ixgbe_release_swfw_sync_X540; int (*ldv_11_callback_reset_hw)(struct ixgbe_hw * ) = & ixgbe_reset_hw_X540; int (*ldv_11_callback_set_fw_drv_ver)(struct ixgbe_hw * , unsigned char , unsigned char , unsigned char , unsigned char ) = & ixgbe_set_fw_drv_ver_generic; void (*ldv_11_callback_set_mac_anti_spoofing)(struct ixgbe_hw * , _Bool , int ) = & ixgbe_set_mac_anti_spoofing; int (*ldv_11_callback_set_rar)(struct ixgbe_hw * , unsigned int , unsigned char * , unsigned int , unsigned int ) = & ixgbe_set_rar_generic; void (*ldv_11_callback_set_rxpba)(struct ixgbe_hw * , int , unsigned int , int ) = & ixgbe_set_rxpba_generic; int (*ldv_11_callback_set_vfta)(struct ixgbe_hw * , unsigned int , unsigned int , _Bool ) = & ixgbe_set_vfta_generic; void (*ldv_11_callback_set_vlan_anti_spoofing)(struct ixgbe_hw * , _Bool , int ) = & ixgbe_set_vlan_anti_spoofing; int (*ldv_11_callback_set_vmdq)(struct ixgbe_hw * , unsigned int , unsigned int ) = & ixgbe_set_vmdq_generic; int (*ldv_11_callback_set_vmdq_san_mac)(struct ixgbe_hw * , unsigned int ) = & ixgbe_set_vmdq_san_mac_generic; int (*ldv_11_callback_setup_link)(struct ixgbe_hw * ) = & ixgbe_setup_phy_link_generic; int (*ldv_11_callback_setup_link_speed)(struct ixgbe_hw * , unsigned int , _Bool ) = & ixgbe_setup_phy_link_speed_generic; int (*ldv_11_callback_start_hw)(struct ixgbe_hw * ) = & ixgbe_start_hw_X540; int (*ldv_11_callback_stop_adapter)(struct ixgbe_hw * ) = & ixgbe_stop_adapter_generic; int (*ldv_11_callback_update_mc_addr_list)(struct ixgbe_hw * , struct net_device * ) = & ixgbe_update_mc_addr_list_generic; int (*ldv_11_callback_write_buffer)(struct ixgbe_hw * , unsigned short , unsigned short , unsigned short * ) = & ixgbe_write_eewr_buffer_X540; int (*ldv_11_callback_write_i2c_byte)(struct ixgbe_hw * , unsigned char , unsigned char , unsigned char ) = & ixgbe_write_i2c_byte_generic; int (*ldv_11_callback_write_i2c_eeprom)(struct ixgbe_hw * , unsigned char , unsigned char ) = & ixgbe_write_i2c_eeprom_generic; int (*ldv_11_callback_write_reg)(struct ixgbe_hw * , unsigned int , unsigned int , unsigned short ) = & ixgbe_write_phy_reg_generic; unsigned short (*ldv_12_callback_calc_checksum)(struct ixgbe_hw * ) = & ixgbe_calc_eeprom_checksum_X540; int (*ldv_12_callback_check_overtemp)(struct ixgbe_hw * ) = & ixgbe_tn_check_overtemp; int (*ldv_12_callback_clear_hw_cntrs)(struct ixgbe_hw * ) = & ixgbe_clear_hw_cntrs_generic; int (*ldv_12_callback_clear_rar)(struct ixgbe_hw * , unsigned int ) = & ixgbe_clear_rar_generic; int (*ldv_12_callback_disable_mc)(struct ixgbe_hw * ) = & ixgbe_disable_mc_generic; int (*ldv_12_callback_disable_rx_buff)(struct ixgbe_hw * ) = & ixgbe_disable_rx_buff_generic; int (*ldv_12_callback_enable_mc)(struct ixgbe_hw * ) = & ixgbe_enable_mc_generic; int (*ldv_12_callback_enable_rx_buff)(struct ixgbe_hw * ) = & ixgbe_enable_rx_buff_generic; int (*ldv_12_callback_get_bus_info)(struct ixgbe_hw * ) = & ixgbe_get_bus_info_generic; int (*ldv_12_callback_get_device_caps)(struct ixgbe_hw * , unsigned short * ) = & ixgbe_get_device_caps_generic; int (*ldv_12_callback_get_firmware_version)(struct ixgbe_hw * , unsigned short * ) = & ixgbe_get_phy_firmware_version_generic; int (*ldv_12_callback_get_invariants)(struct ixgbe_hw * ) = & ixgbe_get_invariants_X540; int (*ldv_12_callback_get_mac_addr)(struct ixgbe_hw * , unsigned char * ) = & ixgbe_get_mac_addr_generic; enum ixgbe_media_type (*ldv_12_callback_get_media_type)(struct ixgbe_hw * ) = & ixgbe_get_media_type_X540; int (*ldv_12_callback_get_san_mac_addr)(struct ixgbe_hw * , unsigned char * ) = & ixgbe_get_san_mac_addr_generic; unsigned int (*ldv_12_callback_get_supported_physical_layer)(struct ixgbe_hw * ) = & ixgbe_get_supported_physical_layer_X540; int (*ldv_12_callback_get_wwn_prefix)(struct ixgbe_hw * , unsigned short * , unsigned short * ) = & ixgbe_get_wwn_prefix_generic; int (*ldv_12_callback_identify)(struct ixgbe_hw * ) = & ixgbe_identify_phy_generic; int (*ldv_12_callback_identify_sfp)(struct ixgbe_hw * ) = & ixgbe_identify_sfp_module_generic; int (*ldv_12_callback_init_hw)(struct ixgbe_hw * ) = & ixgbe_init_hw_generic; int (*ldv_12_callback_init_rx_addrs)(struct ixgbe_hw * ) = & ixgbe_init_rx_addrs_generic; int (*ldv_12_callback_init_uta_tables)(struct ixgbe_hw * ) = & ixgbe_init_uta_tables_generic; int (*ldv_12_callback_led_off)(struct ixgbe_hw * , unsigned int ) = & ixgbe_led_off_generic; int (*ldv_12_callback_led_on)(struct ixgbe_hw * , unsigned int ) = & ixgbe_led_on_generic; int (*ldv_12_callback_read_i2c_byte)(struct ixgbe_hw * , unsigned char , unsigned char , unsigned char * ) = & ixgbe_read_i2c_byte_generic; int (*ldv_12_callback_read_i2c_eeprom)(struct ixgbe_hw * , unsigned char , unsigned char * ) = & ixgbe_read_i2c_eeprom_generic; int (*ldv_12_callback_read_i2c_sff8472)(struct ixgbe_hw * , unsigned char , unsigned char * ) = & ixgbe_read_i2c_sff8472_generic; int (*ldv_12_callback_read_reg)(struct ixgbe_hw * , unsigned int , unsigned int , unsigned short * ) = & ixgbe_read_phy_reg_generic; void (*ldv_12_callback_release_swfw_sync)(struct ixgbe_hw * , unsigned short ) = & ixgbe_release_swfw_sync_X540; int (*ldv_12_callback_reset_hw)(struct ixgbe_hw * ) = & ixgbe_reset_hw_X540; int (*ldv_12_callback_set_fw_drv_ver)(struct ixgbe_hw * , unsigned char , unsigned char , unsigned char , unsigned char ) = & ixgbe_set_fw_drv_ver_generic; void (*ldv_12_callback_set_mac_anti_spoofing)(struct ixgbe_hw * , _Bool , int ) = & ixgbe_set_mac_anti_spoofing; int (*ldv_12_callback_set_rar)(struct ixgbe_hw * , unsigned int , unsigned char * , unsigned int , unsigned int ) = & ixgbe_set_rar_generic; void (*ldv_12_callback_set_rxpba)(struct ixgbe_hw * , int , unsigned int , int ) = & ixgbe_set_rxpba_generic; int (*ldv_12_callback_set_vfta)(struct ixgbe_hw * , unsigned int , unsigned int , _Bool ) = & ixgbe_set_vfta_generic; void (*ldv_12_callback_set_vlan_anti_spoofing)(struct ixgbe_hw * , _Bool , int ) = & ixgbe_set_vlan_anti_spoofing; int (*ldv_12_callback_set_vmdq)(struct ixgbe_hw * , unsigned int , unsigned int ) = & ixgbe_set_vmdq_generic; int (*ldv_12_callback_set_vmdq_san_mac)(struct ixgbe_hw * , unsigned int ) = & ixgbe_set_vmdq_san_mac_generic; int (*ldv_12_callback_setup_link)(struct ixgbe_hw * ) = & ixgbe_setup_phy_link_generic; int (*ldv_12_callback_setup_link_speed)(struct ixgbe_hw * , unsigned int , _Bool ) = & ixgbe_setup_phy_link_speed_generic; int (*ldv_12_callback_start_hw)(struct ixgbe_hw * ) = & ixgbe_start_hw_X540; int (*ldv_12_callback_stop_adapter)(struct ixgbe_hw * ) = & ixgbe_stop_adapter_generic; int (*ldv_12_callback_update_mc_addr_list)(struct ixgbe_hw * , struct net_device * ) = & ixgbe_update_mc_addr_list_generic; int (*ldv_12_callback_write_buffer)(struct ixgbe_hw * , unsigned short , unsigned short , unsigned short * ) = & ixgbe_write_eewr_buffer_X540; int (*ldv_12_callback_write_i2c_byte)(struct ixgbe_hw * , unsigned char , unsigned char , unsigned char ) = & ixgbe_write_i2c_byte_generic; int (*ldv_12_callback_write_i2c_eeprom)(struct ixgbe_hw * , unsigned char , unsigned char ) = & ixgbe_write_i2c_eeprom_generic; int (*ldv_12_callback_write_reg)(struct ixgbe_hw * , unsigned int , unsigned int , unsigned short ) = & ixgbe_write_phy_reg_generic; unsigned short (*ldv_13_callback_calc_checksum)(struct ixgbe_hw * ) = & ixgbe_calc_eeprom_checksum_X540; int (*ldv_13_callback_check_overtemp)(struct ixgbe_hw * ) = & ixgbe_tn_check_overtemp; int (*ldv_13_callback_clear_hw_cntrs)(struct ixgbe_hw * ) = & ixgbe_clear_hw_cntrs_generic; int (*ldv_13_callback_clear_rar)(struct ixgbe_hw * , unsigned int ) = & ixgbe_clear_rar_generic; int (*ldv_13_callback_disable_mc)(struct ixgbe_hw * ) = & ixgbe_disable_mc_generic; int (*ldv_13_callback_disable_rx_buff)(struct ixgbe_hw * ) = & ixgbe_disable_rx_buff_generic; int (*ldv_13_callback_enable_mc)(struct ixgbe_hw * ) = & ixgbe_enable_mc_generic; int (*ldv_13_callback_enable_rx_buff)(struct ixgbe_hw * ) = & ixgbe_enable_rx_buff_generic; int (*ldv_13_callback_get_bus_info)(struct ixgbe_hw * ) = & ixgbe_get_bus_info_generic; int (*ldv_13_callback_get_device_caps)(struct ixgbe_hw * , unsigned short * ) = & ixgbe_get_device_caps_generic; int (*ldv_13_callback_get_firmware_version)(struct ixgbe_hw * , unsigned short * ) = & ixgbe_get_phy_firmware_version_generic; int (*ldv_13_callback_get_link_capabilities)(struct ixgbe_hw * , unsigned int * , _Bool * ) = & ixgbe_get_copper_link_capabilities_generic; int (*ldv_13_callback_get_mac_addr)(struct ixgbe_hw * , unsigned char * ) = & ixgbe_get_mac_addr_generic; int (*ldv_13_callback_get_san_mac_addr)(struct ixgbe_hw * , unsigned char * ) = & ixgbe_get_san_mac_addr_generic; int (*ldv_13_callback_get_wwn_prefix)(struct ixgbe_hw * , unsigned short * , unsigned short * ) = & ixgbe_get_wwn_prefix_generic; int (*ldv_13_callback_identify)(struct ixgbe_hw * ) = & ixgbe_identify_phy_generic; int (*ldv_13_callback_identify_sfp)(struct ixgbe_hw * ) = & ixgbe_identify_sfp_module_generic; int (*ldv_13_callback_init_hw)(struct ixgbe_hw * ) = & ixgbe_init_hw_generic; int (*ldv_13_callback_init_rx_addrs)(struct ixgbe_hw * ) = & ixgbe_init_rx_addrs_generic; int (*ldv_13_callback_init_uta_tables)(struct ixgbe_hw * ) = & ixgbe_init_uta_tables_generic; int (*ldv_13_callback_led_off)(struct ixgbe_hw * , unsigned int ) = & ixgbe_led_off_generic; int (*ldv_13_callback_led_on)(struct ixgbe_hw * , unsigned int ) = & ixgbe_led_on_generic; int (*ldv_13_callback_read_i2c_byte)(struct ixgbe_hw * , unsigned char , unsigned char , unsigned char * ) = & ixgbe_read_i2c_byte_generic; int (*ldv_13_callback_read_i2c_eeprom)(struct ixgbe_hw * , unsigned char , unsigned char * ) = & ixgbe_read_i2c_eeprom_generic; int (*ldv_13_callback_read_i2c_sff8472)(struct ixgbe_hw * , unsigned char , unsigned char * ) = & ixgbe_read_i2c_sff8472_generic; int (*ldv_13_callback_read_reg)(struct ixgbe_hw * , unsigned int , unsigned int , unsigned short * ) = & ixgbe_read_phy_reg_generic; void (*ldv_13_callback_release_swfw_sync)(struct ixgbe_hw * , unsigned short ) = & ixgbe_release_swfw_sync_X540; int (*ldv_13_callback_reset_hw)(struct ixgbe_hw * ) = & ixgbe_reset_hw_X540; int (*ldv_13_callback_set_fw_drv_ver)(struct ixgbe_hw * , unsigned char , unsigned char , unsigned char , unsigned char ) = & ixgbe_set_fw_drv_ver_generic; void (*ldv_13_callback_set_mac_anti_spoofing)(struct ixgbe_hw * , _Bool , int ) = & ixgbe_set_mac_anti_spoofing; int (*ldv_13_callback_set_rar)(struct ixgbe_hw * , unsigned int , unsigned char * , unsigned int , unsigned int ) = & ixgbe_set_rar_generic; void (*ldv_13_callback_set_rxpba)(struct ixgbe_hw * , int , unsigned int , int ) = & ixgbe_set_rxpba_generic; int (*ldv_13_callback_set_vfta)(struct ixgbe_hw * , unsigned int , unsigned int , _Bool ) = & ixgbe_set_vfta_generic; void (*ldv_13_callback_set_vlan_anti_spoofing)(struct ixgbe_hw * , _Bool , int ) = & ixgbe_set_vlan_anti_spoofing; int (*ldv_13_callback_set_vmdq)(struct ixgbe_hw * , unsigned int , unsigned int ) = & ixgbe_set_vmdq_generic; int (*ldv_13_callback_set_vmdq_san_mac)(struct ixgbe_hw * , unsigned int ) = & ixgbe_set_vmdq_san_mac_generic; int (*ldv_13_callback_setup_link)(struct ixgbe_hw * ) = & ixgbe_setup_phy_link_generic; int (*ldv_13_callback_setup_link_speed)(struct ixgbe_hw * , unsigned int , _Bool ) = & ixgbe_setup_phy_link_speed_generic; int (*ldv_13_callback_start_hw)(struct ixgbe_hw * ) = & ixgbe_start_hw_X540; int (*ldv_13_callback_stop_adapter)(struct ixgbe_hw * ) = & ixgbe_stop_adapter_generic; int (*ldv_13_callback_update_mc_addr_list)(struct ixgbe_hw * , struct net_device * ) = & ixgbe_update_mc_addr_list_generic; int (*ldv_13_callback_write_buffer)(struct ixgbe_hw * , unsigned short , unsigned short , unsigned short * ) = & ixgbe_write_eewr_buffer_X540; int (*ldv_13_callback_write_i2c_byte)(struct ixgbe_hw * , unsigned char , unsigned char , unsigned char ) = & ixgbe_write_i2c_byte_generic; int (*ldv_13_callback_write_i2c_eeprom)(struct ixgbe_hw * , unsigned char , unsigned char ) = & ixgbe_write_i2c_eeprom_generic; int (*ldv_13_callback_write_reg)(struct ixgbe_hw * , unsigned int , unsigned int , unsigned short ) = & ixgbe_write_phy_reg_generic; unsigned short (*ldv_8_callback_calc_checksum)(struct ixgbe_hw * ) = & ixgbe_calc_eeprom_checksum_X540; int (*ldv_8_callback_check_overtemp)(struct ixgbe_hw * ) = & ixgbe_tn_check_overtemp; int (*ldv_8_callback_clear_hw_cntrs)(struct ixgbe_hw * ) = & ixgbe_clear_hw_cntrs_generic; int (*ldv_8_callback_clear_rar)(struct ixgbe_hw * , unsigned int ) = & ixgbe_clear_rar_generic; int (*ldv_8_callback_disable_mc)(struct ixgbe_hw * ) = & ixgbe_disable_mc_generic; int (*ldv_8_callback_disable_rx_buff)(struct ixgbe_hw * ) = & ixgbe_disable_rx_buff_generic; int (*ldv_8_callback_enable_mc)(struct ixgbe_hw * ) = & ixgbe_enable_mc_generic; int (*ldv_8_callback_enable_rx_buff)(struct ixgbe_hw * ) = & ixgbe_enable_rx_buff_generic; int (*ldv_8_callback_get_bus_info)(struct ixgbe_hw * ) = & ixgbe_get_bus_info_generic; int (*ldv_8_callback_get_device_caps)(struct ixgbe_hw * , unsigned short * ) = & ixgbe_get_device_caps_generic; int (*ldv_8_callback_get_firmware_version)(struct ixgbe_hw * , unsigned short * ) = & ixgbe_get_phy_firmware_version_generic; int (*ldv_8_callback_get_link_capabilities)(struct ixgbe_hw * , unsigned int * , _Bool * ) = & ixgbe_get_copper_link_capabilities_generic; int (*ldv_8_callback_get_mac_addr)(struct ixgbe_hw * , unsigned char * ) = & ixgbe_get_mac_addr_generic; int (*ldv_8_callback_get_san_mac_addr)(struct ixgbe_hw * , unsigned char * ) = & ixgbe_get_san_mac_addr_generic; int (*ldv_8_callback_get_wwn_prefix)(struct ixgbe_hw * , unsigned short * , unsigned short * ) = & ixgbe_get_wwn_prefix_generic; int (*ldv_8_callback_identify)(struct ixgbe_hw * ) = & ixgbe_identify_phy_generic; int (*ldv_8_callback_identify_sfp)(struct ixgbe_hw * ) = & ixgbe_identify_sfp_module_generic; int (*ldv_8_callback_init_hw)(struct ixgbe_hw * ) = & ixgbe_init_hw_generic; int (*ldv_8_callback_init_params)(struct ixgbe_hw * ) = & ixgbe_init_eeprom_params_X540; int (*ldv_8_callback_init_rx_addrs)(struct ixgbe_hw * ) = & ixgbe_init_rx_addrs_generic; int (*ldv_8_callback_init_uta_tables)(struct ixgbe_hw * ) = & ixgbe_init_uta_tables_generic; int (*ldv_8_callback_led_off)(struct ixgbe_hw * , unsigned int ) = & ixgbe_led_off_generic; int (*ldv_8_callback_led_on)(struct ixgbe_hw * , unsigned int ) = & ixgbe_led_on_generic; int (*ldv_8_callback_read_i2c_byte)(struct ixgbe_hw * , unsigned char , unsigned char , unsigned char * ) = & ixgbe_read_i2c_byte_generic; int (*ldv_8_callback_read_reg)(struct ixgbe_hw * , unsigned int , unsigned int , unsigned short * ) = & ixgbe_read_phy_reg_generic; int (*ldv_8_callback_set_fw_drv_ver)(struct ixgbe_hw * , unsigned char , unsigned char , unsigned char , unsigned char ) = & ixgbe_set_fw_drv_ver_generic; void (*ldv_8_callback_set_lan_id)(struct ixgbe_hw * ) = & ixgbe_set_lan_id_multi_port_pcie; void (*ldv_8_callback_set_mac_anti_spoofing)(struct ixgbe_hw * , _Bool , int ) = & ixgbe_set_mac_anti_spoofing; int (*ldv_8_callback_set_rar)(struct ixgbe_hw * , unsigned int , unsigned char * , unsigned int , unsigned int ) = & ixgbe_set_rar_generic; void (*ldv_8_callback_set_vlan_anti_spoofing)(struct ixgbe_hw * , _Bool , int ) = & ixgbe_set_vlan_anti_spoofing; int (*ldv_8_callback_set_vmdq_san_mac)(struct ixgbe_hw * , unsigned int ) = & ixgbe_set_vmdq_san_mac_generic; int (*ldv_8_callback_setup_link)(struct ixgbe_hw * ) = & ixgbe_setup_phy_link_generic; int (*ldv_8_callback_stop_adapter)(struct ixgbe_hw * ) = & ixgbe_stop_adapter_generic; int (*ldv_8_callback_update_checksum)(struct ixgbe_hw * ) = & ixgbe_update_eeprom_checksum_X540; int (*ldv_8_callback_update_mc_addr_list)(struct ixgbe_hw * , struct net_device * ) = & ixgbe_update_mc_addr_list_generic; int (*ldv_8_callback_validate_checksum)(struct ixgbe_hw * , unsigned short * ) = & ixgbe_validate_eeprom_checksum_X540; int (*ldv_8_callback_write_buffer)(struct ixgbe_hw * , unsigned short , unsigned short , unsigned short * ) = & ixgbe_write_eewr_buffer_X540; int (*ldv_8_callback_write_i2c_byte)(struct ixgbe_hw * , unsigned char , unsigned char , unsigned char ) = & ixgbe_write_i2c_byte_generic; int (*ldv_8_callback_write_i2c_eeprom)(struct ixgbe_hw * , unsigned char , unsigned char ) = & ixgbe_write_i2c_eeprom_generic; int (*ldv_8_callback_write_reg)(struct ixgbe_hw * , unsigned int , unsigned int , unsigned short ) = & ixgbe_write_phy_reg_generic; int (*ldv_9_callback_acquire_swfw_sync)(struct ixgbe_hw * , unsigned short ) = & ixgbe_acquire_swfw_sync_X540; int (*ldv_9_callback_blink_led_start)(struct ixgbe_hw * , unsigned int ) = & ixgbe_blink_led_start_X540; int (*ldv_9_callback_blink_led_stop)(struct ixgbe_hw * , unsigned int ) = & ixgbe_blink_led_stop_X540; int (*ldv_9_callback_check_link)(struct ixgbe_hw * , unsigned int * , _Bool * , _Bool ) = & ixgbe_check_mac_link_generic; int (*ldv_9_callback_check_overtemp)(struct ixgbe_hw * ) = & ixgbe_tn_check_overtemp; int (*ldv_9_callback_clear_hw_cntrs)(struct ixgbe_hw * ) = & ixgbe_clear_hw_cntrs_generic; int (*ldv_9_callback_clear_rar)(struct ixgbe_hw * , unsigned int ) = & ixgbe_clear_rar_generic; int (*ldv_9_callback_clear_vfta)(struct ixgbe_hw * ) = & ixgbe_clear_vfta_generic; int (*ldv_9_callback_clear_vmdq)(struct ixgbe_hw * , unsigned int , unsigned int ) = & ixgbe_clear_vmdq_generic; int (*ldv_9_callback_disable_mc)(struct ixgbe_hw * ) = & ixgbe_disable_mc_generic; int (*ldv_9_callback_disable_rx_buff)(struct ixgbe_hw * ) = & ixgbe_disable_rx_buff_generic; int (*ldv_9_callback_enable_mc)(struct ixgbe_hw * ) = & ixgbe_enable_mc_generic; int (*ldv_9_callback_enable_rx_buff)(struct ixgbe_hw * ) = & ixgbe_enable_rx_buff_generic; int (*ldv_9_callback_enable_rx_dma)(struct ixgbe_hw * , unsigned int ) = & ixgbe_enable_rx_dma_generic; int (*ldv_9_callback_fc_enable)(struct ixgbe_hw * ) = & ixgbe_fc_enable_generic; int (*ldv_9_callback_get_bus_info)(struct ixgbe_hw * ) = & ixgbe_get_bus_info_generic; int (*ldv_9_callback_get_device_caps)(struct ixgbe_hw * , unsigned short * ) = & ixgbe_get_device_caps_generic; int (*ldv_9_callback_get_firmware_version)(struct ixgbe_hw * , unsigned short * ) = & ixgbe_get_phy_firmware_version_generic; int (*ldv_9_callback_get_invariants)(struct ixgbe_hw * ) = & ixgbe_get_invariants_X540; int (*ldv_9_callback_get_mac_addr)(struct ixgbe_hw * , unsigned char * ) = & ixgbe_get_mac_addr_generic; int (*ldv_9_callback_get_san_mac_addr)(struct ixgbe_hw * , unsigned char * ) = & ixgbe_get_san_mac_addr_generic; int (*ldv_9_callback_get_wwn_prefix)(struct ixgbe_hw * , unsigned short * , unsigned short * ) = & ixgbe_get_wwn_prefix_generic; int (*ldv_9_callback_identify)(struct ixgbe_hw * ) = & ixgbe_identify_phy_generic; int (*ldv_9_callback_identify_sfp)(struct ixgbe_hw * ) = & ixgbe_identify_sfp_module_generic; int (*ldv_9_callback_init_hw)(struct ixgbe_hw * ) = & ixgbe_init_hw_generic; int (*ldv_9_callback_init_rx_addrs)(struct ixgbe_hw * ) = & ixgbe_init_rx_addrs_generic; int (*ldv_9_callback_init_uta_tables)(struct ixgbe_hw * ) = & ixgbe_init_uta_tables_generic; int (*ldv_9_callback_led_off)(struct ixgbe_hw * , unsigned int ) = & ixgbe_led_off_generic; int (*ldv_9_callback_led_on)(struct ixgbe_hw * , unsigned int ) = & ixgbe_led_on_generic; int (*ldv_9_callback_read_i2c_byte)(struct ixgbe_hw * , unsigned char , unsigned char , unsigned char * ) = & ixgbe_read_i2c_byte_generic; int (*ldv_9_callback_read_i2c_eeprom)(struct ixgbe_hw * , unsigned char , unsigned char * ) = & ixgbe_read_i2c_eeprom_generic; int (*ldv_9_callback_read_i2c_sff8472)(struct ixgbe_hw * , unsigned char , unsigned char * ) = & ixgbe_read_i2c_sff8472_generic; int (*ldv_9_callback_read_reg)(struct ixgbe_hw * , unsigned int , unsigned int , unsigned short * ) = & ixgbe_read_phy_reg_generic; void (*ldv_9_callback_release_swfw_sync)(struct ixgbe_hw * , unsigned short ) = & ixgbe_release_swfw_sync_X540; int (*ldv_9_callback_set_fw_drv_ver)(struct ixgbe_hw * , unsigned char , unsigned char , unsigned char , unsigned char ) = & ixgbe_set_fw_drv_ver_generic; void (*ldv_9_callback_set_mac_anti_spoofing)(struct ixgbe_hw * , _Bool , int ) = & ixgbe_set_mac_anti_spoofing; int (*ldv_9_callback_set_rar)(struct ixgbe_hw * , unsigned int , unsigned char * , unsigned int , unsigned int ) = & ixgbe_set_rar_generic; void (*ldv_9_callback_set_rxpba)(struct ixgbe_hw * , int , unsigned int , int ) = & ixgbe_set_rxpba_generic; int (*ldv_9_callback_set_vfta)(struct ixgbe_hw * , unsigned int , unsigned int , _Bool ) = & ixgbe_set_vfta_generic; void (*ldv_9_callback_set_vlan_anti_spoofing)(struct ixgbe_hw * , _Bool , int ) = & ixgbe_set_vlan_anti_spoofing; int (*ldv_9_callback_set_vmdq)(struct ixgbe_hw * , unsigned int , unsigned int ) = & ixgbe_set_vmdq_generic; int (*ldv_9_callback_set_vmdq_san_mac)(struct ixgbe_hw * , unsigned int ) = & ixgbe_set_vmdq_san_mac_generic; int (*ldv_9_callback_setup_link)(struct ixgbe_hw * ) = & ixgbe_setup_phy_link_generic; int (*ldv_9_callback_stop_adapter)(struct ixgbe_hw * ) = & ixgbe_stop_adapter_generic; int (*ldv_9_callback_update_mc_addr_list)(struct ixgbe_hw * , struct net_device * ) = & ixgbe_update_mc_addr_list_generic; int (*ldv_9_callback_write_i2c_byte)(struct ixgbe_hw * , unsigned char , unsigned char , unsigned char ) = & ixgbe_write_i2c_byte_generic; int (*ldv_9_callback_write_i2c_eeprom)(struct ixgbe_hw * , unsigned char , unsigned char ) = & ixgbe_write_i2c_eeprom_generic; int (*ldv_9_callback_write_reg)(struct ixgbe_hw * , unsigned int , unsigned int , unsigned short ) = & ixgbe_write_phy_reg_generic; void ldv_dummy_resourceless_instance_callback_10_104(int (*arg0)(struct ixgbe_hw * , unsigned int , unsigned int , unsigned short * ) , struct ixgbe_hw *arg1 , unsigned int arg2 , unsigned int arg3 , unsigned short *arg4 ) { { { ixgbe_read_phy_reg_generic(arg1, arg2, arg3, arg4); } return; } } void ldv_dummy_resourceless_instance_callback_10_110(void (*arg0)(struct ixgbe_hw * , unsigned short ) , struct ixgbe_hw *arg1 , unsigned short arg2 ) { { { ixgbe_release_swfw_sync_X540(arg1, (int )arg2); } return; } } void ldv_dummy_resourceless_instance_callback_10_114(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_reset_hw_X540(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_10_115(int (*arg0)(struct ixgbe_hw * , unsigned char , unsigned char , unsigned char , unsigned char ) , struct ixgbe_hw *arg1 , unsigned char arg2 , unsigned char arg3 , unsigned char arg4 , unsigned char arg5 ) { { { ixgbe_set_fw_drv_ver_generic(arg1, (int )arg2, (int )arg3, (int )arg4, (int )arg5); } return; } } void ldv_dummy_resourceless_instance_callback_10_119(void (*arg0)(struct ixgbe_hw * , _Bool , int ) , struct ixgbe_hw *arg1 , _Bool arg2 , int arg3 ) { { { ixgbe_set_mac_anti_spoofing(arg1, (int )arg2, arg3); } return; } } void ldv_dummy_resourceless_instance_callback_10_122(int (*arg0)(struct ixgbe_hw * , unsigned int , unsigned char * , unsigned int , unsigned int ) , struct ixgbe_hw *arg1 , unsigned int arg2 , unsigned char *arg3 , unsigned int arg4 , unsigned int arg5 ) { { { ixgbe_set_rar_generic(arg1, arg2, arg3, arg4, arg5); } return; } } void ldv_dummy_resourceless_instance_callback_10_125(void (*arg0)(struct ixgbe_hw * , int , unsigned int , int ) , struct ixgbe_hw *arg1 , int arg2 , unsigned int arg3 , int arg4 ) { { { ixgbe_set_rxpba_generic(arg1, arg2, arg3, arg4); } return; } } void ldv_dummy_resourceless_instance_callback_10_128(int (*arg0)(struct ixgbe_hw * , unsigned int , unsigned int , _Bool ) , struct ixgbe_hw *arg1 , unsigned int arg2 , unsigned int arg3 , _Bool arg4 ) { { { ixgbe_set_vfta_generic(arg1, arg2, arg3, (int )arg4); } return; } } void ldv_dummy_resourceless_instance_callback_10_131(void (*arg0)(struct ixgbe_hw * , _Bool , int ) , struct ixgbe_hw *arg1 , _Bool arg2 , int arg3 ) { { { ixgbe_set_vlan_anti_spoofing(arg1, (int )arg2, arg3); } return; } } void ldv_dummy_resourceless_instance_callback_10_134(int (*arg0)(struct ixgbe_hw * , unsigned int , unsigned int ) , struct ixgbe_hw *arg1 , unsigned int arg2 , unsigned int arg3 ) { { { ixgbe_set_vmdq_generic(arg1, arg2, arg3); } return; } } void ldv_dummy_resourceless_instance_callback_10_137(int (*arg0)(struct ixgbe_hw * , unsigned int ) , struct ixgbe_hw *arg1 , unsigned int arg2 ) { { { ixgbe_set_vmdq_san_mac_generic(arg1, arg2); } return; } } void ldv_dummy_resourceless_instance_callback_10_140(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_setup_phy_link_generic(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_10_141(int (*arg0)(struct ixgbe_hw * , unsigned int , _Bool ) , struct ixgbe_hw *arg1 , unsigned int arg2 , _Bool arg3 ) { { { ixgbe_setup_mac_link_X540(arg1, arg2, (int )arg3); } return; } } void ldv_dummy_resourceless_instance_callback_10_145(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_start_hw_X540(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_10_146(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_stop_adapter_generic(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_10_149(int (*arg0)(struct ixgbe_hw * , struct net_device * ) , struct ixgbe_hw *arg1 , struct net_device *arg2 ) { { { ixgbe_update_mc_addr_list_generic(arg1, arg2); } return; } } void ldv_dummy_resourceless_instance_callback_10_159(int (*arg0)(struct ixgbe_hw * , unsigned short , unsigned short , unsigned short * ) , struct ixgbe_hw *arg1 , unsigned short arg2 , unsigned short arg3 , unsigned short *arg4 ) { { { ixgbe_write_eewr_buffer_X540(arg1, (int )arg2, (int )arg3, arg4); } return; } } void ldv_dummy_resourceless_instance_callback_10_162(int (*arg0)(struct ixgbe_hw * , unsigned char , unsigned char , unsigned char ) , struct ixgbe_hw *arg1 , unsigned char arg2 , unsigned char arg3 , unsigned char arg4 ) { { { ixgbe_write_i2c_byte_generic(arg1, (int )arg2, (int )arg3, (int )arg4); } return; } } void ldv_dummy_resourceless_instance_callback_10_165(int (*arg0)(struct ixgbe_hw * , unsigned char , unsigned char ) , struct ixgbe_hw *arg1 , unsigned char arg2 , unsigned char arg3 ) { { { ixgbe_write_i2c_eeprom_generic(arg1, (int )arg2, (int )arg3); } return; } } void ldv_dummy_resourceless_instance_callback_10_171(int (*arg0)(struct ixgbe_hw * , unsigned int , unsigned int , unsigned short ) , struct ixgbe_hw *arg1 , unsigned int arg2 , unsigned int arg3 , unsigned short arg4 ) { { { ixgbe_write_phy_reg_generic(arg1, arg2, arg3, (int )arg4); } return; } } void ldv_dummy_resourceless_instance_callback_10_25(int (*arg0)(struct ixgbe_hw * , unsigned int * , _Bool * , _Bool ) , struct ixgbe_hw *arg1 , unsigned int *arg2 , _Bool *arg3 , _Bool arg4 ) { { { ixgbe_check_mac_link_generic(arg1, arg2, arg3, (int )arg4); } return; } } void ldv_dummy_resourceless_instance_callback_10_28(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_tn_check_overtemp(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_10_29(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_clear_hw_cntrs_generic(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_10_30(int (*arg0)(struct ixgbe_hw * , unsigned int ) , struct ixgbe_hw *arg1 , unsigned int arg2 ) { { { ixgbe_clear_rar_generic(arg1, arg2); } return; } } void ldv_dummy_resourceless_instance_callback_10_33(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_clear_vfta_generic(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_10_34(int (*arg0)(struct ixgbe_hw * , unsigned int , unsigned int ) , struct ixgbe_hw *arg1 , unsigned int arg2 , unsigned int arg3 ) { { { ixgbe_clear_vmdq_generic(arg1, arg2, arg3); } return; } } void ldv_dummy_resourceless_instance_callback_10_37(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_disable_mc_generic(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_10_38(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_disable_rx_buff_generic(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_10_39(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_enable_mc_generic(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_10_40(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_enable_rx_buff_generic(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_10_41(int (*arg0)(struct ixgbe_hw * , unsigned int ) , struct ixgbe_hw *arg1 , unsigned int arg2 ) { { { ixgbe_enable_rx_dma_generic(arg1, arg2); } return; } } void ldv_dummy_resourceless_instance_callback_10_44(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_fc_enable_generic(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_10_45(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_get_bus_info_generic(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_10_46(int (*arg0)(struct ixgbe_hw * , unsigned short * ) , struct ixgbe_hw *arg1 , unsigned short *arg2 ) { { { ixgbe_get_device_caps_generic(arg1, arg2); } return; } } void ldv_dummy_resourceless_instance_callback_10_49(int (*arg0)(struct ixgbe_hw * , unsigned short * ) , struct ixgbe_hw *arg1 , unsigned short *arg2 ) { { { ixgbe_get_phy_firmware_version_generic(arg1, arg2); } return; } } void ldv_dummy_resourceless_instance_callback_10_52(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_get_invariants_X540(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_10_56(int (*arg0)(struct ixgbe_hw * , unsigned char * ) , struct ixgbe_hw *arg1 , unsigned char *arg2 ) { { { ixgbe_get_mac_addr_generic(arg1, arg2); } return; } } void ldv_dummy_resourceless_instance_callback_10_59(enum ixgbe_media_type (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_get_media_type_X540(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_10_60(int (*arg0)(struct ixgbe_hw * , unsigned char * ) , struct ixgbe_hw *arg1 , unsigned char *arg2 ) { { { ixgbe_get_san_mac_addr_generic(arg1, arg2); } return; } } void ldv_dummy_resourceless_instance_callback_10_63(unsigned int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_get_supported_physical_layer_X540(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_10_65(int (*arg0)(struct ixgbe_hw * , unsigned short * , unsigned short * ) , struct ixgbe_hw *arg1 , unsigned short *arg2 , unsigned short *arg3 ) { { { ixgbe_get_wwn_prefix_generic(arg1, arg2, arg3); } return; } } void ldv_dummy_resourceless_instance_callback_10_68(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_identify_phy_generic(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_10_69(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_identify_sfp_module_generic(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_10_71(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_init_hw_generic(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_10_73(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_init_rx_addrs_generic(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_10_75(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_init_uta_tables_generic(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_10_76(int (*arg0)(struct ixgbe_hw * , unsigned int ) , struct ixgbe_hw *arg1 , unsigned int arg2 ) { { { ixgbe_led_off_generic(arg1, arg2); } return; } } void ldv_dummy_resourceless_instance_callback_10_79(int (*arg0)(struct ixgbe_hw * , unsigned int ) , struct ixgbe_hw *arg1 , unsigned int arg2 ) { { { ixgbe_led_on_generic(arg1, arg2); } return; } } void ldv_dummy_resourceless_instance_callback_10_92(int (*arg0)(struct ixgbe_hw * , unsigned char , unsigned char , unsigned char * ) , struct ixgbe_hw *arg1 , unsigned char arg2 , unsigned char arg3 , unsigned char *arg4 ) { { { ixgbe_read_i2c_byte_generic(arg1, (int )arg2, (int )arg3, arg4); } return; } } void ldv_dummy_resourceless_instance_callback_10_95(int (*arg0)(struct ixgbe_hw * , unsigned char , unsigned char * ) , struct ixgbe_hw *arg1 , unsigned char arg2 , unsigned char *arg3 ) { { { ixgbe_read_i2c_eeprom_generic(arg1, (int )arg2, arg3); } return; } } void ldv_dummy_resourceless_instance_callback_10_98(int (*arg0)(struct ixgbe_hw * , unsigned char , unsigned char * ) , struct ixgbe_hw *arg1 , unsigned char arg2 , unsigned char *arg3 ) { { { ixgbe_read_i2c_sff8472_generic(arg1, (int )arg2, arg3); } return; } } void ldv_dummy_resourceless_instance_callback_11_104(int (*arg0)(struct ixgbe_hw * , unsigned int , unsigned int , unsigned short * ) , struct ixgbe_hw *arg1 , unsigned int arg2 , unsigned int arg3 , unsigned short *arg4 ) { { { ixgbe_read_phy_reg_generic(arg1, arg2, arg3, arg4); } return; } } void ldv_dummy_resourceless_instance_callback_11_110(void (*arg0)(struct ixgbe_hw * , unsigned short ) , struct ixgbe_hw *arg1 , unsigned short arg2 ) { { { ixgbe_release_swfw_sync_X540(arg1, (int )arg2); } return; } } void ldv_dummy_resourceless_instance_callback_11_114(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_reset_hw_X540(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_11_115(int (*arg0)(struct ixgbe_hw * , unsigned char , unsigned char , unsigned char , unsigned char ) , struct ixgbe_hw *arg1 , unsigned char arg2 , unsigned char arg3 , unsigned char arg4 , unsigned char arg5 ) { { { ixgbe_set_fw_drv_ver_generic(arg1, (int )arg2, (int )arg3, (int )arg4, (int )arg5); } return; } } void ldv_dummy_resourceless_instance_callback_11_119(void (*arg0)(struct ixgbe_hw * , _Bool , int ) , struct ixgbe_hw *arg1 , _Bool arg2 , int arg3 ) { { { ixgbe_set_mac_anti_spoofing(arg1, (int )arg2, arg3); } return; } } void ldv_dummy_resourceless_instance_callback_11_122(int (*arg0)(struct ixgbe_hw * , unsigned int , unsigned char * , unsigned int , unsigned int ) , struct ixgbe_hw *arg1 , unsigned int arg2 , unsigned char *arg3 , unsigned int arg4 , unsigned int arg5 ) { { { ixgbe_set_rar_generic(arg1, arg2, arg3, arg4, arg5); } return; } } void ldv_dummy_resourceless_instance_callback_11_125(void (*arg0)(struct ixgbe_hw * , int , unsigned int , int ) , struct ixgbe_hw *arg1 , int arg2 , unsigned int arg3 , int arg4 ) { { { ixgbe_set_rxpba_generic(arg1, arg2, arg3, arg4); } return; } } void ldv_dummy_resourceless_instance_callback_11_128(int (*arg0)(struct ixgbe_hw * , unsigned int , unsigned int , _Bool ) , struct ixgbe_hw *arg1 , unsigned int arg2 , unsigned int arg3 , _Bool arg4 ) { { { ixgbe_set_vfta_generic(arg1, arg2, arg3, (int )arg4); } return; } } void ldv_dummy_resourceless_instance_callback_11_131(void (*arg0)(struct ixgbe_hw * , _Bool , int ) , struct ixgbe_hw *arg1 , _Bool arg2 , int arg3 ) { { { ixgbe_set_vlan_anti_spoofing(arg1, (int )arg2, arg3); } return; } } void ldv_dummy_resourceless_instance_callback_11_134(int (*arg0)(struct ixgbe_hw * , unsigned int , unsigned int ) , struct ixgbe_hw *arg1 , unsigned int arg2 , unsigned int arg3 ) { { { ixgbe_set_vmdq_generic(arg1, arg2, arg3); } return; } } void ldv_dummy_resourceless_instance_callback_11_137(int (*arg0)(struct ixgbe_hw * , unsigned int ) , struct ixgbe_hw *arg1 , unsigned int arg2 ) { { { ixgbe_set_vmdq_san_mac_generic(arg1, arg2); } return; } } void ldv_dummy_resourceless_instance_callback_11_140(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_setup_phy_link_generic(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_11_141(int (*arg0)(struct ixgbe_hw * , unsigned int , _Bool ) , struct ixgbe_hw *arg1 , unsigned int arg2 , _Bool arg3 ) { { { ixgbe_setup_phy_link_speed_generic(arg1, arg2, (int )arg3); } return; } } void ldv_dummy_resourceless_instance_callback_11_145(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_start_hw_X540(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_11_146(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_stop_adapter_generic(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_11_149(int (*arg0)(struct ixgbe_hw * , struct net_device * ) , struct ixgbe_hw *arg1 , struct net_device *arg2 ) { { { ixgbe_update_mc_addr_list_generic(arg1, arg2); } return; } } void ldv_dummy_resourceless_instance_callback_11_15(unsigned short (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_calc_eeprom_checksum_X540(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_11_159(int (*arg0)(struct ixgbe_hw * , unsigned short , unsigned short , unsigned short * ) , struct ixgbe_hw *arg1 , unsigned short arg2 , unsigned short arg3 , unsigned short *arg4 ) { { { ixgbe_write_eewr_buffer_X540(arg1, (int )arg2, (int )arg3, arg4); } return; } } void ldv_dummy_resourceless_instance_callback_11_162(int (*arg0)(struct ixgbe_hw * , unsigned char , unsigned char , unsigned char ) , struct ixgbe_hw *arg1 , unsigned char arg2 , unsigned char arg3 , unsigned char arg4 ) { { { ixgbe_write_i2c_byte_generic(arg1, (int )arg2, (int )arg3, (int )arg4); } return; } } void ldv_dummy_resourceless_instance_callback_11_165(int (*arg0)(struct ixgbe_hw * , unsigned char , unsigned char ) , struct ixgbe_hw *arg1 , unsigned char arg2 , unsigned char arg3 ) { { { ixgbe_write_i2c_eeprom_generic(arg1, (int )arg2, (int )arg3); } return; } } void ldv_dummy_resourceless_instance_callback_11_171(int (*arg0)(struct ixgbe_hw * , unsigned int , unsigned int , unsigned short ) , struct ixgbe_hw *arg1 , unsigned int arg2 , unsigned int arg3 , unsigned short arg4 ) { { { ixgbe_write_phy_reg_generic(arg1, arg2, arg3, (int )arg4); } return; } } void ldv_dummy_resourceless_instance_callback_11_28(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_tn_check_overtemp(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_11_29(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_clear_hw_cntrs_generic(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_11_30(int (*arg0)(struct ixgbe_hw * , unsigned int ) , struct ixgbe_hw *arg1 , unsigned int arg2 ) { { { ixgbe_clear_rar_generic(arg1, arg2); } return; } } void ldv_dummy_resourceless_instance_callback_11_37(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_disable_mc_generic(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_11_38(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_disable_rx_buff_generic(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_11_39(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_enable_mc_generic(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_11_40(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_enable_rx_buff_generic(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_11_45(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_get_bus_info_generic(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_11_46(int (*arg0)(struct ixgbe_hw * , unsigned short * ) , struct ixgbe_hw *arg1 , unsigned short *arg2 ) { { { ixgbe_get_device_caps_generic(arg1, arg2); } return; } } void ldv_dummy_resourceless_instance_callback_11_49(int (*arg0)(struct ixgbe_hw * , unsigned short * ) , struct ixgbe_hw *arg1 , unsigned short *arg2 ) { { { ixgbe_get_phy_firmware_version_generic(arg1, arg2); } return; } } void ldv_dummy_resourceless_instance_callback_11_56(int (*arg0)(struct ixgbe_hw * , unsigned char * ) , struct ixgbe_hw *arg1 , unsigned char *arg2 ) { { { ixgbe_get_mac_addr_generic(arg1, arg2); } return; } } void ldv_dummy_resourceless_instance_callback_11_59(enum ixgbe_media_type (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_get_media_type_X540(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_11_60(int (*arg0)(struct ixgbe_hw * , unsigned char * ) , struct ixgbe_hw *arg1 , unsigned char *arg2 ) { { { ixgbe_get_san_mac_addr_generic(arg1, arg2); } return; } } void ldv_dummy_resourceless_instance_callback_11_63(unsigned int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_get_supported_physical_layer_X540(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_11_65(int (*arg0)(struct ixgbe_hw * , unsigned short * , unsigned short * ) , struct ixgbe_hw *arg1 , unsigned short *arg2 , unsigned short *arg3 ) { { { ixgbe_get_wwn_prefix_generic(arg1, arg2, arg3); } return; } } void ldv_dummy_resourceless_instance_callback_11_68(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_identify_phy_generic(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_11_69(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_identify_sfp_module_generic(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_11_71(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_init_hw_generic(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_11_73(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_init_rx_addrs_generic(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_11_75(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_init_uta_tables_generic(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_11_76(int (*arg0)(struct ixgbe_hw * , unsigned int ) , struct ixgbe_hw *arg1 , unsigned int arg2 ) { { { ixgbe_led_off_generic(arg1, arg2); } return; } } void ldv_dummy_resourceless_instance_callback_11_79(int (*arg0)(struct ixgbe_hw * , unsigned int ) , struct ixgbe_hw *arg1 , unsigned int arg2 ) { { { ixgbe_led_on_generic(arg1, arg2); } return; } } void ldv_dummy_resourceless_instance_callback_11_92(int (*arg0)(struct ixgbe_hw * , unsigned char , unsigned char , unsigned char * ) , struct ixgbe_hw *arg1 , unsigned char arg2 , unsigned char arg3 , unsigned char *arg4 ) { { { ixgbe_read_i2c_byte_generic(arg1, (int )arg2, (int )arg3, arg4); } return; } } void ldv_dummy_resourceless_instance_callback_11_95(int (*arg0)(struct ixgbe_hw * , unsigned char , unsigned char * ) , struct ixgbe_hw *arg1 , unsigned char arg2 , unsigned char *arg3 ) { { { ixgbe_read_i2c_eeprom_generic(arg1, (int )arg2, arg3); } return; } } void ldv_dummy_resourceless_instance_callback_11_98(int (*arg0)(struct ixgbe_hw * , unsigned char , unsigned char * ) , struct ixgbe_hw *arg1 , unsigned char arg2 , unsigned char *arg3 ) { { { ixgbe_read_i2c_sff8472_generic(arg1, (int )arg2, arg3); } return; } } void ldv_dummy_resourceless_instance_callback_12_104(int (*arg0)(struct ixgbe_hw * , unsigned int , unsigned int , unsigned short * ) , struct ixgbe_hw *arg1 , unsigned int arg2 , unsigned int arg3 , unsigned short *arg4 ) { { { ixgbe_read_phy_reg_generic(arg1, arg2, arg3, arg4); } return; } } void ldv_dummy_resourceless_instance_callback_12_110(void (*arg0)(struct ixgbe_hw * , unsigned short ) , struct ixgbe_hw *arg1 , unsigned short arg2 ) { { { ixgbe_release_swfw_sync_X540(arg1, (int )arg2); } return; } } void ldv_dummy_resourceless_instance_callback_12_114(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_reset_hw_X540(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_12_115(int (*arg0)(struct ixgbe_hw * , unsigned char , unsigned char , unsigned char , unsigned char ) , struct ixgbe_hw *arg1 , unsigned char arg2 , unsigned char arg3 , unsigned char arg4 , unsigned char arg5 ) { { { ixgbe_set_fw_drv_ver_generic(arg1, (int )arg2, (int )arg3, (int )arg4, (int )arg5); } return; } } void ldv_dummy_resourceless_instance_callback_12_119(void (*arg0)(struct ixgbe_hw * , _Bool , int ) , struct ixgbe_hw *arg1 , _Bool arg2 , int arg3 ) { { { ixgbe_set_mac_anti_spoofing(arg1, (int )arg2, arg3); } return; } } void ldv_dummy_resourceless_instance_callback_12_122(int (*arg0)(struct ixgbe_hw * , unsigned int , unsigned char * , unsigned int , unsigned int ) , struct ixgbe_hw *arg1 , unsigned int arg2 , unsigned char *arg3 , unsigned int arg4 , unsigned int arg5 ) { { { ixgbe_set_rar_generic(arg1, arg2, arg3, arg4, arg5); } return; } } void ldv_dummy_resourceless_instance_callback_12_125(void (*arg0)(struct ixgbe_hw * , int , unsigned int , int ) , struct ixgbe_hw *arg1 , int arg2 , unsigned int arg3 , int arg4 ) { { { ixgbe_set_rxpba_generic(arg1, arg2, arg3, arg4); } return; } } void ldv_dummy_resourceless_instance_callback_12_128(int (*arg0)(struct ixgbe_hw * , unsigned int , unsigned int , _Bool ) , struct ixgbe_hw *arg1 , unsigned int arg2 , unsigned int arg3 , _Bool arg4 ) { { { ixgbe_set_vfta_generic(arg1, arg2, arg3, (int )arg4); } return; } } void ldv_dummy_resourceless_instance_callback_12_131(void (*arg0)(struct ixgbe_hw * , _Bool , int ) , struct ixgbe_hw *arg1 , _Bool arg2 , int arg3 ) { { { ixgbe_set_vlan_anti_spoofing(arg1, (int )arg2, arg3); } return; } } void ldv_dummy_resourceless_instance_callback_12_134(int (*arg0)(struct ixgbe_hw * , unsigned int , unsigned int ) , struct ixgbe_hw *arg1 , unsigned int arg2 , unsigned int arg3 ) { { { ixgbe_set_vmdq_generic(arg1, arg2, arg3); } return; } } void ldv_dummy_resourceless_instance_callback_12_137(int (*arg0)(struct ixgbe_hw * , unsigned int ) , struct ixgbe_hw *arg1 , unsigned int arg2 ) { { { ixgbe_set_vmdq_san_mac_generic(arg1, arg2); } return; } } void ldv_dummy_resourceless_instance_callback_12_140(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_setup_phy_link_generic(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_12_141(int (*arg0)(struct ixgbe_hw * , unsigned int , _Bool ) , struct ixgbe_hw *arg1 , unsigned int arg2 , _Bool arg3 ) { { { ixgbe_setup_phy_link_speed_generic(arg1, arg2, (int )arg3); } return; } } void ldv_dummy_resourceless_instance_callback_12_145(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_start_hw_X540(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_12_146(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_stop_adapter_generic(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_12_149(int (*arg0)(struct ixgbe_hw * , struct net_device * ) , struct ixgbe_hw *arg1 , struct net_device *arg2 ) { { { ixgbe_update_mc_addr_list_generic(arg1, arg2); } return; } } void ldv_dummy_resourceless_instance_callback_12_15(unsigned short (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_calc_eeprom_checksum_X540(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_12_159(int (*arg0)(struct ixgbe_hw * , unsigned short , unsigned short , unsigned short * ) , struct ixgbe_hw *arg1 , unsigned short arg2 , unsigned short arg3 , unsigned short *arg4 ) { { { ixgbe_write_eewr_buffer_X540(arg1, (int )arg2, (int )arg3, arg4); } return; } } void ldv_dummy_resourceless_instance_callback_12_162(int (*arg0)(struct ixgbe_hw * , unsigned char , unsigned char , unsigned char ) , struct ixgbe_hw *arg1 , unsigned char arg2 , unsigned char arg3 , unsigned char arg4 ) { { { ixgbe_write_i2c_byte_generic(arg1, (int )arg2, (int )arg3, (int )arg4); } return; } } void ldv_dummy_resourceless_instance_callback_12_165(int (*arg0)(struct ixgbe_hw * , unsigned char , unsigned char ) , struct ixgbe_hw *arg1 , unsigned char arg2 , unsigned char arg3 ) { { { ixgbe_write_i2c_eeprom_generic(arg1, (int )arg2, (int )arg3); } return; } } void ldv_dummy_resourceless_instance_callback_12_171(int (*arg0)(struct ixgbe_hw * , unsigned int , unsigned int , unsigned short ) , struct ixgbe_hw *arg1 , unsigned int arg2 , unsigned int arg3 , unsigned short arg4 ) { { { ixgbe_write_phy_reg_generic(arg1, arg2, arg3, (int )arg4); } return; } } void ldv_dummy_resourceless_instance_callback_12_28(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_tn_check_overtemp(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_12_29(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_clear_hw_cntrs_generic(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_12_30(int (*arg0)(struct ixgbe_hw * , unsigned int ) , struct ixgbe_hw *arg1 , unsigned int arg2 ) { { { ixgbe_clear_rar_generic(arg1, arg2); } return; } } void ldv_dummy_resourceless_instance_callback_12_37(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_disable_mc_generic(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_12_38(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_disable_rx_buff_generic(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_12_39(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_enable_mc_generic(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_12_40(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_enable_rx_buff_generic(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_12_45(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_get_bus_info_generic(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_12_46(int (*arg0)(struct ixgbe_hw * , unsigned short * ) , struct ixgbe_hw *arg1 , unsigned short *arg2 ) { { { ixgbe_get_device_caps_generic(arg1, arg2); } return; } } void ldv_dummy_resourceless_instance_callback_12_49(int (*arg0)(struct ixgbe_hw * , unsigned short * ) , struct ixgbe_hw *arg1 , unsigned short *arg2 ) { { { ixgbe_get_phy_firmware_version_generic(arg1, arg2); } return; } } void ldv_dummy_resourceless_instance_callback_12_52(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_get_invariants_X540(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_12_56(int (*arg0)(struct ixgbe_hw * , unsigned char * ) , struct ixgbe_hw *arg1 , unsigned char *arg2 ) { { { ixgbe_get_mac_addr_generic(arg1, arg2); } return; } } void ldv_dummy_resourceless_instance_callback_12_59(enum ixgbe_media_type (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_get_media_type_X540(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_12_60(int (*arg0)(struct ixgbe_hw * , unsigned char * ) , struct ixgbe_hw *arg1 , unsigned char *arg2 ) { { { ixgbe_get_san_mac_addr_generic(arg1, arg2); } return; } } void ldv_dummy_resourceless_instance_callback_12_63(unsigned int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_get_supported_physical_layer_X540(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_12_65(int (*arg0)(struct ixgbe_hw * , unsigned short * , unsigned short * ) , struct ixgbe_hw *arg1 , unsigned short *arg2 , unsigned short *arg3 ) { { { ixgbe_get_wwn_prefix_generic(arg1, arg2, arg3); } return; } } void ldv_dummy_resourceless_instance_callback_12_68(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_identify_phy_generic(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_12_69(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_identify_sfp_module_generic(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_12_71(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_init_hw_generic(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_12_73(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_init_rx_addrs_generic(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_12_75(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_init_uta_tables_generic(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_12_76(int (*arg0)(struct ixgbe_hw * , unsigned int ) , struct ixgbe_hw *arg1 , unsigned int arg2 ) { { { ixgbe_led_off_generic(arg1, arg2); } return; } } void ldv_dummy_resourceless_instance_callback_12_79(int (*arg0)(struct ixgbe_hw * , unsigned int ) , struct ixgbe_hw *arg1 , unsigned int arg2 ) { { { ixgbe_led_on_generic(arg1, arg2); } return; } } void ldv_dummy_resourceless_instance_callback_12_92(int (*arg0)(struct ixgbe_hw * , unsigned char , unsigned char , unsigned char * ) , struct ixgbe_hw *arg1 , unsigned char arg2 , unsigned char arg3 , unsigned char *arg4 ) { { { ixgbe_read_i2c_byte_generic(arg1, (int )arg2, (int )arg3, arg4); } return; } } void ldv_dummy_resourceless_instance_callback_12_95(int (*arg0)(struct ixgbe_hw * , unsigned char , unsigned char * ) , struct ixgbe_hw *arg1 , unsigned char arg2 , unsigned char *arg3 ) { { { ixgbe_read_i2c_eeprom_generic(arg1, (int )arg2, arg3); } return; } } void ldv_dummy_resourceless_instance_callback_12_98(int (*arg0)(struct ixgbe_hw * , unsigned char , unsigned char * ) , struct ixgbe_hw *arg1 , unsigned char arg2 , unsigned char *arg3 ) { { { ixgbe_read_i2c_sff8472_generic(arg1, (int )arg2, arg3); } return; } } void ldv_dummy_resourceless_instance_callback_13_104(int (*arg0)(struct ixgbe_hw * , unsigned int , unsigned int , unsigned short * ) , struct ixgbe_hw *arg1 , unsigned int arg2 , unsigned int arg3 , unsigned short *arg4 ) { { { ixgbe_read_phy_reg_generic(arg1, arg2, arg3, arg4); } return; } } void ldv_dummy_resourceless_instance_callback_13_110(void (*arg0)(struct ixgbe_hw * , unsigned short ) , struct ixgbe_hw *arg1 , unsigned short arg2 ) { { { ixgbe_release_swfw_sync_X540(arg1, (int )arg2); } return; } } void ldv_dummy_resourceless_instance_callback_13_114(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_reset_hw_X540(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_13_115(int (*arg0)(struct ixgbe_hw * , unsigned char , unsigned char , unsigned char , unsigned char ) , struct ixgbe_hw *arg1 , unsigned char arg2 , unsigned char arg3 , unsigned char arg4 , unsigned char arg5 ) { { { ixgbe_set_fw_drv_ver_generic(arg1, (int )arg2, (int )arg3, (int )arg4, (int )arg5); } return; } } void ldv_dummy_resourceless_instance_callback_13_119(void (*arg0)(struct ixgbe_hw * , _Bool , int ) , struct ixgbe_hw *arg1 , _Bool arg2 , int arg3 ) { { { ixgbe_set_mac_anti_spoofing(arg1, (int )arg2, arg3); } return; } } void ldv_dummy_resourceless_instance_callback_13_122(int (*arg0)(struct ixgbe_hw * , unsigned int , unsigned char * , unsigned int , unsigned int ) , struct ixgbe_hw *arg1 , unsigned int arg2 , unsigned char *arg3 , unsigned int arg4 , unsigned int arg5 ) { { { ixgbe_set_rar_generic(arg1, arg2, arg3, arg4, arg5); } return; } } void ldv_dummy_resourceless_instance_callback_13_125(void (*arg0)(struct ixgbe_hw * , int , unsigned int , int ) , struct ixgbe_hw *arg1 , int arg2 , unsigned int arg3 , int arg4 ) { { { ixgbe_set_rxpba_generic(arg1, arg2, arg3, arg4); } return; } } void ldv_dummy_resourceless_instance_callback_13_128(int (*arg0)(struct ixgbe_hw * , unsigned int , unsigned int , _Bool ) , struct ixgbe_hw *arg1 , unsigned int arg2 , unsigned int arg3 , _Bool arg4 ) { { { ixgbe_set_vfta_generic(arg1, arg2, arg3, (int )arg4); } return; } } void ldv_dummy_resourceless_instance_callback_13_131(void (*arg0)(struct ixgbe_hw * , _Bool , int ) , struct ixgbe_hw *arg1 , _Bool arg2 , int arg3 ) { { { ixgbe_set_vlan_anti_spoofing(arg1, (int )arg2, arg3); } return; } } void ldv_dummy_resourceless_instance_callback_13_134(int (*arg0)(struct ixgbe_hw * , unsigned int , unsigned int ) , struct ixgbe_hw *arg1 , unsigned int arg2 , unsigned int arg3 ) { { { ixgbe_set_vmdq_generic(arg1, arg2, arg3); } return; } } void ldv_dummy_resourceless_instance_callback_13_137(int (*arg0)(struct ixgbe_hw * , unsigned int ) , struct ixgbe_hw *arg1 , unsigned int arg2 ) { { { ixgbe_set_vmdq_san_mac_generic(arg1, arg2); } return; } } void ldv_dummy_resourceless_instance_callback_13_140(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_setup_phy_link_generic(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_13_141(int (*arg0)(struct ixgbe_hw * , unsigned int , _Bool ) , struct ixgbe_hw *arg1 , unsigned int arg2 , _Bool arg3 ) { { { ixgbe_setup_phy_link_speed_generic(arg1, arg2, (int )arg3); } return; } } void ldv_dummy_resourceless_instance_callback_13_145(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_start_hw_X540(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_13_146(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_stop_adapter_generic(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_13_149(int (*arg0)(struct ixgbe_hw * , struct net_device * ) , struct ixgbe_hw *arg1 , struct net_device *arg2 ) { { { ixgbe_update_mc_addr_list_generic(arg1, arg2); } return; } } void ldv_dummy_resourceless_instance_callback_13_15(unsigned short (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_calc_eeprom_checksum_X540(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_13_159(int (*arg0)(struct ixgbe_hw * , unsigned short , unsigned short , unsigned short * ) , struct ixgbe_hw *arg1 , unsigned short arg2 , unsigned short arg3 , unsigned short *arg4 ) { { { ixgbe_write_eewr_buffer_X540(arg1, (int )arg2, (int )arg3, arg4); } return; } } void ldv_dummy_resourceless_instance_callback_13_162(int (*arg0)(struct ixgbe_hw * , unsigned char , unsigned char , unsigned char ) , struct ixgbe_hw *arg1 , unsigned char arg2 , unsigned char arg3 , unsigned char arg4 ) { { { ixgbe_write_i2c_byte_generic(arg1, (int )arg2, (int )arg3, (int )arg4); } return; } } void ldv_dummy_resourceless_instance_callback_13_165(int (*arg0)(struct ixgbe_hw * , unsigned char , unsigned char ) , struct ixgbe_hw *arg1 , unsigned char arg2 , unsigned char arg3 ) { { { ixgbe_write_i2c_eeprom_generic(arg1, (int )arg2, (int )arg3); } return; } } void ldv_dummy_resourceless_instance_callback_13_171(int (*arg0)(struct ixgbe_hw * , unsigned int , unsigned int , unsigned short ) , struct ixgbe_hw *arg1 , unsigned int arg2 , unsigned int arg3 , unsigned short arg4 ) { { { ixgbe_write_phy_reg_generic(arg1, arg2, arg3, (int )arg4); } return; } } void ldv_dummy_resourceless_instance_callback_13_28(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_tn_check_overtemp(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_13_29(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_clear_hw_cntrs_generic(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_13_30(int (*arg0)(struct ixgbe_hw * , unsigned int ) , struct ixgbe_hw *arg1 , unsigned int arg2 ) { { { ixgbe_clear_rar_generic(arg1, arg2); } return; } } void ldv_dummy_resourceless_instance_callback_13_37(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_disable_mc_generic(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_13_38(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_disable_rx_buff_generic(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_13_39(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_enable_mc_generic(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_13_40(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_enable_rx_buff_generic(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_13_45(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_get_bus_info_generic(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_13_46(int (*arg0)(struct ixgbe_hw * , unsigned short * ) , struct ixgbe_hw *arg1 , unsigned short *arg2 ) { { { ixgbe_get_device_caps_generic(arg1, arg2); } return; } } void ldv_dummy_resourceless_instance_callback_13_49(int (*arg0)(struct ixgbe_hw * , unsigned short * ) , struct ixgbe_hw *arg1 , unsigned short *arg2 ) { { { ixgbe_get_phy_firmware_version_generic(arg1, arg2); } return; } } void ldv_dummy_resourceless_instance_callback_13_53(int (*arg0)(struct ixgbe_hw * , unsigned int * , _Bool * ) , struct ixgbe_hw *arg1 , unsigned int *arg2 , _Bool *arg3 ) { { { ixgbe_get_copper_link_capabilities_generic(arg1, arg2, arg3); } return; } } void ldv_dummy_resourceless_instance_callback_13_56(int (*arg0)(struct ixgbe_hw * , unsigned char * ) , struct ixgbe_hw *arg1 , unsigned char *arg2 ) { { { ixgbe_get_mac_addr_generic(arg1, arg2); } return; } } void ldv_dummy_resourceless_instance_callback_13_60(int (*arg0)(struct ixgbe_hw * , unsigned char * ) , struct ixgbe_hw *arg1 , unsigned char *arg2 ) { { { ixgbe_get_san_mac_addr_generic(arg1, arg2); } return; } } void ldv_dummy_resourceless_instance_callback_13_65(int (*arg0)(struct ixgbe_hw * , unsigned short * , unsigned short * ) , struct ixgbe_hw *arg1 , unsigned short *arg2 , unsigned short *arg3 ) { { { ixgbe_get_wwn_prefix_generic(arg1, arg2, arg3); } return; } } void ldv_dummy_resourceless_instance_callback_13_68(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_identify_phy_generic(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_13_69(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_identify_sfp_module_generic(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_13_71(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_init_hw_generic(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_13_73(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_init_rx_addrs_generic(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_13_75(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_init_uta_tables_generic(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_13_76(int (*arg0)(struct ixgbe_hw * , unsigned int ) , struct ixgbe_hw *arg1 , unsigned int arg2 ) { { { ixgbe_led_off_generic(arg1, arg2); } return; } } void ldv_dummy_resourceless_instance_callback_13_79(int (*arg0)(struct ixgbe_hw * , unsigned int ) , struct ixgbe_hw *arg1 , unsigned int arg2 ) { { { ixgbe_led_on_generic(arg1, arg2); } return; } } void ldv_dummy_resourceless_instance_callback_13_92(int (*arg0)(struct ixgbe_hw * , unsigned char , unsigned char , unsigned char * ) , struct ixgbe_hw *arg1 , unsigned char arg2 , unsigned char arg3 , unsigned char *arg4 ) { { { ixgbe_read_i2c_byte_generic(arg1, (int )arg2, (int )arg3, arg4); } return; } } void ldv_dummy_resourceless_instance_callback_13_95(int (*arg0)(struct ixgbe_hw * , unsigned char , unsigned char * ) , struct ixgbe_hw *arg1 , unsigned char arg2 , unsigned char *arg3 ) { { { ixgbe_read_i2c_eeprom_generic(arg1, (int )arg2, arg3); } return; } } void ldv_dummy_resourceless_instance_callback_13_98(int (*arg0)(struct ixgbe_hw * , unsigned char , unsigned char * ) , struct ixgbe_hw *arg1 , unsigned char arg2 , unsigned char *arg3 ) { { { ixgbe_read_i2c_sff8472_generic(arg1, (int )arg2, arg3); } return; } } void ldv_dummy_resourceless_instance_callback_8_104(int (*arg0)(struct ixgbe_hw * , unsigned int , unsigned int , unsigned short * ) , struct ixgbe_hw *arg1 , unsigned int arg2 , unsigned int arg3 , unsigned short *arg4 ) { { { ixgbe_read_phy_reg_generic(arg1, arg2, arg3, arg4); } return; } } void ldv_dummy_resourceless_instance_callback_8_115(int (*arg0)(struct ixgbe_hw * , unsigned char , unsigned char , unsigned char , unsigned char ) , struct ixgbe_hw *arg1 , unsigned char arg2 , unsigned char arg3 , unsigned char arg4 , unsigned char arg5 ) { { { ixgbe_set_fw_drv_ver_generic(arg1, (int )arg2, (int )arg3, (int )arg4, (int )arg5); } return; } } void ldv_dummy_resourceless_instance_callback_8_118(void (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_set_lan_id_multi_port_pcie(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_8_119(void (*arg0)(struct ixgbe_hw * , _Bool , int ) , struct ixgbe_hw *arg1 , _Bool arg2 , int arg3 ) { { { ixgbe_set_mac_anti_spoofing(arg1, (int )arg2, arg3); } return; } } void ldv_dummy_resourceless_instance_callback_8_122(int (*arg0)(struct ixgbe_hw * , unsigned int , unsigned char * , unsigned int , unsigned int ) , struct ixgbe_hw *arg1 , unsigned int arg2 , unsigned char *arg3 , unsigned int arg4 , unsigned int arg5 ) { { { ixgbe_set_rar_generic(arg1, arg2, arg3, arg4, arg5); } return; } } void ldv_dummy_resourceless_instance_callback_8_131(void (*arg0)(struct ixgbe_hw * , _Bool , int ) , struct ixgbe_hw *arg1 , _Bool arg2 , int arg3 ) { { { ixgbe_set_vlan_anti_spoofing(arg1, (int )arg2, arg3); } return; } } void ldv_dummy_resourceless_instance_callback_8_137(int (*arg0)(struct ixgbe_hw * , unsigned int ) , struct ixgbe_hw *arg1 , unsigned int arg2 ) { { { ixgbe_set_vmdq_san_mac_generic(arg1, arg2); } return; } } void ldv_dummy_resourceless_instance_callback_8_140(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_setup_phy_link_generic(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_8_146(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_stop_adapter_generic(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_8_148(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_update_eeprom_checksum_X540(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_8_149(int (*arg0)(struct ixgbe_hw * , struct net_device * ) , struct ixgbe_hw *arg1 , struct net_device *arg2 ) { { { ixgbe_update_mc_addr_list_generic(arg1, arg2); } return; } } void ldv_dummy_resourceless_instance_callback_8_15(unsigned short (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_calc_eeprom_checksum_X540(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_8_150(int (*arg0)(struct ixgbe_hw * , unsigned short * ) , struct ixgbe_hw *arg1 , unsigned short *arg2 ) { { { ixgbe_validate_eeprom_checksum_X540(arg1, arg2); } return; } } void ldv_dummy_resourceless_instance_callback_8_159(int (*arg0)(struct ixgbe_hw * , unsigned short , unsigned short , unsigned short * ) , struct ixgbe_hw *arg1 , unsigned short arg2 , unsigned short arg3 , unsigned short *arg4 ) { { { ixgbe_write_eewr_buffer_X540(arg1, (int )arg2, (int )arg3, arg4); } return; } } void ldv_dummy_resourceless_instance_callback_8_162(int (*arg0)(struct ixgbe_hw * , unsigned char , unsigned char , unsigned char ) , struct ixgbe_hw *arg1 , unsigned char arg2 , unsigned char arg3 , unsigned char arg4 ) { { { ixgbe_write_i2c_byte_generic(arg1, (int )arg2, (int )arg3, (int )arg4); } return; } } void ldv_dummy_resourceless_instance_callback_8_165(int (*arg0)(struct ixgbe_hw * , unsigned char , unsigned char ) , struct ixgbe_hw *arg1 , unsigned char arg2 , unsigned char arg3 ) { { { ixgbe_write_i2c_eeprom_generic(arg1, (int )arg2, (int )arg3); } return; } } void ldv_dummy_resourceless_instance_callback_8_171(int (*arg0)(struct ixgbe_hw * , unsigned int , unsigned int , unsigned short ) , struct ixgbe_hw *arg1 , unsigned int arg2 , unsigned int arg3 , unsigned short arg4 ) { { { ixgbe_write_phy_reg_generic(arg1, arg2, arg3, (int )arg4); } return; } } void ldv_dummy_resourceless_instance_callback_8_28(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_tn_check_overtemp(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_8_29(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_clear_hw_cntrs_generic(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_8_30(int (*arg0)(struct ixgbe_hw * , unsigned int ) , struct ixgbe_hw *arg1 , unsigned int arg2 ) { { { ixgbe_clear_rar_generic(arg1, arg2); } return; } } void ldv_dummy_resourceless_instance_callback_8_37(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_disable_mc_generic(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_8_38(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_disable_rx_buff_generic(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_8_39(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_enable_mc_generic(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_8_40(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_enable_rx_buff_generic(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_8_45(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_get_bus_info_generic(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_8_46(int (*arg0)(struct ixgbe_hw * , unsigned short * ) , struct ixgbe_hw *arg1 , unsigned short *arg2 ) { { { ixgbe_get_device_caps_generic(arg1, arg2); } return; } } void ldv_dummy_resourceless_instance_callback_8_49(int (*arg0)(struct ixgbe_hw * , unsigned short * ) , struct ixgbe_hw *arg1 , unsigned short *arg2 ) { { { ixgbe_get_phy_firmware_version_generic(arg1, arg2); } return; } } void ldv_dummy_resourceless_instance_callback_8_53(int (*arg0)(struct ixgbe_hw * , unsigned int * , _Bool * ) , struct ixgbe_hw *arg1 , unsigned int *arg2 , _Bool *arg3 ) { { { ixgbe_get_copper_link_capabilities_generic(arg1, arg2, arg3); } return; } } void ldv_dummy_resourceless_instance_callback_8_56(int (*arg0)(struct ixgbe_hw * , unsigned char * ) , struct ixgbe_hw *arg1 , unsigned char *arg2 ) { { { ixgbe_get_mac_addr_generic(arg1, arg2); } return; } } void ldv_dummy_resourceless_instance_callback_8_60(int (*arg0)(struct ixgbe_hw * , unsigned char * ) , struct ixgbe_hw *arg1 , unsigned char *arg2 ) { { { ixgbe_get_san_mac_addr_generic(arg1, arg2); } return; } } void ldv_dummy_resourceless_instance_callback_8_65(int (*arg0)(struct ixgbe_hw * , unsigned short * , unsigned short * ) , struct ixgbe_hw *arg1 , unsigned short *arg2 , unsigned short *arg3 ) { { { ixgbe_get_wwn_prefix_generic(arg1, arg2, arg3); } return; } } void ldv_dummy_resourceless_instance_callback_8_68(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_identify_phy_generic(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_8_69(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_identify_sfp_module_generic(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_8_71(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_init_hw_generic(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_8_72(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_init_eeprom_params_X540(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_8_73(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_init_rx_addrs_generic(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_8_75(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_init_uta_tables_generic(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_8_76(int (*arg0)(struct ixgbe_hw * , unsigned int ) , struct ixgbe_hw *arg1 , unsigned int arg2 ) { { { ixgbe_led_off_generic(arg1, arg2); } return; } } void ldv_dummy_resourceless_instance_callback_8_79(int (*arg0)(struct ixgbe_hw * , unsigned int ) , struct ixgbe_hw *arg1 , unsigned int arg2 ) { { { ixgbe_led_on_generic(arg1, arg2); } return; } } void ldv_dummy_resourceless_instance_callback_8_92(int (*arg0)(struct ixgbe_hw * , unsigned char , unsigned char , unsigned char * ) , struct ixgbe_hw *arg1 , unsigned char arg2 , unsigned char arg3 , unsigned char *arg4 ) { { { ixgbe_read_i2c_byte_generic(arg1, (int )arg2, (int )arg3, arg4); } return; } } void ldv_dummy_resourceless_instance_callback_9_104(int (*arg0)(struct ixgbe_hw * , unsigned int , unsigned int , unsigned short * ) , struct ixgbe_hw *arg1 , unsigned int arg2 , unsigned int arg3 , unsigned short *arg4 ) { { { ixgbe_read_phy_reg_generic(arg1, arg2, arg3, arg4); } return; } } void ldv_dummy_resourceless_instance_callback_9_110(void (*arg0)(struct ixgbe_hw * , unsigned short ) , struct ixgbe_hw *arg1 , unsigned short arg2 ) { { { ixgbe_release_swfw_sync_X540(arg1, (int )arg2); } return; } } void ldv_dummy_resourceless_instance_callback_9_115(int (*arg0)(struct ixgbe_hw * , unsigned char , unsigned char , unsigned char , unsigned char ) , struct ixgbe_hw *arg1 , unsigned char arg2 , unsigned char arg3 , unsigned char arg4 , unsigned char arg5 ) { { { ixgbe_set_fw_drv_ver_generic(arg1, (int )arg2, (int )arg3, (int )arg4, (int )arg5); } return; } } void ldv_dummy_resourceless_instance_callback_9_119(void (*arg0)(struct ixgbe_hw * , _Bool , int ) , struct ixgbe_hw *arg1 , _Bool arg2 , int arg3 ) { { { ixgbe_set_mac_anti_spoofing(arg1, (int )arg2, arg3); } return; } } void ldv_dummy_resourceless_instance_callback_9_12(int (*arg0)(struct ixgbe_hw * , unsigned int ) , struct ixgbe_hw *arg1 , unsigned int arg2 ) { { { ixgbe_blink_led_stop_X540(arg1, arg2); } return; } } void ldv_dummy_resourceless_instance_callback_9_122(int (*arg0)(struct ixgbe_hw * , unsigned int , unsigned char * , unsigned int , unsigned int ) , struct ixgbe_hw *arg1 , unsigned int arg2 , unsigned char *arg3 , unsigned int arg4 , unsigned int arg5 ) { { { ixgbe_set_rar_generic(arg1, arg2, arg3, arg4, arg5); } return; } } void ldv_dummy_resourceless_instance_callback_9_125(void (*arg0)(struct ixgbe_hw * , int , unsigned int , int ) , struct ixgbe_hw *arg1 , int arg2 , unsigned int arg3 , int arg4 ) { { { ixgbe_set_rxpba_generic(arg1, arg2, arg3, arg4); } return; } } void ldv_dummy_resourceless_instance_callback_9_128(int (*arg0)(struct ixgbe_hw * , unsigned int , unsigned int , _Bool ) , struct ixgbe_hw *arg1 , unsigned int arg2 , unsigned int arg3 , _Bool arg4 ) { { { ixgbe_set_vfta_generic(arg1, arg2, arg3, (int )arg4); } return; } } void ldv_dummy_resourceless_instance_callback_9_131(void (*arg0)(struct ixgbe_hw * , _Bool , int ) , struct ixgbe_hw *arg1 , _Bool arg2 , int arg3 ) { { { ixgbe_set_vlan_anti_spoofing(arg1, (int )arg2, arg3); } return; } } void ldv_dummy_resourceless_instance_callback_9_134(int (*arg0)(struct ixgbe_hw * , unsigned int , unsigned int ) , struct ixgbe_hw *arg1 , unsigned int arg2 , unsigned int arg3 ) { { { ixgbe_set_vmdq_generic(arg1, arg2, arg3); } return; } } void ldv_dummy_resourceless_instance_callback_9_137(int (*arg0)(struct ixgbe_hw * , unsigned int ) , struct ixgbe_hw *arg1 , unsigned int arg2 ) { { { ixgbe_set_vmdq_san_mac_generic(arg1, arg2); } return; } } void ldv_dummy_resourceless_instance_callback_9_140(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_setup_phy_link_generic(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_9_146(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_stop_adapter_generic(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_9_149(int (*arg0)(struct ixgbe_hw * , struct net_device * ) , struct ixgbe_hw *arg1 , struct net_device *arg2 ) { { { ixgbe_update_mc_addr_list_generic(arg1, arg2); } return; } } void ldv_dummy_resourceless_instance_callback_9_162(int (*arg0)(struct ixgbe_hw * , unsigned char , unsigned char , unsigned char ) , struct ixgbe_hw *arg1 , unsigned char arg2 , unsigned char arg3 , unsigned char arg4 ) { { { ixgbe_write_i2c_byte_generic(arg1, (int )arg2, (int )arg3, (int )arg4); } return; } } void ldv_dummy_resourceless_instance_callback_9_165(int (*arg0)(struct ixgbe_hw * , unsigned char , unsigned char ) , struct ixgbe_hw *arg1 , unsigned char arg2 , unsigned char arg3 ) { { { ixgbe_write_i2c_eeprom_generic(arg1, (int )arg2, (int )arg3); } return; } } void ldv_dummy_resourceless_instance_callback_9_171(int (*arg0)(struct ixgbe_hw * , unsigned int , unsigned int , unsigned short ) , struct ixgbe_hw *arg1 , unsigned int arg2 , unsigned int arg3 , unsigned short arg4 ) { { { ixgbe_write_phy_reg_generic(arg1, arg2, arg3, (int )arg4); } return; } } void ldv_dummy_resourceless_instance_callback_9_25(int (*arg0)(struct ixgbe_hw * , unsigned int * , _Bool * , _Bool ) , struct ixgbe_hw *arg1 , unsigned int *arg2 , _Bool *arg3 , _Bool arg4 ) { { { ixgbe_check_mac_link_generic(arg1, arg2, arg3, (int )arg4); } return; } } void ldv_dummy_resourceless_instance_callback_9_28(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_tn_check_overtemp(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_9_29(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_clear_hw_cntrs_generic(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_9_3(int (*arg0)(struct ixgbe_hw * , unsigned short ) , struct ixgbe_hw *arg1 , unsigned short arg2 ) { { { ixgbe_acquire_swfw_sync_X540(arg1, (int )arg2); } return; } } void ldv_dummy_resourceless_instance_callback_9_30(int (*arg0)(struct ixgbe_hw * , unsigned int ) , struct ixgbe_hw *arg1 , unsigned int arg2 ) { { { ixgbe_clear_rar_generic(arg1, arg2); } return; } } void ldv_dummy_resourceless_instance_callback_9_33(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_clear_vfta_generic(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_9_34(int (*arg0)(struct ixgbe_hw * , unsigned int , unsigned int ) , struct ixgbe_hw *arg1 , unsigned int arg2 , unsigned int arg3 ) { { { ixgbe_clear_vmdq_generic(arg1, arg2, arg3); } return; } } void ldv_dummy_resourceless_instance_callback_9_37(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_disable_mc_generic(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_9_38(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_disable_rx_buff_generic(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_9_39(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_enable_mc_generic(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_9_40(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_enable_rx_buff_generic(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_9_41(int (*arg0)(struct ixgbe_hw * , unsigned int ) , struct ixgbe_hw *arg1 , unsigned int arg2 ) { { { ixgbe_enable_rx_dma_generic(arg1, arg2); } return; } } void ldv_dummy_resourceless_instance_callback_9_44(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_fc_enable_generic(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_9_45(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_get_bus_info_generic(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_9_46(int (*arg0)(struct ixgbe_hw * , unsigned short * ) , struct ixgbe_hw *arg1 , unsigned short *arg2 ) { { { ixgbe_get_device_caps_generic(arg1, arg2); } return; } } void ldv_dummy_resourceless_instance_callback_9_49(int (*arg0)(struct ixgbe_hw * , unsigned short * ) , struct ixgbe_hw *arg1 , unsigned short *arg2 ) { { { ixgbe_get_phy_firmware_version_generic(arg1, arg2); } return; } } void ldv_dummy_resourceless_instance_callback_9_52(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_get_invariants_X540(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_9_56(int (*arg0)(struct ixgbe_hw * , unsigned char * ) , struct ixgbe_hw *arg1 , unsigned char *arg2 ) { { { ixgbe_get_mac_addr_generic(arg1, arg2); } return; } } void ldv_dummy_resourceless_instance_callback_9_60(int (*arg0)(struct ixgbe_hw * , unsigned char * ) , struct ixgbe_hw *arg1 , unsigned char *arg2 ) { { { ixgbe_get_san_mac_addr_generic(arg1, arg2); } return; } } void ldv_dummy_resourceless_instance_callback_9_65(int (*arg0)(struct ixgbe_hw * , unsigned short * , unsigned short * ) , struct ixgbe_hw *arg1 , unsigned short *arg2 , unsigned short *arg3 ) { { { ixgbe_get_wwn_prefix_generic(arg1, arg2, arg3); } return; } } void ldv_dummy_resourceless_instance_callback_9_68(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_identify_phy_generic(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_9_69(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_identify_sfp_module_generic(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_9_71(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_init_hw_generic(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_9_73(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_init_rx_addrs_generic(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_9_75(int (*arg0)(struct ixgbe_hw * ) , struct ixgbe_hw *arg1 ) { { { ixgbe_init_uta_tables_generic(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_9_76(int (*arg0)(struct ixgbe_hw * , unsigned int ) , struct ixgbe_hw *arg1 , unsigned int arg2 ) { { { ixgbe_led_off_generic(arg1, arg2); } return; } } void ldv_dummy_resourceless_instance_callback_9_79(int (*arg0)(struct ixgbe_hw * , unsigned int ) , struct ixgbe_hw *arg1 , unsigned int arg2 ) { { { ixgbe_led_on_generic(arg1, arg2); } return; } } void ldv_dummy_resourceless_instance_callback_9_9(int (*arg0)(struct ixgbe_hw * , unsigned int ) , struct ixgbe_hw *arg1 , unsigned int arg2 ) { { { ixgbe_blink_led_start_X540(arg1, arg2); } return; } } void ldv_dummy_resourceless_instance_callback_9_92(int (*arg0)(struct ixgbe_hw * , unsigned char , unsigned char , unsigned char * ) , struct ixgbe_hw *arg1 , unsigned char arg2 , unsigned char arg3 , unsigned char *arg4 ) { { { ixgbe_read_i2c_byte_generic(arg1, (int )arg2, (int )arg3, arg4); } return; } } void ldv_dummy_resourceless_instance_callback_9_95(int (*arg0)(struct ixgbe_hw * , unsigned char , unsigned char * ) , struct ixgbe_hw *arg1 , unsigned char arg2 , unsigned char *arg3 ) { { { ixgbe_read_i2c_eeprom_generic(arg1, (int )arg2, arg3); } return; } } void ldv_dummy_resourceless_instance_callback_9_98(int (*arg0)(struct ixgbe_hw * , unsigned char , unsigned char * ) , struct ixgbe_hw *arg1 , unsigned char arg2 , unsigned char *arg3 ) { { { ixgbe_read_i2c_sff8472_generic(arg1, (int )arg2, arg3); } return; } } __inline static void cpumask_set_cpu(unsigned int cpu , struct cpumask *dstp ) { unsigned int tmp ; { { tmp = cpumask_check(cpu); set_bit((long )tmp, (unsigned long volatile *)(& dstp->bits)); } return; } } extern void kfree_call_rcu(struct callback_head * , void (*)(struct callback_head * ) ) ; extern int __cpu_to_node(int ) ; extern void *__kmalloc_node(size_t , gfp_t , int ) ; __inline static void *kmalloc_node(size_t size , gfp_t flags , int node ) { void *tmp___1 ; { { tmp___1 = __kmalloc_node(size, flags, node); } return (tmp___1); } } __inline static void *kzalloc(size_t size , gfp_t flags ) ; __inline static void *kzalloc_node(size_t size , gfp_t flags , int node ) { void *tmp ; { { tmp = kmalloc_node(size, flags | 32768U, node); } return (tmp); } } extern void napi_hash_add(struct napi_struct * ) ; extern void napi_hash_del(struct napi_struct * ) ; __inline static int netdev_set_tc_queue(struct net_device *dev , u8 tc , u16 count , u16 offset ) { { if ((int )tc >= (int )dev->num_tc) { return (-22); } else { } dev->tc_to_txq[(int )tc].count = count; dev->tc_to_txq[(int )tc].offset = offset; return (0); } } extern void netif_napi_add(struct net_device * , struct napi_struct * , int (*)(struct napi_struct * , int ) , int ) ; extern void netif_napi_del(struct napi_struct * ) ; extern int netdev_printk(char const * , struct net_device const * , char const * , ...) ; extern int pci_enable_msi_block(struct pci_dev * , int ) ; extern void pci_disable_msi(struct pci_dev * ) ; extern int pci_enable_msix(struct pci_dev * , struct msix_entry * , int ) ; static bool ixgbe_cache_ring_dcb_sriov(struct ixgbe_adapter *adapter ) { struct ixgbe_ring_feature *fcoe ; struct ixgbe_ring_feature *vmdq ; int i ; u16 reg_idx ; u8 tcs ; int tmp ; u16 queues_per_pool ; u8 fcoe_tc ; u8 tmp___0 ; { { fcoe = (struct ixgbe_ring_feature *)(& adapter->ring_feature) + 4UL; vmdq = (struct ixgbe_ring_feature *)(& adapter->ring_feature) + 1UL; tmp = netdev_get_num_tc(adapter->netdev); tcs = (u8 )tmp; } if ((unsigned int )tcs <= 1U) { return (0); } else { } if ((adapter->flags & 8388608U) == 0U) { return (0); } else { } reg_idx = (int )vmdq->offset * (int )((u16 )(- ((int )vmdq->mask) & (int )vmdq->mask)); i = 0; goto ldv_50903; ldv_50902: ; if (((int )reg_idx & ~ ((int )vmdq->mask)) >= (int )tcs) { reg_idx = (u16 )((int )((short )((int )reg_idx + ~ ((int )vmdq->mask))) & (int )((short )vmdq->mask)); } else { } (adapter->rx_ring[i])->reg_idx = (u8 )reg_idx; i = i + 1; reg_idx = (u16 )((int )reg_idx + 1); ldv_50903: ; if (i < adapter->num_rx_queues) { goto ldv_50902; } else { } reg_idx = (int )vmdq->offset * (int )((u16 )(- ((int )vmdq->mask) & (int )vmdq->mask)); i = 0; goto ldv_50906; ldv_50905: ; if (((int )reg_idx & ~ ((int )vmdq->mask)) >= (int )tcs) { reg_idx = (u16 )((int )((short )((int )reg_idx + ~ ((int )vmdq->mask))) & (int )((short )vmdq->mask)); } else { } (adapter->tx_ring[i])->reg_idx = (u8 )reg_idx; i = i + 1; reg_idx = (u16 )((int )reg_idx + 1); ldv_50906: ; if (i < adapter->num_tx_queues) { goto ldv_50905; } else { } if ((adapter->flags & 2097152U) == 0U) { return (1); } else { } if ((int )fcoe->offset < (int )((unsigned short )tcs)) { return (1); } else { } if ((unsigned int )fcoe->indices != 0U) { { queues_per_pool = (u16 )((int )((short )(- ((int )vmdq->mask))) & (int )((short )vmdq->mask)); tmp___0 = ixgbe_fcoe_get_tc(adapter); fcoe_tc = tmp___0; reg_idx = (int )((u16 )((int )vmdq->offset + (int )vmdq->indices)) * (int )queues_per_pool; i = (int )fcoe->offset; } goto ldv_50911; ldv_50910: reg_idx = (int )((u16 )((int )((short )((int )reg_idx + ~ ((int )vmdq->mask))) & (int )((short )vmdq->mask))) + (int )((u16 )fcoe_tc); (adapter->rx_ring[i])->reg_idx = (u8 )reg_idx; reg_idx = (u16 )((int )reg_idx + 1); i = i + 1; ldv_50911: ; if (i < adapter->num_rx_queues) { goto ldv_50910; } else { } reg_idx = (int )((u16 )((int )vmdq->offset + (int )vmdq->indices)) * (int )queues_per_pool; i = (int )fcoe->offset; goto ldv_50914; ldv_50913: reg_idx = (int )((u16 )((int )((short )((int )reg_idx + ~ ((int )vmdq->mask))) & (int )((short )vmdq->mask))) + (int )((u16 )fcoe_tc); (adapter->tx_ring[i])->reg_idx = (u8 )reg_idx; reg_idx = (u16 )((int )reg_idx + 1); i = i + 1; ldv_50914: ; if (i < adapter->num_tx_queues) { goto ldv_50913; } else { } } else { } return (1); } } static void ixgbe_get_first_reg_idx(struct ixgbe_adapter *adapter , u8 tc , unsigned int *tx , unsigned int *rx ) { struct net_device *dev ; struct ixgbe_hw *hw ; u8 num_tcs ; int tmp ; { { dev = adapter->netdev; hw = & adapter->hw; tmp = netdev_get_num_tc(dev); num_tcs = (u8 )tmp; *tx = 0U; *rx = 0U; } { if ((unsigned int )hw->mac.type == 1U) { goto case_1; } else { } if ((unsigned int )hw->mac.type == 2U) { goto case_2; } else { } if ((unsigned int )hw->mac.type == 3U) { goto case_3; } else { } goto switch_default; case_1: /* CIL Label */ *tx = (unsigned int )((int )tc << 2); *rx = (unsigned int )((int )tc << 3); goto ldv_50926; case_2: /* CIL Label */ ; case_3: /* CIL Label */ ; if ((unsigned int )num_tcs > 4U) { *rx = (unsigned int )((int )tc << 4); if ((unsigned int )tc <= 2U) { *tx = (unsigned int )((int )tc << 5); } else if ((unsigned int )tc <= 4U) { *tx = (unsigned int )(((int )tc + 2) << 4); } else { *tx = (unsigned int )(((int )tc + 8) << 3); } } else { *rx = (unsigned int )((int )tc << 5); if ((unsigned int )tc <= 1U) { *tx = (unsigned int )((int )tc << 6); } else { *tx = (unsigned int )(((int )tc + 4) << 4); } } switch_default: /* CIL Label */ ; goto ldv_50926; switch_break: /* CIL Label */ ; } ldv_50926: ; return; } } static bool ixgbe_cache_ring_dcb(struct ixgbe_adapter *adapter ) { struct net_device *dev ; unsigned int tx_idx ; unsigned int rx_idx ; int tc ; int offset ; int rss_i ; int i ; u8 num_tcs ; int tmp ; { { dev = adapter->netdev; tmp = netdev_get_num_tc(dev); num_tcs = (u8 )tmp; } if ((unsigned int )num_tcs <= 1U) { return (0); } else { } rss_i = (int )adapter->ring_feature[2].indices; tc = 0; offset = 0; goto ldv_50945; ldv_50944: { ixgbe_get_first_reg_idx(adapter, (int )((u8 )tc), & tx_idx, & rx_idx); i = 0; } goto ldv_50942; ldv_50941: (adapter->tx_ring[offset + i])->reg_idx = (u8 )tx_idx; (adapter->rx_ring[offset + i])->reg_idx = (u8 )rx_idx; (adapter->tx_ring[offset + i])->dcb_tc = (u8 )tc; (adapter->rx_ring[offset + i])->dcb_tc = (u8 )tc; i = i + 1; tx_idx = tx_idx + 1U; rx_idx = rx_idx + 1U; ldv_50942: ; if (i < rss_i) { goto ldv_50941; } else { } tc = tc + 1; offset = offset + rss_i; ldv_50945: ; if (tc < (int )num_tcs) { goto ldv_50944; } else { } return (1); } } static bool ixgbe_cache_ring_sriov(struct ixgbe_adapter *adapter ) { struct ixgbe_ring_feature *fcoe ; struct ixgbe_ring_feature *vmdq ; struct ixgbe_ring_feature *rss ; int i ; u16 reg_idx ; { fcoe = (struct ixgbe_ring_feature *)(& adapter->ring_feature) + 4UL; vmdq = (struct ixgbe_ring_feature *)(& adapter->ring_feature) + 1UL; rss = (struct ixgbe_ring_feature *)(& adapter->ring_feature) + 2UL; if ((adapter->flags & 16384U) == 0U) { return (0); } else { } reg_idx = (int )vmdq->offset * (int )((u16 )(- ((int )vmdq->mask) & (int )vmdq->mask)); i = 0; goto ldv_50957; ldv_50956: ; if ((unsigned int )fcoe->offset != 0U && i > (int )fcoe->offset) { goto ldv_50955; } else { } if (((int )reg_idx & ~ ((int )vmdq->mask)) >= (int )rss->indices) { reg_idx = (u16 )((int )((short )((int )reg_idx + ~ ((int )vmdq->mask))) & (int )((short )vmdq->mask)); } else { } (adapter->rx_ring[i])->reg_idx = (u8 )reg_idx; i = i + 1; reg_idx = (u16 )((int )reg_idx + 1); ldv_50957: ; if (i < adapter->num_rx_queues) { goto ldv_50956; } else { } ldv_50955: ; goto ldv_50959; ldv_50958: (adapter->rx_ring[i])->reg_idx = (u8 )reg_idx; i = i + 1; reg_idx = (u16 )((int )reg_idx + 1); ldv_50959: ; if (i < adapter->num_rx_queues) { goto ldv_50958; } else { } reg_idx = (int )vmdq->offset * (int )((u16 )(- ((int )vmdq->mask) & (int )vmdq->mask)); i = 0; goto ldv_50963; ldv_50962: ; if ((unsigned int )fcoe->offset != 0U && i > (int )fcoe->offset) { goto ldv_50961; } else { } if (((int )reg_idx & (int )rss->mask) >= (int )rss->indices) { reg_idx = (u16 )((int )((short )((int )reg_idx + ~ ((int )vmdq->mask))) & (int )((short )vmdq->mask)); } else { } (adapter->tx_ring[i])->reg_idx = (u8 )reg_idx; i = i + 1; reg_idx = (u16 )((int )reg_idx + 1); ldv_50963: ; if (i < adapter->num_tx_queues) { goto ldv_50962; } else { } ldv_50961: ; goto ldv_50965; ldv_50964: (adapter->tx_ring[i])->reg_idx = (u8 )reg_idx; i = i + 1; reg_idx = (u16 )((int )reg_idx + 1); ldv_50965: ; if (i < adapter->num_tx_queues) { goto ldv_50964; } else { } return (1); } } static bool ixgbe_cache_ring_rss(struct ixgbe_adapter *adapter ) { int i ; { i = 0; goto ldv_50972; ldv_50971: (adapter->rx_ring[i])->reg_idx = (u8 )i; i = i + 1; ldv_50972: ; if (i < adapter->num_rx_queues) { goto ldv_50971; } else { } i = 0; goto ldv_50975; ldv_50974: (adapter->tx_ring[i])->reg_idx = (u8 )i; i = i + 1; ldv_50975: ; if (i < adapter->num_tx_queues) { goto ldv_50974; } else { } return (1); } } static void ixgbe_cache_ring_register(struct ixgbe_adapter *adapter ) { bool tmp ; bool tmp___0 ; bool tmp___1 ; { { (adapter->rx_ring[0])->reg_idx = 0U; (adapter->tx_ring[0])->reg_idx = 0U; tmp = ixgbe_cache_ring_dcb_sriov(adapter); } if ((int )tmp) { return; } else { } { tmp___0 = ixgbe_cache_ring_dcb(adapter); } if ((int )tmp___0) { return; } else { } { tmp___1 = ixgbe_cache_ring_sriov(adapter); } if ((int )tmp___1) { return; } else { } { ixgbe_cache_ring_rss(adapter); } return; } } static bool ixgbe_set_dcb_sriov_queues(struct ixgbe_adapter *adapter ) { int i ; u16 vmdq_i ; u16 vmdq_m ; u16 fcoe_i ; u8 tcs ; int tmp ; u16 __min1 ; u16 __min2 ; u16 __min1___0 ; u16 __min2___0 ; struct ixgbe_ring_feature *fcoe ; u16 __min1___1 ; u16 __min2___1 ; u8 tmp___0 ; { { vmdq_i = adapter->ring_feature[1].limit; vmdq_m = 0U; fcoe_i = 0U; tmp = netdev_get_num_tc(adapter->netdev); tcs = (u8 )tmp; } if ((unsigned int )tcs <= 1U) { return (0); } else { } if ((adapter->flags & 8388608U) == 0U) { return (0); } else { } vmdq_i = (int )vmdq_i + (int )adapter->ring_feature[1].offset; if ((unsigned int )tcs > 4U) { __min1 = vmdq_i; __min2 = 16U; vmdq_i = (u16 )((int )__min1 < (int )__min2 ? __min1 : __min2); vmdq_m = 120U; } else { __min1___0 = vmdq_i; __min2___0 = 32U; vmdq_i = (u16 )((int )__min1___0 < (int )__min2___0 ? __min1___0 : __min2___0); vmdq_m = 124U; } fcoe_i = (int )((u16 )(128 / (- ((int )vmdq_m) & (int )vmdq_m))) - (int )vmdq_i; vmdq_i = (int )vmdq_i - (int )adapter->ring_feature[1].offset; adapter->ring_feature[1].indices = vmdq_i; adapter->ring_feature[1].mask = vmdq_m; adapter->ring_feature[2].indices = 1U; adapter->ring_feature[2].mask = 0U; adapter->flags = adapter->flags & 4294705151U; adapter->num_rx_pools = (int )vmdq_i; adapter->num_rx_queues_per_pool = (int )tcs; adapter->num_tx_queues = (int )vmdq_i * (int )tcs; adapter->num_rx_queues = (int )vmdq_i * (int )tcs; if ((adapter->flags & 2097152U) != 0U) { fcoe = (struct ixgbe_ring_feature *)(& adapter->ring_feature) + 4UL; __min1___1 = fcoe_i; __min2___1 = fcoe->limit; fcoe_i = (u16 )((int )__min1___1 < (int )__min2___1 ? __min1___1 : __min2___1); if ((unsigned int )fcoe_i != 0U) { fcoe->indices = fcoe_i; fcoe->offset = (int )vmdq_i * (int )((u16 )tcs); adapter->num_tx_queues = adapter->num_tx_queues + (int )fcoe_i; adapter->num_rx_queues = adapter->num_rx_queues + (int )fcoe_i; } else if ((unsigned int )tcs > 1U) { { fcoe->indices = 1U; tmp___0 = ixgbe_fcoe_get_tc(adapter); fcoe->offset = (u16 )tmp___0; } } else { adapter->flags = adapter->flags & 4292870143U; fcoe->indices = 0U; fcoe->offset = 0U; } } else { } i = 0; goto ldv_50999; ldv_50998: { netdev_set_tc_queue(adapter->netdev, (int )((u8 )i), 1, (int )((u16 )i)); i = i + 1; } ldv_50999: ; if (i < (int )tcs) { goto ldv_50998; } else { } return (1); } } static bool ixgbe_set_dcb_queues(struct ixgbe_adapter *adapter ) { struct net_device *dev ; struct ixgbe_ring_feature *f ; int rss_i ; int rss_m ; int i ; int tcs ; u16 __min1 ; u16 __min2 ; u16 __min1___0 ; u16 __min2___0 ; u16 __min1___1 ; u16 __min2___1 ; int __min1___2 ; int __min2___2 ; u8 tc ; u8 tmp ; u16 __min1___3 ; u16 __min2___3 ; { { dev = adapter->netdev; tcs = netdev_get_num_tc(dev); } if (tcs <= 1) { return (0); } else { } rss_i = (int )(dev->num_tx_queues / (unsigned int )tcs); if ((unsigned int )adapter->hw.mac.type == 1U) { __min1 = (u16 )rss_i; __min2 = 4U; rss_i = (int )__min1 < (int )__min2 ? __min1 : __min2; rss_m = 3; } else if (tcs > 4) { __min1___0 = (u16 )rss_i; __min2___0 = 8U; rss_i = (int )__min1___0 < (int )__min2___0 ? __min1___0 : __min2___0; rss_m = 7; } else { __min1___1 = (u16 )rss_i; __min2___1 = 16U; rss_i = (int )__min1___1 < (int )__min2___1 ? __min1___1 : __min2___1; rss_m = 15; } f = (struct ixgbe_ring_feature *)(& adapter->ring_feature) + 2UL; __min1___2 = rss_i; __min2___2 = (int )f->limit; rss_i = __min1___2 < __min2___2 ? __min1___2 : __min2___2; f->indices = (u16 )rss_i; f->mask = (u16 )rss_m; adapter->flags = adapter->flags & 4294705151U; if ((adapter->flags & 2097152U) != 0U) { { tmp = ixgbe_fcoe_get_tc(adapter); tc = tmp; f = (struct ixgbe_ring_feature *)(& adapter->ring_feature) + 4UL; __min1___3 = (u16 )rss_i; __min2___3 = f->limit; f->indices = (u16 )((int )__min1___3 < (int )__min2___3 ? __min1___3 : __min2___3); f->offset = (int )((u16 )rss_i) * (int )((u16 )tc); } } else { } i = 0; goto ldv_51027; ldv_51026: { netdev_set_tc_queue(dev, (int )((u8 )i), (int )((u16 )rss_i), (int )((u16 )rss_i) * (int )((u16 )i)); i = i + 1; } ldv_51027: ; if (i < tcs) { goto ldv_51026; } else { } adapter->num_tx_queues = rss_i * tcs; adapter->num_rx_queues = rss_i * tcs; return (1); } } static bool ixgbe_set_sriov_queues(struct ixgbe_adapter *adapter ) { u16 vmdq_i ; u16 vmdq_m ; u16 rss_i ; u16 rss_m ; u16 fcoe_i ; bool pools ; unsigned long tmp ; u16 __min1 ; u16 __min2 ; u16 __min1___0 ; u16 __min2___0 ; struct ixgbe_ring_feature *fcoe ; u16 __min1___1 ; u16 __min2___1 ; u16 __min1___2 ; u16 __min2___2 ; unsigned int tmp___0 ; u16 __min1___3 ; u16 __min2___3 ; { { vmdq_i = adapter->ring_feature[1].limit; vmdq_m = 0U; rss_i = adapter->ring_feature[2].limit; rss_m = 0U; fcoe_i = 0U; tmp = find_first_zero_bit((unsigned long const *)(& adapter->fwd_bitmask), 32UL); pools = tmp > 1UL; } if ((adapter->flags & 8388608U) == 0U) { return (0); } else { } vmdq_i = (int )vmdq_i + (int )adapter->ring_feature[1].offset; __min1 = 64U; __min2 = vmdq_i; vmdq_i = (u16 )((int )__min1 < (int )__min2 ? __min1 : __min2); if (((unsigned int )vmdq_i > 32U || (unsigned int )rss_i <= 3U) || ((unsigned int )vmdq_i > 16U && (int )pools)) { vmdq_m = 126U; rss_m = 1U; __min1___0 = rss_i; __min2___0 = 2U; rss_i = (u16 )((int )__min1___0 < (int )__min2___0 ? __min1___0 : __min2___0); } else { vmdq_m = 124U; rss_m = 3U; rss_i = 4U; } fcoe_i = 128U - (unsigned int )((int )vmdq_i * (int )((u16 )(- ((int )vmdq_m) & (int )vmdq_m))); vmdq_i = (int )vmdq_i - (int )adapter->ring_feature[1].offset; adapter->ring_feature[1].indices = vmdq_i; adapter->ring_feature[1].mask = vmdq_m; adapter->ring_feature[2].indices = rss_i; adapter->ring_feature[2].mask = rss_m; adapter->num_rx_pools = (int )vmdq_i; adapter->num_rx_queues_per_pool = (int )rss_i; adapter->num_rx_queues = (int )vmdq_i * (int )rss_i; adapter->num_tx_queues = (int )vmdq_i * (int )rss_i; adapter->flags = adapter->flags & 4294705151U; if ((adapter->flags & 2097152U) != 0U) { fcoe = (struct ixgbe_ring_feature *)(& adapter->ring_feature) + 4UL; __min1___1 = fcoe_i; __min2___1 = fcoe->limit; fcoe_i = (u16 )((int )__min1___1 < (int )__min2___1 ? __min1___1 : __min2___1); if ((unsigned int )vmdq_i > 1U && (unsigned int )fcoe_i != 0U) { fcoe->indices = fcoe_i; fcoe->offset = (int )vmdq_i * (int )rss_i; } else { { __min1___2 = (int )fcoe_i + (int )rss_i; tmp___0 = cpumask_weight(cpu_online_mask); __min2___2 = (u16 )tmp___0; fcoe_i = (u16 )((int )__min1___2 < (int )__min2___2 ? __min1___2 : __min2___2); } if ((adapter->flags & 8U) == 0U) { fcoe_i = rss_i; } else { } __min1___3 = fcoe_i; __min2___3 = fcoe->limit; fcoe->indices = (u16 )((int )__min1___3 < (int )__min2___3 ? __min1___3 : __min2___3); fcoe->offset = (int )fcoe_i - (int )fcoe->indices; fcoe_i = (int )fcoe_i - (int )rss_i; } adapter->num_tx_queues = adapter->num_tx_queues + (int )fcoe_i; adapter->num_rx_queues = adapter->num_rx_queues + (int )fcoe_i; } else { } return (1); } } static bool ixgbe_set_rss_queues(struct ixgbe_adapter *adapter ) { struct ixgbe_ring_feature *f ; u16 rss_i ; u16 tmp ; struct net_device *dev ; u16 fcoe_i ; u16 __min1 ; u16 __min2 ; unsigned int tmp___0 ; u16 __min1___0 ; u16 __min2___0 ; u16 __min1___1 ; u16 __min2___1 ; u16 __max1 ; u16 __max2 ; { f = (struct ixgbe_ring_feature *)(& adapter->ring_feature) + 2UL; rss_i = f->limit; f->indices = rss_i; f->mask = 15U; adapter->flags = adapter->flags & 4294705151U; if ((unsigned int )rss_i > 1U && adapter->atr_sample_rate != 0U) { f = (struct ixgbe_ring_feature *)(& adapter->ring_feature) + 3UL; tmp = f->limit; f->indices = tmp; rss_i = tmp; if ((adapter->flags & 524288U) == 0U) { adapter->flags = adapter->flags | 262144U; } else { } } else { } if ((adapter->flags & 2097152U) != 0U) { { dev = adapter->netdev; f = (struct ixgbe_ring_feature *)(& adapter->ring_feature) + 4UL; __min1 = (int )f->limit + (int )rss_i; tmp___0 = cpumask_weight(cpu_online_mask); __min2 = (u16 )tmp___0; fcoe_i = (u16 )((int )__min1 < (int )__min2 ? __min1 : __min2); __min1___0 = fcoe_i; __min2___0 = (u16 )dev->num_tx_queues; fcoe_i = (u16 )((int )__min1___0 < (int )__min2___0 ? __min1___0 : __min2___0); } if ((adapter->flags & 8U) == 0U) { fcoe_i = rss_i; } else { } __min1___1 = fcoe_i; __min2___1 = f->limit; f->indices = (u16 )((int )__min1___1 < (int )__min2___1 ? __min1___1 : __min2___1); f->offset = (int )fcoe_i - (int )f->indices; __max1 = fcoe_i; __max2 = rss_i; rss_i = (u16 )((int )__max1 > (int )__max2 ? __max1 : __max2); } else { } adapter->num_rx_queues = (int )rss_i; adapter->num_tx_queues = (int )rss_i; return (1); } } static void ixgbe_set_num_queues(struct ixgbe_adapter *adapter ) { bool tmp ; bool tmp___0 ; bool tmp___1 ; { { adapter->num_rx_queues = 1; adapter->num_tx_queues = 1; adapter->num_rx_pools = adapter->num_rx_queues; adapter->num_rx_queues_per_pool = 1; tmp = ixgbe_set_dcb_sriov_queues(adapter); } if ((int )tmp) { return; } else { } { tmp___0 = ixgbe_set_dcb_queues(adapter); } if ((int )tmp___0) { return; } else { } { tmp___1 = ixgbe_set_sriov_queues(adapter); } if ((int )tmp___1) { return; } else { } { ixgbe_set_rss_queues(adapter); } return; } } static void ixgbe_acquire_msix_vectors(struct ixgbe_adapter *adapter , int vectors ) { int err ; int vector_threshold ; int _min1 ; int _min2 ; { vector_threshold = 2; goto ldv_51084; ldv_51083: { err = pci_enable_msix(adapter->pdev, adapter->msix_entries, vectors); } if (err == 0) { goto ldv_51082; } else if (err < 0) { vectors = 0; } else { vectors = err; } ldv_51084: ; if (vectors >= vector_threshold) { goto ldv_51083; } else { } ldv_51082: ; if (vectors < vector_threshold) { if (((int )adapter->msg_enable & 8192) != 0) { { netdev_printk("\017", (struct net_device const *)adapter->netdev, "Unable to allocate MSI-X interrupts\n"); } } else { } { adapter->flags = adapter->flags & 4294967287U; kfree((void const *)adapter->msix_entries); adapter->msix_entries = (struct msix_entry *)0; } } else { adapter->flags = adapter->flags | 8U; vectors = vectors + -1; _min1 = vectors; _min2 = adapter->max_q_vectors; adapter->num_q_vectors = _min1 < _min2 ? _min1 : _min2; } return; } } static void ixgbe_add_ring(struct ixgbe_ring *ring , struct ixgbe_ring_container *head ) { { ring->next = head->ring; head->ring = ring; head->count = (u8 )((int )head->count + 1); return; } } static int ixgbe_alloc_q_vector(struct ixgbe_adapter *adapter , int v_count , int v_idx , int txr_count , int txr_idx , int rxr_count , int rxr_idx ) { struct ixgbe_q_vector *q_vector ; struct ixgbe_ring *ring ; int node ; int cpu ; int ring_count ; int size ; u8 tcs ; int tmp ; u16 rss_i ; unsigned int tmp___0 ; int tmp___1 ; void *tmp___2 ; void *tmp___3 ; struct ixgbe_ring_feature *f ; { { node = -1; cpu = -1; tmp = netdev_get_num_tc(adapter->netdev); tcs = (u8 )tmp; ring_count = txr_count + rxr_count; size = (int )((unsigned int )((unsigned long )ring_count + 1UL) * 4096U); } if ((unsigned int )tcs <= 1U && (adapter->flags & 8388608U) == 0U) { rss_i = adapter->ring_feature[2].indices; if ((unsigned int )rss_i > 1U && adapter->atr_sample_rate != 0U) { { tmp___0 = cpumask_check((unsigned int )v_idx); tmp___1 = variable_test_bit((long )tmp___0, (unsigned long const volatile *)(& cpu_online_mask->bits)); } if (tmp___1 != 0) { { cpu = v_idx; node = __cpu_to_node(cpu); } } else { } } else { } } else { } { tmp___2 = kzalloc_node((size_t )size, 208U, node); q_vector = (struct ixgbe_q_vector *)tmp___2; } if ((unsigned long )q_vector == (unsigned long )((struct ixgbe_q_vector *)0)) { { tmp___3 = kzalloc((size_t )size, 208U); q_vector = (struct ixgbe_q_vector *)tmp___3; } } else { } if ((unsigned long )q_vector == (unsigned long )((struct ixgbe_q_vector *)0)) { return (-12); } else { } if (cpu != -1) { { cpumask_set_cpu((unsigned int )cpu, & q_vector->affinity_mask); } } else { } { q_vector->numa_node = node; q_vector->cpu = -1; netif_napi_add(adapter->netdev, & q_vector->napi, & ixgbe_poll, 64); napi_hash_add(& q_vector->napi); adapter->q_vector[v_idx] = q_vector; q_vector->adapter = adapter; q_vector->v_idx = (u16 )v_idx; q_vector->tx.work_limit = adapter->tx_work_limit; ring = (struct ixgbe_ring *)(& q_vector->ring); } if (txr_count != 0 && rxr_count == 0) { if ((unsigned int )adapter->tx_itr_setting == 1U) { q_vector->itr = 400U; } else { q_vector->itr = adapter->tx_itr_setting; } } else if ((unsigned int )adapter->rx_itr_setting == 1U) { q_vector->itr = 200U; } else { q_vector->itr = adapter->rx_itr_setting; } goto ldv_51110; ldv_51109: { ring->dev = & (adapter->pdev)->dev; ring->netdev = adapter->netdev; ring->q_vector = q_vector; ixgbe_add_ring(ring, & q_vector->tx); ring->count = (u16 )adapter->tx_ring_count; } if (adapter->num_rx_pools > 1) { ring->queue_index = (u8 )(txr_idx % adapter->num_rx_queues_per_pool); } else { ring->queue_index = (u8 )txr_idx; } adapter->tx_ring[txr_idx] = ring; txr_count = txr_count - 1; txr_idx = txr_idx + v_count; ring = ring + 1; ldv_51110: ; if (txr_count != 0) { goto ldv_51109; } else { } goto ldv_51114; ldv_51113: { ring->dev = & (adapter->pdev)->dev; ring->netdev = adapter->netdev; ring->q_vector = q_vector; ixgbe_add_ring(ring, & q_vector->rx); } if ((unsigned int )adapter->hw.mac.type == 2U) { { set_bit(5L, (unsigned long volatile *)(& ring->state)); } } else { } if (((adapter->netdev)->features & 536870912ULL) != 0ULL) { f = (struct ixgbe_ring_feature *)(& adapter->ring_feature) + 4UL; if (rxr_idx >= (int )f->offset && rxr_idx < (int )f->offset + (int )f->indices) { { set_bit(6L, (unsigned long volatile *)(& ring->state)); } } else { } } else { } ring->count = (u16 )adapter->rx_ring_count; if (adapter->num_rx_pools > 1) { ring->queue_index = (u8 )(rxr_idx % adapter->num_rx_queues_per_pool); } else { ring->queue_index = (u8 )rxr_idx; } adapter->rx_ring[rxr_idx] = ring; rxr_count = rxr_count - 1; rxr_idx = rxr_idx + v_count; ring = ring + 1; ldv_51114: ; if (rxr_count != 0) { goto ldv_51113; } else { } return (0); } } extern void __compiletime_assert_951(void) ; static void ixgbe_free_q_vector(struct ixgbe_adapter *adapter , int v_idx ) { struct ixgbe_q_vector *q_vector ; struct ixgbe_ring *ring ; bool __cond ; { q_vector = adapter->q_vector[v_idx]; ring = q_vector->tx.ring; goto ldv_51123; ldv_51122: adapter->tx_ring[(int )ring->queue_index] = (struct ixgbe_ring *)0; ring = ring->next; ldv_51123: ; if ((unsigned long )ring != (unsigned long )((struct ixgbe_ring *)0)) { goto ldv_51122; } else { } ring = q_vector->rx.ring; goto ldv_51126; ldv_51125: adapter->rx_ring[(int )ring->queue_index] = (struct ixgbe_ring *)0; ring = ring->next; ldv_51126: ; if ((unsigned long )ring != (unsigned long )((struct ixgbe_ring *)0)) { goto ldv_51125; } else { } { adapter->q_vector[v_idx] = (struct ixgbe_q_vector *)0; napi_hash_del(& q_vector->napi); netif_napi_del(& q_vector->napi); __cond = 0; } if ((int )__cond) { { __compiletime_assert_951(); } } else { } { kfree_call_rcu(& q_vector->rcu, (void (*)(struct callback_head * ))1280); } return; } } static int ixgbe_alloc_q_vectors(struct ixgbe_adapter *adapter ) { int q_vectors ; int rxr_remaining ; int txr_remaining ; int rxr_idx ; int txr_idx ; int v_idx ; int err ; int rqpv ; int tqpv ; int tmp ; { q_vectors = adapter->num_q_vectors; rxr_remaining = adapter->num_rx_queues; txr_remaining = adapter->num_tx_queues; rxr_idx = 0; txr_idx = 0; v_idx = 0; if ((adapter->flags & 8U) == 0U) { q_vectors = 1; } else { } if (q_vectors >= rxr_remaining + txr_remaining) { goto ldv_51145; ldv_51144: { err = ixgbe_alloc_q_vector(adapter, q_vectors, v_idx, 0, 0, 1, rxr_idx); } if (err != 0) { goto err_out; } else { } rxr_remaining = rxr_remaining - 1; rxr_idx = rxr_idx + 1; v_idx = v_idx + 1; ldv_51145: ; if (rxr_remaining != 0) { goto ldv_51144; } else { } } else { } goto ldv_51150; ldv_51149: { rqpv = ((rxr_remaining + (q_vectors - v_idx)) + -1) / (q_vectors - v_idx); tqpv = ((txr_remaining + (q_vectors - v_idx)) + -1) / (q_vectors - v_idx); err = ixgbe_alloc_q_vector(adapter, q_vectors, v_idx, tqpv, txr_idx, rqpv, rxr_idx); } if (err != 0) { goto err_out; } else { } rxr_remaining = rxr_remaining - rqpv; txr_remaining = txr_remaining - tqpv; rxr_idx = rxr_idx + 1; txr_idx = txr_idx + 1; v_idx = v_idx + 1; ldv_51150: ; if (v_idx < q_vectors) { goto ldv_51149; } else { } return (0); err_out: adapter->num_tx_queues = 0; adapter->num_rx_queues = 0; adapter->num_q_vectors = 0; goto ldv_51153; ldv_51152: { ixgbe_free_q_vector(adapter, v_idx); } ldv_51153: tmp = v_idx; v_idx = v_idx - 1; if (tmp != 0) { goto ldv_51152; } else { } return (-12); } } static void ixgbe_free_q_vectors(struct ixgbe_adapter *adapter ) { int v_idx ; int tmp ; { v_idx = adapter->num_q_vectors; adapter->num_tx_queues = 0; adapter->num_rx_queues = 0; adapter->num_q_vectors = 0; goto ldv_51160; ldv_51159: { ixgbe_free_q_vector(adapter, v_idx); } ldv_51160: tmp = v_idx; v_idx = v_idx - 1; if (tmp != 0) { goto ldv_51159; } else { } return; } } static void ixgbe_reset_interrupt_capability(struct ixgbe_adapter *adapter ) { { if ((adapter->flags & 8U) != 0U) { { adapter->flags = adapter->flags & 4294967287U; pci_disable_msix(adapter->pdev); kfree((void const *)adapter->msix_entries); adapter->msix_entries = (struct msix_entry *)0; } } else if ((adapter->flags & 2U) != 0U) { { adapter->flags = adapter->flags & 4294967293U; pci_disable_msi(adapter->pdev); } } else { } return; } } static void ixgbe_set_interrupt_capability(struct ixgbe_adapter *adapter ) { struct ixgbe_hw *hw ; int vector ; int v_budget ; int err ; int _max1 ; int _max2 ; int __min1 ; int __min2 ; unsigned int tmp ; int __min1___0 ; int __min2___0 ; void *tmp___0 ; int tmp___1 ; { { hw = & adapter->hw; _max1 = adapter->num_rx_queues; _max2 = adapter->num_tx_queues; v_budget = _max1 > _max2 ? _max1 : _max2; __min1 = v_budget; tmp = cpumask_weight(cpu_online_mask); __min2 = (int )tmp; v_budget = __min1 < __min2 ? __min1 : __min2; v_budget = v_budget + 1; __min1___0 = v_budget; __min2___0 = (int )hw->mac.max_msix_vectors; v_budget = __min1___0 < __min2___0 ? __min1___0 : __min2___0; tmp___0 = kcalloc((size_t )v_budget, 8UL, 208U); adapter->msix_entries = (struct msix_entry *)tmp___0; } if ((unsigned long )adapter->msix_entries != (unsigned long )((struct msix_entry *)0)) { vector = 0; goto ldv_51182; ldv_51181: (adapter->msix_entries + (unsigned long )vector)->entry = (u16 )vector; vector = vector + 1; ldv_51182: ; if (vector < v_budget) { goto ldv_51181; } else { } { ixgbe_acquire_msix_vectors(adapter, v_budget); } if ((adapter->flags & 8U) != 0U) { return; } else { } } else { } { tmp___1 = netdev_get_num_tc(adapter->netdev); } if (tmp___1 > 1) { if (((int )adapter->msg_enable & 2) != 0) { { netdev_err((struct net_device const *)adapter->netdev, "num TCs exceeds number of queues - disabling DCB\n"); } } else { } { netdev_reset_tc(adapter->netdev); } if ((unsigned int )adapter->hw.mac.type == 1U) { adapter->hw.fc.requested_mode = adapter->last_lfc_mode; } else { } adapter->flags = adapter->flags & 4294963199U; adapter->temp_dcb_cfg.pfc_mode_enable = 0; adapter->dcb_cfg.pfc_mode_enable = 0; } else { } { adapter->dcb_cfg.num_tcs.pg_tcs = 1U; adapter->dcb_cfg.num_tcs.pfc_tcs = 1U; ixgbe_disable_sriov(adapter); adapter->ring_feature[2].limit = 1U; ixgbe_set_num_queues(adapter); adapter->num_q_vectors = 1; err = pci_enable_msi_block(adapter->pdev, 1); } if (err != 0) { if (((int )adapter->msg_enable & 8192) != 0) { { netdev_printk("\017", (struct net_device const *)adapter->netdev, "Unable to allocate MSI interrupt, falling back to legacy. Error: %d\n", err); } } else { } return; } else { } adapter->flags = adapter->flags | 2U; return; } } int ixgbe_init_interrupt_scheme(struct ixgbe_adapter *adapter ) { int err ; { { ixgbe_set_num_queues(adapter); ixgbe_set_interrupt_capability(adapter); err = ixgbe_alloc_q_vectors(adapter); } if (err != 0) { { dev_err((struct device const *)(& (adapter->pdev)->dev), "Unable to allocate memory for queue vectors\n"); } goto err_alloc_q_vectors; } else { } { ixgbe_cache_ring_register(adapter); _dev_info((struct device const *)(& (adapter->pdev)->dev), "Multiqueue %s: Rx Queue count = %u, Tx Queue count = %u\n", adapter->num_rx_queues > 1 ? (char *)"Enabled" : (char *)"Disabled", adapter->num_rx_queues, adapter->num_tx_queues); set_bit(2L, (unsigned long volatile *)(& adapter->state)); } return (0); err_alloc_q_vectors: { ixgbe_reset_interrupt_capability(adapter); } return (err); } } void ixgbe_clear_interrupt_scheme(struct ixgbe_adapter *adapter ) { { { adapter->num_tx_queues = 0; adapter->num_rx_queues = 0; ixgbe_free_q_vectors(adapter); ixgbe_reset_interrupt_capability(adapter); } return; } } void ixgbe_tx_ctxtdesc(struct ixgbe_ring *tx_ring , u32 vlan_macip_lens , u32 fcoe_sof_eof , u32 type_tucmd , u32 mss_l4len_idx ) { struct ixgbe_adv_tx_context_desc *context_desc ; u16 i ; { i = tx_ring->next_to_use; context_desc = (struct ixgbe_adv_tx_context_desc *)tx_ring->desc + (unsigned long )i; i = (u16 )((int )i + 1); tx_ring->next_to_use = (int )i < (int )tx_ring->count ? i : 0U; type_tucmd = type_tucmd | 538968064U; context_desc->vlan_macip_lens = vlan_macip_lens; context_desc->seqnum_seed = fcoe_sof_eof; context_desc->type_tucmd_mlhl = type_tucmd; context_desc->mss_l4len_idx = mss_l4len_idx; return; } } long ldv_is_err(void const *ptr ) ; extern void might_fault(void) ; __inline static long IS_ERR(void const *ptr ) ; __inline static u64 div_u64_rem(u64 dividend , u32 divisor , u32 *remainder ) { { *remainder = (u32 )(dividend % (u64 )divisor); return (dividend / (u64 )divisor); } } __inline static u64 div_u64(u64 dividend , u32 divisor ) { u32 remainder ; u64 tmp ; { { tmp = div_u64_rem(dividend, divisor, & remainder); } return (tmp); } } extern unsigned long _raw_spin_lock_irqsave(raw_spinlock_t * ) ; extern void _raw_spin_unlock_irqrestore(raw_spinlock_t * , unsigned long ) ; __inline static void spin_unlock_irqrestore(spinlock_t *lock , unsigned long flags ) { { { _raw_spin_unlock_irqrestore(& lock->__annonCompField19.rlock, flags); } return; } } __inline static ktime_t ns_to_ktime(u64 ns ) { ktime_t ktime_zero ; ktime_t __constr_expr_0 ; { ktime_zero.tv64 = 0LL; __constr_expr_0.tv64 = (long long )((unsigned long long )ktime_zero.tv64 + ns); return (__constr_expr_0); } } extern void timecounter_init(struct timecounter * , struct cyclecounter const * , u64 ) ; extern u64 timecounter_read(struct timecounter * ) ; extern u64 timecounter_cyc2time(struct timecounter * , cycle_t ) ; extern ktime_t ktime_get_real(void) ; extern unsigned long _copy_from_user(void * , void const * , unsigned int ) ; extern unsigned long _copy_to_user(void * , void const * , unsigned int ) ; extern void __copy_from_user_overflow(void) ; extern void __copy_to_user_overflow(void) ; __inline static unsigned long copy_from_user(void *to , void const *from , unsigned long n ) { int sz ; long tmp ; long tmp___0 ; { { sz = -1; might_fault(); tmp = ldv__builtin_expect(sz < 0, 1L); } if (tmp != 0L) { { n = _copy_from_user(to, from, (unsigned int )n); } } else { { tmp___0 = ldv__builtin_expect((unsigned long )sz >= n, 1L); } if (tmp___0 != 0L) { { n = _copy_from_user(to, from, (unsigned int )n); } } else { { __copy_from_user_overflow(); } } } return (n); } } __inline static unsigned long copy_to_user(void *to , void const *from , unsigned long n ) { int sz ; long tmp ; long tmp___0 ; { { sz = -1; might_fault(); tmp = ldv__builtin_expect(sz < 0, 1L); } if (tmp != 0L) { { n = _copy_to_user(to, from, (unsigned int )n); } } else { { tmp___0 = ldv__builtin_expect((unsigned long )sz >= n, 1L); } if (tmp___0 != 0L) { { n = _copy_to_user(to, from, (unsigned int )n); } } else { { __copy_to_user_overflow(); } } } return (n); } } __inline static struct skb_shared_hwtstamps *skb_hwtstamps(struct sk_buff *skb ) { unsigned char *tmp ; { { tmp = skb_end_pointer((struct sk_buff const *)skb); } return (& ((struct skb_shared_info *)tmp)->hwtstamps); } } extern struct ptp_clock *ptp_clock_register(struct ptp_clock_info * , struct device * ) ; extern int ptp_clock_unregister(struct ptp_clock * ) ; extern void ptp_clock_event(struct ptp_clock * , struct ptp_clock_event * ) ; static void ixgbe_ptp_setup_sdp(struct ixgbe_adapter *adapter ) { struct ixgbe_hw *hw ; int shift ; u32 esdp ; u32 tsauxc ; u32 clktiml ; u32 clktimh ; u32 trgttiml ; u32 trgttimh ; u32 rem ; u64 ns ; u64 clock_edge ; u32 tmp ; u32 tmp___0 ; { hw = & adapter->hw; shift = (int )adapter->cc.shift; ns = 0ULL; clock_edge = 0ULL; if ((adapter->flags2 & 1024U) != 0U && (unsigned int )hw->mac.type == 3U) { { ixgbe_write_reg(hw, 35872U, 0U); ixgbe_read_reg(hw, 8U); esdp = ixgbe_read_reg(hw, 32U); esdp = esdp | 65792U; tsauxc = 76U; clktiml = (unsigned int )(1000000000ULL << shift); clktimh = (unsigned int )((1000000000ULL << shift) >> 32); tmp = ixgbe_read_reg(hw, 35852U); clock_edge = clock_edge | (unsigned long long )tmp; tmp___0 = ixgbe_read_reg(hw, 35856U); clock_edge = clock_edge | ((unsigned long long )tmp___0 << 32); ns = timecounter_cyc2time(& adapter->tc, clock_edge); div_u64_rem(ns, 1000000000U, & rem); clock_edge = clock_edge + ((1000000000ULL - (unsigned long long )rem) << shift); trgttiml = (unsigned int )clock_edge; trgttimh = (unsigned int )(clock_edge >> 32); ixgbe_write_reg(hw, 35892U, clktiml); ixgbe_write_reg(hw, 35896U, clktimh); ixgbe_write_reg(hw, 35876U, trgttiml); ixgbe_write_reg(hw, 35880U, trgttimh); ixgbe_write_reg(hw, 32U, esdp); ixgbe_write_reg(hw, 35872U, tsauxc); } } else { { ixgbe_write_reg(hw, 35872U, 0U); } } { ixgbe_read_reg(hw, 8U); } return; } } static cycle_t ixgbe_ptp_read(struct cyclecounter const *cc ) { struct ixgbe_adapter *adapter ; struct cyclecounter const *__mptr ; struct ixgbe_hw *hw ; u64 stamp ; u32 tmp ; u32 tmp___0 ; { { __mptr = cc; adapter = (struct ixgbe_adapter *)__mptr + 0xfffffffffffeffd8UL; hw = & adapter->hw; stamp = 0ULL; tmp = ixgbe_read_reg(hw, 35852U); stamp = stamp | (unsigned long long )tmp; tmp___0 = ixgbe_read_reg(hw, 35856U); stamp = stamp | ((unsigned long long )tmp___0 << 32); } return (stamp); } } static int ixgbe_ptp_adjfreq(struct ptp_clock_info *ptp , s32 ppb ) { struct ixgbe_adapter *adapter ; struct ptp_clock_info const *__mptr ; struct ixgbe_hw *hw ; u64 freq ; u32 diff ; u32 incval ; int neg_adj ; u64 tmp ; { __mptr = (struct ptp_clock_info const *)ptp; adapter = (struct ixgbe_adapter *)__mptr + 0xffffffffffff00e8UL; hw = & adapter->hw; neg_adj = 0; if (ppb < 0) { neg_adj = 1; ppb = - ppb; } else { } { __asm__ volatile ("mfence": : : "memory"); incval = *((u32 volatile *)(& adapter->base_incval)); freq = (u64 )incval; freq = freq * (u64 )ppb; tmp = div_u64(freq, 1000000000U); diff = (u32 )tmp; incval = neg_adj != 0 ? incval - diff : incval + diff; } { if ((unsigned int )hw->mac.type == 3U) { goto case_3; } else { } if ((unsigned int )hw->mac.type == 2U) { goto case_2; } else { } goto switch_default; case_3: /* CIL Label */ { ixgbe_write_reg(hw, 35860U, incval); } goto ldv_50884; case_2: /* CIL Label */ { ixgbe_write_reg(hw, 35860U, incval | 16777216U); } goto ldv_50884; switch_default: /* CIL Label */ ; goto ldv_50884; switch_break: /* CIL Label */ ; } ldv_50884: ; return (0); } } static int ixgbe_ptp_adjtime(struct ptp_clock_info *ptp , s64 delta ) { struct ixgbe_adapter *adapter ; struct ptp_clock_info const *__mptr ; unsigned long flags ; u64 now ; raw_spinlock_t *tmp ; { { __mptr = (struct ptp_clock_info const *)ptp; adapter = (struct ixgbe_adapter *)__mptr + 0xffffffffffff00e8UL; tmp = spinlock_check(& adapter->tmreg_lock); flags = _raw_spin_lock_irqsave(tmp); now = timecounter_read(& adapter->tc); now = now + (unsigned long long )delta; timecounter_init(& adapter->tc, (struct cyclecounter const *)(& adapter->cc), now); spin_unlock_irqrestore(& adapter->tmreg_lock, flags); ixgbe_ptp_setup_sdp(adapter); } return (0); } } static int ixgbe_ptp_gettime(struct ptp_clock_info *ptp , struct timespec *ts ) { struct ixgbe_adapter *adapter ; struct ptp_clock_info const *__mptr ; u64 ns ; u32 remainder ; unsigned long flags ; raw_spinlock_t *tmp ; u64 tmp___0 ; { { __mptr = (struct ptp_clock_info const *)ptp; adapter = (struct ixgbe_adapter *)__mptr + 0xffffffffffff00e8UL; tmp = spinlock_check(& adapter->tmreg_lock); flags = _raw_spin_lock_irqsave(tmp); ns = timecounter_read(& adapter->tc); spin_unlock_irqrestore(& adapter->tmreg_lock, flags); tmp___0 = div_u64_rem(ns, 1000000000U, & remainder); ts->tv_sec = (__kernel_time_t )tmp___0; ts->tv_nsec = (long )remainder; } return (0); } } static int ixgbe_ptp_settime(struct ptp_clock_info *ptp , struct timespec const *ts ) { struct ixgbe_adapter *adapter ; struct ptp_clock_info const *__mptr ; u64 ns ; unsigned long flags ; raw_spinlock_t *tmp ; { { __mptr = (struct ptp_clock_info const *)ptp; adapter = (struct ixgbe_adapter *)__mptr + 0xffffffffffff00e8UL; ns = (unsigned long long )ts->tv_sec * 1000000000ULL; ns = ns + (unsigned long long )ts->tv_nsec; tmp = spinlock_check(& adapter->tmreg_lock); flags = _raw_spin_lock_irqsave(tmp); timecounter_init(& adapter->tc, (struct cyclecounter const *)(& adapter->cc), ns); spin_unlock_irqrestore(& adapter->tmreg_lock, flags); ixgbe_ptp_setup_sdp(adapter); } return (0); } } static int ixgbe_ptp_enable(struct ptp_clock_info *ptp , struct ptp_clock_request *rq , int on ) { struct ixgbe_adapter *adapter ; struct ptp_clock_info const *__mptr ; { __mptr = (struct ptp_clock_info const *)ptp; adapter = (struct ixgbe_adapter *)__mptr + 0xffffffffffff00e8UL; if ((unsigned int )rq->type == 2U) { { if ((unsigned int )adapter->hw.mac.type == 3U) { goto case_3; } else { } goto switch_default; case_3: /* CIL Label */ ; if (on != 0) { adapter->flags2 = adapter->flags2 | 1024U; } else { adapter->flags2 = adapter->flags2 & 4294966271U; } { ixgbe_ptp_setup_sdp(adapter); } return (0); switch_default: /* CIL Label */ ; goto ldv_50934; switch_break: /* CIL Label */ ; } ldv_50934: ; } else { } return (-524); } } void ixgbe_ptp_check_pps_event(struct ixgbe_adapter *adapter , u32 eicr ) { struct ixgbe_hw *hw ; struct ptp_clock_event event ; { hw = & adapter->hw; event.type = 2; if ((unsigned long )adapter->ptp_clock == (unsigned long )((struct ptp_clock *)0)) { return; } else { } { if ((unsigned int )hw->mac.type == 3U) { goto case_3; } else { } goto switch_default; case_3: /* CIL Label */ { ptp_clock_event(adapter->ptp_clock, & event); } goto ldv_50942; switch_default: /* CIL Label */ ; goto ldv_50942; switch_break: /* CIL Label */ ; } ldv_50942: ; return; } } void ixgbe_ptp_overflow_check(struct ixgbe_adapter *adapter ) { bool timeout ; struct timespec ts ; { timeout = (bool )((long )((adapter->last_overflow_check - (unsigned long )jiffies) + 7500UL) < 0L); if ((int )timeout) { { ixgbe_ptp_gettime(& adapter->ptp_caps, & ts); adapter->last_overflow_check = jiffies; } } else { } return; } } void ixgbe_ptp_rx_hang(struct ixgbe_adapter *adapter ) { struct ixgbe_hw *hw ; struct ixgbe_ring *rx_ring ; u32 tsyncrxctl ; u32 tmp ; unsigned long rx_event ; int n ; { { hw = & adapter->hw; tmp = ixgbe_read_reg(hw, 20872U); tsyncrxctl = tmp; } if ((tsyncrxctl & 1U) == 0U) { adapter->last_rx_ptp_check = jiffies; return; } else { } rx_event = adapter->last_rx_ptp_check; n = 0; goto ldv_50970; ldv_50969: rx_ring = adapter->rx_ring[n]; if ((long )(rx_event - rx_ring->last_rx_timestamp) < 0L) { rx_event = rx_ring->last_rx_timestamp; } else { } n = n + 1; ldv_50970: ; if (n < adapter->num_rx_queues) { goto ldv_50969; } else { } if ((long )((rx_event - (unsigned long )jiffies) + 1250UL) < 0L) { { ixgbe_read_reg(hw, 20900U); adapter->last_rx_ptp_check = jiffies; } if ((int )adapter->msg_enable & 1) { { netdev_warn((struct net_device const *)adapter->netdev, "clearing RX Timestamp hang"); } } else { } } else { } return; } } static void ixgbe_ptp_tx_hwtstamp(struct ixgbe_adapter *adapter ) { struct ixgbe_hw *hw ; struct skb_shared_hwtstamps shhwtstamps ; u64 regval ; u64 ns ; unsigned long flags ; u32 tmp ; u32 tmp___0 ; raw_spinlock_t *tmp___1 ; { { hw = & adapter->hw; regval = 0ULL; tmp = ixgbe_read_reg(hw, 35844U); regval = regval | (unsigned long long )tmp; tmp___0 = ixgbe_read_reg(hw, 35848U); regval = regval | ((unsigned long long )tmp___0 << 32); tmp___1 = spinlock_check(& adapter->tmreg_lock); flags = _raw_spin_lock_irqsave(tmp___1); ns = timecounter_cyc2time(& adapter->tc, regval); spin_unlock_irqrestore(& adapter->tmreg_lock, flags); memset((void *)(& shhwtstamps), 0, 16UL); shhwtstamps.hwtstamp = ns_to_ktime(ns); skb_tstamp_tx(adapter->ptp_tx_skb, & shhwtstamps); dev_kfree_skb_any(adapter->ptp_tx_skb); adapter->ptp_tx_skb = (struct sk_buff *)0; } return; } } static void ixgbe_ptp_tx_hwtstamp_work(struct work_struct *work ) { struct ixgbe_adapter *adapter ; struct work_struct const *__mptr ; struct ixgbe_hw *hw ; bool timeout ; u32 tsynctxctl ; { __mptr = (struct work_struct const *)work; adapter = (struct ixgbe_adapter *)__mptr + 0xffffffffffff0090UL; hw = & adapter->hw; timeout = (bool )((long )((adapter->ptp_tx_start - (unsigned long )jiffies) + 3750UL) < 0L); if ((unsigned long )adapter->ptp_tx_skb == (unsigned long )((struct sk_buff *)0)) { return; } else { } if ((int )timeout) { { dev_kfree_skb_any(adapter->ptp_tx_skb); adapter->ptp_tx_skb = (struct sk_buff *)0; } if ((int )adapter->msg_enable & 1) { { netdev_warn((struct net_device const *)adapter->netdev, "clearing Tx Timestamp hang"); } } else { } return; } else { } { tsynctxctl = ixgbe_read_reg(hw, 35840U); } if ((int )tsynctxctl & 1) { { ixgbe_ptp_tx_hwtstamp(adapter); } } else { { schedule_work(& adapter->ptp_tx_work); } } return; } } void __ixgbe_ptp_rx_hwtstamp(struct ixgbe_q_vector *q_vector , struct sk_buff *skb ) { struct ixgbe_adapter *adapter ; struct ixgbe_hw *hw ; struct skb_shared_hwtstamps *shhwtstamps ; u64 regval ; u64 ns ; u32 tsyncrxctl ; unsigned long flags ; u32 tmp ; u32 tmp___0 ; raw_spinlock_t *tmp___1 ; { regval = 0ULL; if ((unsigned long )q_vector == (unsigned long )((struct ixgbe_q_vector *)0) || (unsigned long )q_vector->adapter == (unsigned long )((struct ixgbe_adapter *)0)) { return; } else { } { adapter = q_vector->adapter; hw = & adapter->hw; tsyncrxctl = ixgbe_read_reg(hw, 20872U); } if ((tsyncrxctl & 1U) == 0U) { return; } else { } { tmp = ixgbe_read_reg(hw, 20968U); regval = regval | (unsigned long long )tmp; tmp___0 = ixgbe_read_reg(hw, 20900U); regval = regval | ((unsigned long long )tmp___0 << 32); tmp___1 = spinlock_check(& adapter->tmreg_lock); flags = _raw_spin_lock_irqsave(tmp___1); ns = timecounter_cyc2time(& adapter->tc, regval); spin_unlock_irqrestore(& adapter->tmreg_lock, flags); shhwtstamps = skb_hwtstamps(skb); shhwtstamps->hwtstamp = ns_to_ktime(ns); } return; } } int ixgbe_ptp_hwtstamp_ioctl(struct ixgbe_adapter *adapter , struct ifreq *ifr , int cmd ) { struct ixgbe_hw *hw ; struct hwtstamp_config config ; u32 tsync_tx_ctl ; u32 tsync_rx_ctl ; u32 tsync_rx_mtrl ; bool is_l2 ; u32 regval ; unsigned long tmp ; unsigned long tmp___0 ; { { hw = & adapter->hw; tsync_tx_ctl = 16U; tsync_rx_ctl = 16U; tsync_rx_mtrl = 20905984U; is_l2 = 0; tmp = copy_from_user((void *)(& config), (void const *)ifr->ifr_ifru.ifru_data, 12UL); } if (tmp != 0UL) { return (-14); } else { } if (config.flags != 0) { return (-22); } else { } { if (config.tx_type == 0) { goto case_0; } else { } if (config.tx_type == 1) { goto case_1; } else { } goto switch_default; case_0: /* CIL Label */ tsync_tx_ctl = 0U; case_1: /* CIL Label */ ; goto ldv_51032; switch_default: /* CIL Label */ ; return (-34); switch_break: /* CIL Label */ ; } ldv_51032: ; { if (config.rx_filter == 0) { goto case_0___0; } else { } if (config.rx_filter == 4) { goto case_4; } else { } if (config.rx_filter == 5) { goto case_5; } else { } if (config.rx_filter == 12) { goto case_12; } else { } if (config.rx_filter == 9) { goto case_9; } else { } if (config.rx_filter == 6) { goto case_6; } else { } if (config.rx_filter == 13) { goto case_13; } else { } if (config.rx_filter == 10) { goto case_10; } else { } if (config.rx_filter == 7) { goto case_7; } else { } if (config.rx_filter == 14) { goto case_14; } else { } if (config.rx_filter == 11) { goto case_11; } else { } if (config.rx_filter == 8) { goto case_8; } else { } if (config.rx_filter == 3) { goto case_3; } else { } if (config.rx_filter == 1) { goto case_1___0; } else { } goto switch_default___0; case_0___0: /* CIL Label */ tsync_rx_ctl = 0U; tsync_rx_mtrl = 0U; goto ldv_51035; case_4: /* CIL Label */ tsync_rx_ctl = tsync_rx_ctl | 2U; tsync_rx_mtrl = tsync_rx_mtrl; goto ldv_51035; case_5: /* CIL Label */ tsync_rx_ctl = tsync_rx_ctl | 2U; tsync_rx_mtrl = tsync_rx_mtrl | 1U; goto ldv_51035; case_12: /* CIL Label */ ; case_9: /* CIL Label */ ; case_6: /* CIL Label */ ; case_13: /* CIL Label */ ; case_10: /* CIL Label */ ; case_7: /* CIL Label */ ; case_14: /* CIL Label */ ; case_11: /* CIL Label */ ; case_8: /* CIL Label */ tsync_rx_ctl = tsync_rx_ctl | 10U; is_l2 = 1; config.rx_filter = 12; goto ldv_51035; case_3: /* CIL Label */ ; case_1___0: /* CIL Label */ ; switch_default___0: /* CIL Label */ config.rx_filter = 0; return (-34); switch_break___0: /* CIL Label */ ; } ldv_51035: ; if ((unsigned int )hw->mac.type == 1U) { if ((tsync_rx_ctl | tsync_tx_ctl) != 0U) { return (-34); } else { } return (0); } else { } if ((int )is_l2) { { ixgbe_write_reg(hw, 20788U, 3221260535U); } } else { { ixgbe_write_reg(hw, 20788U, 0U); } } { regval = ixgbe_read_reg(hw, 35840U); regval = regval & 4294967279U; regval = regval | tsync_tx_ctl; ixgbe_write_reg(hw, 35840U, regval); regval = ixgbe_read_reg(hw, 20872U); regval = regval & 4294967265U; regval = regval | tsync_rx_ctl; ixgbe_write_reg(hw, 20872U, regval); ixgbe_write_reg(hw, 20768U, tsync_rx_mtrl); ixgbe_read_reg(hw, 8U); regval = ixgbe_read_reg(hw, 35848U); regval = ixgbe_read_reg(hw, 20900U); tmp___0 = copy_to_user(ifr->ifr_ifru.ifru_data, (void const *)(& config), 12UL); } return (tmp___0 != 0UL ? -14 : 0); } } void ixgbe_ptp_start_cyclecounter(struct ixgbe_adapter *adapter ) { struct ixgbe_hw *hw ; u32 incval ; u32 shift ; unsigned long flags ; raw_spinlock_t *tmp ; { hw = & adapter->hw; incval = 0U; shift = 0U; { if (adapter->link_speed == 8U) { goto case_8; } else { } if (adapter->link_speed == 32U) { goto case_32; } else { } if (adapter->link_speed == 128U) { goto case_128; } else { } goto switch_default; case_8: /* CIL Label */ incval = 1342177280U; shift = 21U; goto ldv_51058; case_32: /* CIL Label */ incval = 1073741824U; shift = 24U; goto ldv_51058; case_128: /* CIL Label */ ; switch_default: /* CIL Label */ incval = 1717986918U; shift = 28U; goto ldv_51058; switch_break: /* CIL Label */ ; } ldv_51058: ; { if ((unsigned int )hw->mac.type == 3U) { goto case_3; } else { } if ((unsigned int )hw->mac.type == 2U) { goto case_2; } else { } goto switch_default___0; case_3: /* CIL Label */ { ixgbe_write_reg(hw, 35860U, incval); } goto ldv_51063; case_2: /* CIL Label */ { incval = incval >> 7; shift = shift - 7U; ixgbe_write_reg(hw, 35860U, incval | 16777216U); } goto ldv_51063; switch_default___0: /* CIL Label */ ; return; switch_break___0: /* CIL Label */ ; } ldv_51063: { *((u32 volatile *)(& adapter->base_incval)) = incval; __asm__ volatile ("mfence": : : "memory"); tmp = spinlock_check(& adapter->tmreg_lock); flags = _raw_spin_lock_irqsave(tmp); memset((void *)(& adapter->cc), 0, 24UL); adapter->cc.read = & ixgbe_ptp_read; adapter->cc.mask = 0xffffffffffffffffULL; adapter->cc.shift = shift; adapter->cc.mult = 1U; spin_unlock_irqrestore(& adapter->tmreg_lock, flags); } return; } } void ixgbe_ptp_reset(struct ixgbe_adapter *adapter ) { struct ixgbe_hw *hw ; unsigned long flags ; raw_spinlock_t *tmp ; ktime_t tmp___0 ; { { hw = & adapter->hw; ixgbe_write_reg(hw, 35852U, 0U); ixgbe_write_reg(hw, 35856U, 0U); ixgbe_read_reg(hw, 8U); ixgbe_ptp_start_cyclecounter(adapter); tmp = spinlock_check(& adapter->tmreg_lock); flags = _raw_spin_lock_irqsave(tmp); tmp___0 = ktime_get_real(); timecounter_init(& adapter->tc, (struct cyclecounter const *)(& adapter->cc), (u64 )tmp___0.tv64); spin_unlock_irqrestore(& adapter->tmreg_lock, flags); ixgbe_ptp_setup_sdp(adapter); } return; } } void ixgbe_ptp_init(struct ixgbe_adapter *adapter ) { struct net_device *netdev ; struct lock_class_key __key ; struct lock_class_key __key___0 ; atomic_long_t __constr_expr_0 ; long tmp ; { netdev = adapter->netdev; { if ((unsigned int )adapter->hw.mac.type == 3U) { goto case_3; } else { } if ((unsigned int )adapter->hw.mac.type == 2U) { goto case_2; } else { } goto switch_default; case_3: /* CIL Label */ { snprintf((char *)(& adapter->ptp_caps.name), 16UL, "%s", (char *)(& netdev->name)); adapter->ptp_caps.owner = & __this_module; adapter->ptp_caps.max_adj = 250000000; adapter->ptp_caps.n_alarm = 0; adapter->ptp_caps.n_ext_ts = 0; adapter->ptp_caps.n_per_out = 0; adapter->ptp_caps.pps = 1; adapter->ptp_caps.adjfreq = & ixgbe_ptp_adjfreq; adapter->ptp_caps.adjtime = & ixgbe_ptp_adjtime; adapter->ptp_caps.gettime = & ixgbe_ptp_gettime; adapter->ptp_caps.settime = & ixgbe_ptp_settime; adapter->ptp_caps.enable = & ixgbe_ptp_enable; } goto ldv_51082; case_2: /* CIL Label */ { snprintf((char *)(& adapter->ptp_caps.name), 16UL, "%s", (char *)(& netdev->name)); adapter->ptp_caps.owner = & __this_module; adapter->ptp_caps.max_adj = 250000000; adapter->ptp_caps.n_alarm = 0; adapter->ptp_caps.n_ext_ts = 0; adapter->ptp_caps.n_per_out = 0; adapter->ptp_caps.pps = 0; adapter->ptp_caps.adjfreq = & ixgbe_ptp_adjfreq; adapter->ptp_caps.adjtime = & ixgbe_ptp_adjtime; adapter->ptp_caps.gettime = & ixgbe_ptp_gettime; adapter->ptp_caps.settime = & ixgbe_ptp_settime; adapter->ptp_caps.enable = & ixgbe_ptp_enable; } goto ldv_51082; switch_default: /* CIL Label */ adapter->ptp_clock = (struct ptp_clock *)0; return; switch_break: /* CIL Label */ ; } ldv_51082: { spinlock_check(& adapter->tmreg_lock); __raw_spin_lock_init(& adapter->tmreg_lock.__annonCompField19.rlock, "&(&adapter->tmreg_lock)->rlock", & __key); __init_work(& adapter->ptp_tx_work, 0); __constr_expr_0.counter = 137438953408L; adapter->ptp_tx_work.data = __constr_expr_0; lockdep_init_map(& adapter->ptp_tx_work.lockdep_map, "(&adapter->ptp_tx_work)", & __key___0, 0); INIT_LIST_HEAD(& adapter->ptp_tx_work.entry); adapter->ptp_tx_work.func = & ixgbe_ptp_tx_hwtstamp_work; adapter->ptp_clock = ptp_clock_register(& adapter->ptp_caps, & (adapter->pdev)->dev); tmp = IS_ERR((void const *)adapter->ptp_clock); } if (tmp != 0L) { { adapter->ptp_clock = (struct ptp_clock *)0; dev_err((struct device const *)(& (adapter->pdev)->dev), "ptp_clock_register failed\n"); } } else { { _dev_info((struct device const *)(& (adapter->pdev)->dev), "registered PHC device on %s\n", (char *)(& netdev->name)); } } { ixgbe_ptp_reset(adapter); set_bit(6L, (unsigned long volatile *)(& adapter->state)); } return; } } void ixgbe_ptp_stop(struct ixgbe_adapter *adapter ) { int tmp ; { { tmp = test_and_set_bit(6L, (unsigned long volatile *)(& adapter->state)); } if (tmp == 0) { return; } else { } { adapter->flags2 = adapter->flags2 & 4294966271U; ixgbe_ptp_setup_sdp(adapter); cancel_work_sync(& adapter->ptp_tx_work); } if ((unsigned long )adapter->ptp_tx_skb != (unsigned long )((struct sk_buff *)0)) { { dev_kfree_skb_any(adapter->ptp_tx_skb); adapter->ptp_tx_skb = (struct sk_buff *)0; } } else { } if ((unsigned long )adapter->ptp_clock != (unsigned long )((struct ptp_clock *)0)) { { ptp_clock_unregister(adapter->ptp_clock); adapter->ptp_clock = (struct ptp_clock *)0; _dev_info((struct device const *)(& (adapter->pdev)->dev), "removed PHC on %s\n", (char *)(& (adapter->netdev)->name)); } } else { } return; } } __inline static long IS_ERR(void const *ptr ) { long tmp ; { { tmp = ldv_is_err(ptr); } return (tmp); } } void ixgbe_dcb_unpack_pfc(struct ixgbe_dcb_config *cfg , u8 *pfc_en ) ; void ixgbe_dcb_unpack_refill(struct ixgbe_dcb_config *cfg , int direction , u16 *refill ) ; void ixgbe_dcb_unpack_max(struct ixgbe_dcb_config *cfg , u16 *max ) ; void ixgbe_dcb_unpack_bwgid(struct ixgbe_dcb_config *cfg , int direction , u8 *bwgid ) ; void ixgbe_dcb_unpack_prio(struct ixgbe_dcb_config *cfg , int direction , u8 *ptype ) ; void ixgbe_dcb_unpack_map(struct ixgbe_dcb_config *cfg , int direction , u8 *map ) ; s32 ixgbe_dcb_hw_ets_config(struct ixgbe_hw *hw , u16 *refill , u16 *max , u8 *bwg_id , u8 *prio_type , u8 *prio_tc ) ; void ixgbe_dcb_read_rtrup2tc(struct ixgbe_hw *hw , u8 *map ) ; s32 ixgbe_dcb_config_pfc_82598(struct ixgbe_hw *hw , u8 pfc_en ) ; s32 ixgbe_dcb_config_rx_arbiter_82598(struct ixgbe_hw *hw , u16 *refill , u16 *max , u8 *prio_type ) ; s32 ixgbe_dcb_config_tx_desc_arbiter_82598(struct ixgbe_hw *hw , u16 *refill , u16 *max , u8 *bwg_id , u8 *prio_type ) ; s32 ixgbe_dcb_config_tx_data_arbiter_82598(struct ixgbe_hw *hw , u16 *refill , u16 *max , u8 *bwg_id , u8 *prio_type ) ; s32 ixgbe_dcb_hw_config_82598(struct ixgbe_hw *hw , u8 pfc_en , u16 *refill , u16 *max , u8 *bwg_id , u8 *prio_type ) ; s32 ixgbe_dcb_config_pfc_82599(struct ixgbe_hw *hw , u8 pfc_en , u8 *prio_tc ) ; s32 ixgbe_dcb_config_rx_arbiter_82599(struct ixgbe_hw *hw , u16 *refill , u16 *max , u8 *bwg_id , u8 *prio_type , u8 *prio_tc ) ; s32 ixgbe_dcb_config_tx_desc_arbiter_82599(struct ixgbe_hw *hw , u16 *refill , u16 *max , u8 *bwg_id , u8 *prio_type ) ; s32 ixgbe_dcb_config_tx_data_arbiter_82599(struct ixgbe_hw *hw , u16 *refill , u16 *max , u8 *bwg_id , u8 *prio_type , u8 *prio_tc ) ; s32 ixgbe_dcb_hw_config_82599(struct ixgbe_hw *hw , u8 pfc_en , u16 *refill , u16 *max , u8 *bwg_id , u8 *prio_type , u8 *prio_tc ) ; static s32 ixgbe_ieee_credits(__u8 *bw , __u16 *refill , __u16 *max , int max_frame ) { int min_percent ; int min_credit ; int multiplier ; int i ; int val ; int _min1 ; int _min2 ; { min_percent = 100; min_credit = (max_frame / 2 + 63) / 64; i = 0; goto ldv_50915; ldv_50914: ; if ((int )*(bw + (unsigned long )i) < min_percent && (unsigned int )*(bw + (unsigned long )i) != 0U) { min_percent = (int )*(bw + (unsigned long )i); } else { } i = i + 1; ldv_50915: ; if (i <= 7) { goto ldv_50914; } else { } multiplier = min_credit / min_percent + 1; i = 0; goto ldv_50922; ldv_50921: _min1 = (int )*(bw + (unsigned long )i) * multiplier; _min2 = 511; val = _min1 < _min2 ? _min1 : _min2; if (val < min_credit) { val = min_credit; } else { } *(refill + (unsigned long )i) = (__u16 )val; *(max + (unsigned long )i) = (unsigned int )*(bw + (unsigned long )i) != 0U ? (__u16 )(((int )*(bw + (unsigned long )i) * 4095) / 100) : (__u16 )min_credit; i = i + 1; ldv_50922: ; if (i <= 7) { goto ldv_50921; } else { } return (0); } } s32 ixgbe_dcb_calculate_tc_credits(struct ixgbe_hw *hw , struct ixgbe_dcb_config *dcb_config , int max_frame , u8 direction ) { struct tc_bw_alloc *p ; int min_credit ; int min_multiplier ; int min_percent ; s32 ret_val ; u32 credit_refill ; u32 credit_max ; u16 link_percentage ; u8 bw_percent ; u8 i ; int _min1 ; int _min2 ; { min_percent = 100; ret_val = 0; credit_refill = 0U; credit_max = 0U; link_percentage = 0U; bw_percent = 0U; if ((unsigned long )dcb_config == (unsigned long )((struct ixgbe_dcb_config *)0)) { ret_val = -1; goto out; } else { } min_credit = (max_frame / 2 + 63) / 64; i = 0U; goto ldv_50942; ldv_50941: p = (struct tc_bw_alloc *)(& dcb_config->tc_config[(int )i].path) + (unsigned long )direction; bw_percent = dcb_config->bw_percentage[(int )direction][(int )p->bwg_id]; link_percentage = (u16 )p->bwg_percent; link_percentage = (u16 )(((int )link_percentage * (int )bw_percent) / 100); if ((unsigned int )link_percentage != 0U && (int )link_percentage < min_percent) { min_percent = (int )link_percentage; } else { } i = (u8 )((int )i + 1); ldv_50942: ; if ((unsigned int )i <= 7U) { goto ldv_50941; } else { } min_multiplier = min_credit / min_percent + 1; i = 0U; goto ldv_50948; ldv_50947: p = (struct tc_bw_alloc *)(& dcb_config->tc_config[(int )i].path) + (unsigned long )direction; bw_percent = dcb_config->bw_percentage[(int )direction][(int )p->bwg_id]; link_percentage = (u16 )p->bwg_percent; link_percentage = (u16 )(((int )link_percentage * (int )bw_percent) / 100); if ((unsigned int )p->bwg_percent != 0U && (unsigned int )link_percentage == 0U) { link_percentage = 1U; } else { } p->link_percent = (unsigned char )link_percentage; _min1 = (int )link_percentage * min_multiplier; _min2 = 511; credit_refill = (u32 )(_min1 < _min2 ? _min1 : _min2); p->data_credits_refill = (unsigned short )credit_refill; credit_max = (u32 )(((int )link_percentage * 4095) / 100); if (credit_max != 0U && credit_max < (u32 )min_credit) { credit_max = (u32 )min_credit; } else { } if ((unsigned int )direction == 0U) { if (((unsigned int )hw->mac.type == 1U && credit_max != 0U) && credit_max <= 512U) { credit_max = 513U; } else { } dcb_config->tc_config[(int )i].desc_credits_max = (unsigned short )credit_max; } else { } p->data_credits_max = (unsigned short )credit_max; i = (u8 )((int )i + 1); ldv_50948: ; if ((unsigned int )i <= 7U) { goto ldv_50947; } else { } out: ; return (ret_val); } } void ixgbe_dcb_unpack_pfc(struct ixgbe_dcb_config *cfg , u8 *pfc_en ) { struct tc_configuration *tc_config ; int tc ; { tc_config = (struct tc_configuration *)(& cfg->tc_config); *pfc_en = 0U; tc = 0; goto ldv_50957; ldv_50956: ; if ((unsigned int )(tc_config + (unsigned long )tc)->dcb_pfc != 0U) { *pfc_en = (u8 )((int )((signed char )*pfc_en) | (int )((signed char )(1 << tc))); } else { } tc = tc + 1; ldv_50957: ; if (tc <= 7) { goto ldv_50956; } else { } return; } } void ixgbe_dcb_unpack_refill(struct ixgbe_dcb_config *cfg , int direction , u16 *refill ) { struct tc_configuration *tc_config ; int tc ; { tc_config = (struct tc_configuration *)(& cfg->tc_config); tc = 0; goto ldv_50967; ldv_50966: *(refill + (unsigned long )tc) = (tc_config + (unsigned long )tc)->path[direction].data_credits_refill; tc = tc + 1; ldv_50967: ; if (tc <= 7) { goto ldv_50966; } else { } return; } } void ixgbe_dcb_unpack_max(struct ixgbe_dcb_config *cfg , u16 *max ) { struct tc_configuration *tc_config ; int tc ; { tc_config = (struct tc_configuration *)(& cfg->tc_config); tc = 0; goto ldv_50976; ldv_50975: *(max + (unsigned long )tc) = (tc_config + (unsigned long )tc)->desc_credits_max; tc = tc + 1; ldv_50976: ; if (tc <= 7) { goto ldv_50975; } else { } return; } } void ixgbe_dcb_unpack_bwgid(struct ixgbe_dcb_config *cfg , int direction , u8 *bwgid ) { struct tc_configuration *tc_config ; int tc ; { tc_config = (struct tc_configuration *)(& cfg->tc_config); tc = 0; goto ldv_50986; ldv_50985: *(bwgid + (unsigned long )tc) = (tc_config + (unsigned long )tc)->path[direction].bwg_id; tc = tc + 1; ldv_50986: ; if (tc <= 7) { goto ldv_50985; } else { } return; } } void ixgbe_dcb_unpack_prio(struct ixgbe_dcb_config *cfg , int direction , u8 *ptype ) { struct tc_configuration *tc_config ; int tc ; { tc_config = (struct tc_configuration *)(& cfg->tc_config); tc = 0; goto ldv_50996; ldv_50995: *(ptype + (unsigned long )tc) = (u8 )(tc_config + (unsigned long )tc)->path[direction].prio_type; tc = tc + 1; ldv_50996: ; if (tc <= 7) { goto ldv_50995; } else { } return; } } u8 ixgbe_dcb_get_tc_from_up(struct ixgbe_dcb_config *cfg , int direction , u8 up___0 ) { struct tc_configuration *tc_config ; u8 prio_mask ; u8 tc ; { tc_config = (struct tc_configuration *)(& cfg->tc_config); prio_mask = (u8 )(1 << (int )up___0); tc = cfg->num_tcs.pg_tcs; if ((unsigned int )tc == 0U) { goto out; } else { } tc = (u8 )((int )tc - 1); goto ldv_51009; ldv_51008: ; if ((unsigned int )((int )prio_mask & (int )(tc_config + (unsigned long )tc)->path[direction].up_to_tc_bitmap) != 0U) { goto ldv_51007; } else { } tc = (u8 )((int )tc - 1); ldv_51009: ; if ((unsigned int )tc != 0U) { goto ldv_51008; } else { } ldv_51007: ; out: ; return (tc); } } void ixgbe_dcb_unpack_map(struct ixgbe_dcb_config *cfg , int direction , u8 *map ) { u8 up___0 ; { up___0 = 0U; goto ldv_51017; ldv_51016: { *(map + (unsigned long )up___0) = ixgbe_dcb_get_tc_from_up(cfg, direction, (int )up___0); up___0 = (u8 )((int )up___0 + 1); } ldv_51017: ; if ((unsigned int )up___0 <= 7U) { goto ldv_51016; } else { } return; } } s32 ixgbe_dcb_hw_config(struct ixgbe_hw *hw , struct ixgbe_dcb_config *dcb_config ) { s32 ret ; u8 pfc_en ; u8 ptype[8U] ; u8 bwgid[8U] ; u8 prio_tc[8U] ; u16 refill[8U] ; u16 max[8U] ; { { ret = 0; ixgbe_dcb_unpack_pfc(dcb_config, & pfc_en); ixgbe_dcb_unpack_refill(dcb_config, 0, (u16 *)(& refill)); ixgbe_dcb_unpack_max(dcb_config, (u16 *)(& max)); ixgbe_dcb_unpack_bwgid(dcb_config, 0, (u8 *)(& bwgid)); ixgbe_dcb_unpack_prio(dcb_config, 0, (u8 *)(& ptype)); ixgbe_dcb_unpack_map(dcb_config, 0, (u8 *)(& prio_tc)); } { if ((unsigned int )hw->mac.type == 1U) { goto case_1; } else { } if ((unsigned int )hw->mac.type == 2U) { goto case_2; } else { } if ((unsigned int )hw->mac.type == 3U) { goto case_3; } else { } goto switch_default; case_1: /* CIL Label */ { ret = ixgbe_dcb_hw_config_82598(hw, (int )pfc_en, (u16 *)(& refill), (u16 *)(& max), (u8 *)(& bwgid), (u8 *)(& ptype)); } goto ldv_51031; case_2: /* CIL Label */ ; case_3: /* CIL Label */ { ret = ixgbe_dcb_hw_config_82599(hw, (int )pfc_en, (u16 *)(& refill), (u16 *)(& max), (u8 *)(& bwgid), (u8 *)(& ptype), (u8 *)(& prio_tc)); } goto ldv_51031; switch_default: /* CIL Label */ ; goto ldv_51031; switch_break: /* CIL Label */ ; } ldv_51031: ; return (ret); } } s32 ixgbe_dcb_hw_pfc_config(struct ixgbe_hw *hw , u8 pfc_en , u8 *prio_tc ) { int ret ; { ret = -22; { if ((unsigned int )hw->mac.type == 1U) { goto case_1; } else { } if ((unsigned int )hw->mac.type == 2U) { goto case_2; } else { } if ((unsigned int )hw->mac.type == 3U) { goto case_3; } else { } goto switch_default; case_1: /* CIL Label */ { ret = ixgbe_dcb_config_pfc_82598(hw, (int )pfc_en); } goto ldv_51042; case_2: /* CIL Label */ ; case_3: /* CIL Label */ { ret = ixgbe_dcb_config_pfc_82599(hw, (int )pfc_en, prio_tc); } goto ldv_51042; switch_default: /* CIL Label */ ; goto ldv_51042; switch_break: /* CIL Label */ ; } ldv_51042: ; return (ret); } } s32 ixgbe_dcb_hw_ets(struct ixgbe_hw *hw , struct ieee_ets *ets , int max_frame ) { __u16 refill[8U] ; __u16 max[8U] ; __u8 prio_type[8U] ; int i ; __u8 bwg_id[8U] ; s32 tmp ; { bwg_id[0] = 0U; bwg_id[1] = 1U; bwg_id[2] = 2U; bwg_id[3] = 3U; bwg_id[4] = 4U; bwg_id[5] = 5U; bwg_id[6] = 6U; bwg_id[7] = 7U; i = 0; goto ldv_51061; ldv_51060: ; { if ((int )ets->tc_tsa[i] == 0) { goto case_0; } else { } if ((int )ets->tc_tsa[i] == 2) { goto case_2; } else { } goto switch_default; case_0: /* CIL Label */ prio_type[i] = 2U; goto ldv_51057; case_2: /* CIL Label */ prio_type[i] = 0U; goto ldv_51057; switch_default: /* CIL Label */ ; return (-22); switch_break: /* CIL Label */ ; } ldv_51057: i = i + 1; ldv_51061: ; if (i <= 7) { goto ldv_51060; } else { } { ixgbe_ieee_credits((__u8 *)(& ets->tc_tx_bw), (__u16 *)(& refill), (__u16 *)(& max), max_frame); tmp = ixgbe_dcb_hw_ets_config(hw, (u16 *)(& refill), (u16 *)(& max), (u8 *)(& bwg_id), (u8 *)(& prio_type), (u8 *)(& ets->prio_tc)); } return (tmp); } } s32 ixgbe_dcb_hw_ets_config(struct ixgbe_hw *hw , u16 *refill , u16 *max , u8 *bwg_id , u8 *prio_type , u8 *prio_tc ) { { { if ((unsigned int )hw->mac.type == 1U) { goto case_1; } else { } if ((unsigned int )hw->mac.type == 2U) { goto case_2; } else { } if ((unsigned int )hw->mac.type == 3U) { goto case_3; } else { } goto switch_default; case_1: /* CIL Label */ { ixgbe_dcb_config_rx_arbiter_82598(hw, refill, max, prio_type); ixgbe_dcb_config_tx_desc_arbiter_82598(hw, refill, max, bwg_id, prio_type); ixgbe_dcb_config_tx_data_arbiter_82598(hw, refill, max, bwg_id, prio_type); } goto ldv_51072; case_2: /* CIL Label */ ; case_3: /* CIL Label */ { ixgbe_dcb_config_rx_arbiter_82599(hw, refill, max, bwg_id, prio_type, prio_tc); ixgbe_dcb_config_tx_desc_arbiter_82599(hw, refill, max, bwg_id, prio_type); ixgbe_dcb_config_tx_data_arbiter_82599(hw, refill, max, bwg_id, prio_type, prio_tc); } goto ldv_51072; switch_default: /* CIL Label */ ; goto ldv_51072; switch_break: /* CIL Label */ ; } ldv_51072: ; return (0); } } static void ixgbe_dcb_read_rtrup2tc_82599(struct ixgbe_hw *hw , u8 *map ) { u32 reg ; u32 i ; { { reg = ixgbe_read_reg(hw, 12320U); i = 0U; } goto ldv_51083; ldv_51082: *(map + (unsigned long )i) = (unsigned int )((u8 )(reg >> (int )(i * 3U))) & 7U; i = i + 1U; ldv_51083: ; if (i <= 7U) { goto ldv_51082; } else { } return; } } void ixgbe_dcb_read_rtrup2tc(struct ixgbe_hw *hw , u8 *map ) { { { if ((unsigned int )hw->mac.type == 2U) { goto case_2; } else { } if ((unsigned int )hw->mac.type == 3U) { goto case_3; } else { } goto switch_default; case_2: /* CIL Label */ ; case_3: /* CIL Label */ { ixgbe_dcb_read_rtrup2tc_82599(hw, map); } goto ldv_51091; switch_default: /* CIL Label */ ; goto ldv_51091; switch_break: /* CIL Label */ ; } ldv_51091: ; return; } } s32 ixgbe_dcb_config_rx_arbiter_82598(struct ixgbe_hw *hw , u16 *refill , u16 *max , u8 *prio_type ) { u32 reg ; u32 credit_refill ; u32 credit_max ; u8 i ; u32 tmp ; { { reg = 0U; credit_refill = 0U; credit_max = 0U; i = 0U; tmp = ixgbe_read_reg(hw, 20640U); reg = tmp | 2147483648U; ixgbe_write_reg(hw, 20640U, reg); reg = ixgbe_read_reg(hw, 15616U); reg = reg & 4294967231U; reg = reg | 2U; reg = reg | 4U; ixgbe_write_reg(hw, 15616U, reg); i = 0U; } goto ldv_50883; ldv_50882: credit_refill = (u32 )*(refill + (unsigned long )i); credit_max = (u32 )*(max + (unsigned long )i); reg = credit_refill | (credit_max << 12); if ((unsigned int )*(prio_type + (unsigned long )i) == 2U) { reg = reg | 2147483648U; } else { } { ixgbe_write_reg(hw, (u32 )(((int )i + 3848) * 4), reg); i = (u8 )((int )i + 1); } ldv_50883: ; if ((unsigned int )i <= 7U) { goto ldv_50882; } else { } { reg = ixgbe_read_reg(hw, 12032U); reg = reg; reg = reg | 16U; reg = reg | 64U; ixgbe_write_reg(hw, 12032U, reg); reg = ixgbe_read_reg(hw, 12288U); reg = reg & 4294967293U; ixgbe_write_reg(hw, 12288U, reg); } return (0); } } s32 ixgbe_dcb_config_tx_desc_arbiter_82598(struct ixgbe_hw *hw , u16 *refill , u16 *max , u8 *bwg_id , u8 *prio_type ) { u32 reg ; u32 max_credits ; u8 i ; { { reg = ixgbe_read_reg(hw, 32576U); reg = reg & 4294967231U; reg = reg | 524288U; reg = reg | 262144U; ixgbe_write_reg(hw, 32576U, reg); i = 0U; } goto ldv_50896; ldv_50895: max_credits = (u32 )*(max + (unsigned long )i); reg = max_credits << 12; reg = reg | (u32 )*(refill + (unsigned long )i); reg = reg | ((unsigned int )*(bwg_id + (unsigned long )i) << 9); if ((unsigned int )*(prio_type + (unsigned long )i) == 1U) { reg = reg | 1073741824U; } else { } if ((unsigned int )*(prio_type + (unsigned long )i) == 2U) { reg = reg | 2147483648U; } else { } { ixgbe_write_reg(hw, (u32 )((int )i * 64 + 24620), reg); i = (u8 )((int )i + 1); } ldv_50896: ; if ((unsigned int )i <= 7U) { goto ldv_50895; } else { } return (0); } } s32 ixgbe_dcb_config_tx_data_arbiter_82598(struct ixgbe_hw *hw , u16 *refill , u16 *max , u8 *bwg_id , u8 *prio_type ) { u32 reg ; u8 i ; { { reg = ixgbe_read_reg(hw, 52480U); reg = reg & 4294967231U; reg = reg | 288U; ixgbe_write_reg(hw, 52480U, reg); i = 0U; } goto ldv_50908; ldv_50907: reg = (u32 )*(refill + (unsigned long )i); reg = reg | ((unsigned int )*(max + (unsigned long )i) << 12); reg = reg | ((unsigned int )*(bwg_id + (unsigned long )i) << 9); if ((unsigned int )*(prio_type + (unsigned long )i) == 1U) { reg = reg | 1073741824U; } else { } if ((unsigned int )*(prio_type + (unsigned long )i) == 2U) { reg = reg | 2147483648U; } else { } { ixgbe_write_reg(hw, (u32 )(((int )i + 13128) * 4), reg); i = (u8 )((int )i + 1); } ldv_50908: ; if ((unsigned int )i <= 7U) { goto ldv_50907; } else { } { reg = ixgbe_read_reg(hw, 32256U); reg = reg | 4U; ixgbe_write_reg(hw, 32256U, reg); } return (0); } } s32 ixgbe_dcb_config_pfc_82598(struct ixgbe_hw *hw , u8 pfc_en ) { u32 fcrtl ; u32 reg ; u8 i ; { { reg = ixgbe_read_reg(hw, 15616U); reg = reg & 4294967287U; reg = reg | 16U; ixgbe_write_reg(hw, 15616U, reg); reg = ixgbe_read_reg(hw, 20608U); reg = reg & 4294918143U; } if ((unsigned int )pfc_en != 0U) { reg = reg | 16384U; } else { } { ixgbe_write_reg(hw, 20608U, reg); fcrtl = (hw->fc.low_water << 10) | 2147483648U; i = 0U; } goto ldv_50919; ldv_50918: ; if ((((int )pfc_en >> (int )i) & 1) == 0) { { ixgbe_write_reg(hw, (u32 )(((int )i + 1604) * 8), 0U); ixgbe_write_reg(hw, (u32 )(((int )i + 1612) * 8), 0U); } goto ldv_50917; } else { } { reg = (hw->fc.high_water[(int )i] << 10) | 2147483648U; ixgbe_write_reg(hw, (u32 )(((int )i + 1604) * 8), fcrtl); ixgbe_write_reg(hw, (u32 )(((int )i + 1612) * 8), reg); } ldv_50917: i = (u8 )((int )i + 1); ldv_50919: ; if ((unsigned int )i <= 7U) { goto ldv_50918; } else { } reg = (u32 )((int )hw->fc.pause_time * 65537); i = 0U; goto ldv_50922; ldv_50921: { ixgbe_write_reg(hw, (u32 )(((int )i + 3200) * 4), reg); i = (u8 )((int )i + 1); } ldv_50922: ; if ((unsigned int )i <= 3U) { goto ldv_50921; } else { } { ixgbe_write_reg(hw, 12960U, (unsigned int )hw->fc.pause_time / 2U); } return (0); } } static s32 ixgbe_dcb_config_tc_stats_82598(struct ixgbe_hw *hw ) { u32 reg ; u8 i ; u8 j ; { reg = 0U; i = 0U; j = 0U; i = 0U; j = 0U; goto ldv_50931; ldv_50930: { reg = ixgbe_read_reg(hw, (u32 )(((int )i + 2240) * 4)); reg = reg | (u32 )((int )j * 16843009); ixgbe_write_reg(hw, (u32 )(((int )i + 2240) * 4), reg); reg = ixgbe_read_reg(hw, (u32 )(((int )i + 2241) * 4)); reg = reg | (u32 )((int )j * 16843009); ixgbe_write_reg(hw, (u32 )(((int )i + 2241) * 4), reg); i = (unsigned int )i + 2U; j = (u8 )((int )j + 1); } ldv_50931: ; if ((unsigned int )i <= 14U && (unsigned int )j <= 7U) { goto ldv_50930; } else { } i = 0U; goto ldv_50934; ldv_50933: { reg = ixgbe_read_reg(hw, (u32 )((unsigned int )i <= 7U ? ((int )i + 7360) * 4 : ((int )i + 8576) * 4)); reg = reg | (u32 )((int )i * 16843009); ixgbe_write_reg(hw, (u32 )((unsigned int )i <= 7U ? ((int )i + 7360) * 4 : ((int )i + 8576) * 4), reg); i = (u8 )((int )i + 1); } ldv_50934: ; if ((unsigned int )i <= 7U) { goto ldv_50933; } else { } return (0); } } s32 ixgbe_dcb_hw_config_82598(struct ixgbe_hw *hw , u8 pfc_en , u16 *refill , u16 *max , u8 *bwg_id , u8 *prio_type ) { { { ixgbe_dcb_config_rx_arbiter_82598(hw, refill, max, prio_type); ixgbe_dcb_config_tx_desc_arbiter_82598(hw, refill, max, bwg_id, prio_type); ixgbe_dcb_config_tx_data_arbiter_82598(hw, refill, max, bwg_id, prio_type); ixgbe_dcb_config_pfc_82598(hw, (int )pfc_en); ixgbe_dcb_config_tc_stats_82598(hw); } return (0); } } s32 ixgbe_dcb_config_rx_arbiter_82599(struct ixgbe_hw *hw , u16 *refill , u16 *max , u8 *bwg_id , u8 *prio_type , u8 *prio_tc ) { u32 reg ; u32 credit_refill ; u32 credit_max ; u8 i ; { { reg = 0U; credit_refill = 0U; credit_max = 0U; i = 0U; reg = 70U; ixgbe_write_reg(hw, 9264U, reg); reg = 0U; i = 0U; } goto ldv_50890; ldv_50889: reg = reg | (u32 )((int )*(prio_tc + (unsigned long )i) << (int )i * 3); i = (u8 )((int )i + 1); ldv_50890: ; if ((unsigned int )i <= 7U) { goto ldv_50889; } else { } { ixgbe_write_reg(hw, 12320U, reg); i = 0U; } goto ldv_50893; ldv_50892: credit_refill = (u32 )*(refill + (unsigned long )i); credit_max = (u32 )*(max + (unsigned long )i); reg = credit_refill | (credit_max << 12); reg = reg | ((unsigned int )*(bwg_id + (unsigned long )i) << 9); if ((unsigned int )*(prio_type + (unsigned long )i) == 2U) { reg = reg | 2147483648U; } else { } { ixgbe_write_reg(hw, (u32 )(((int )i + 2128) * 4), reg); i = (u8 )((int )i + 1); } ldv_50893: ; if ((unsigned int )i <= 7U) { goto ldv_50892; } else { } { reg = 6U; ixgbe_write_reg(hw, 9264U, reg); } return (0); } } s32 ixgbe_dcb_config_tx_desc_arbiter_82599(struct ixgbe_hw *hw , u16 *refill , u16 *max , u8 *bwg_id , u8 *prio_type ) { u32 reg ; u32 max_credits ; u8 i ; { i = 0U; goto ldv_50906; ldv_50905: { ixgbe_write_reg(hw, 18692U, (u32 )i); ixgbe_write_reg(hw, 18696U, 0U); i = (u8 )((int )i + 1); } ldv_50906: ; if ((int )((signed char )i) >= 0) { goto ldv_50905; } else { } i = 0U; goto ldv_50909; ldv_50908: max_credits = (u32 )*(max + (unsigned long )i); reg = max_credits << 12; reg = reg | (u32 )*(refill + (unsigned long )i); reg = reg | ((unsigned int )*(bwg_id + (unsigned long )i) << 9); if ((unsigned int )*(prio_type + (unsigned long )i) == 1U) { reg = reg | 1073741824U; } else { } if ((unsigned int )*(prio_type + (unsigned long )i) == 2U) { reg = reg | 2147483648U; } else { } { ixgbe_write_reg(hw, (u32 )(((int )i + 4676) * 4), reg); i = (u8 )((int )i + 1); } ldv_50909: ; if ((unsigned int )i <= 7U) { goto ldv_50908; } else { } { reg = 17U; ixgbe_write_reg(hw, 18688U, reg); } return (0); } } s32 ixgbe_dcb_config_tx_data_arbiter_82599(struct ixgbe_hw *hw , u16 *refill , u16 *max , u8 *bwg_id , u8 *prio_type , u8 *prio_tc ) { u32 reg ; u8 i ; { { reg = 16777568U; ixgbe_write_reg(hw, 52480U, reg); reg = 0U; i = 0U; } goto ldv_50922; ldv_50921: reg = reg | (u32 )((int )*(prio_tc + (unsigned long )i) << (int )i * 3); i = (u8 )((int )i + 1); ldv_50922: ; if ((unsigned int )i <= 7U) { goto ldv_50921; } else { } { ixgbe_write_reg(hw, 51200U, reg); i = 0U; } goto ldv_50925; ldv_50924: reg = (u32 )*(refill + (unsigned long )i); reg = reg | ((unsigned int )*(max + (unsigned long )i) << 12); reg = reg | ((unsigned int )*(bwg_id + (unsigned long )i) << 9); if ((unsigned int )*(prio_type + (unsigned long )i) == 1U) { reg = reg | 1073741824U; } else { } if ((unsigned int )*(prio_type + (unsigned long )i) == 2U) { reg = reg | 2147483648U; } else { } { ixgbe_write_reg(hw, (u32 )(((int )i + 13128) * 4), reg); i = (u8 )((int )i + 1); } ldv_50925: ; if ((unsigned int )i <= 7U) { goto ldv_50924; } else { } { reg = 16777504U; ixgbe_write_reg(hw, 52480U, reg); } return (0); } } s32 ixgbe_dcb_config_pfc_82599(struct ixgbe_hw *hw , u8 pfc_en , u8 *prio_tc ) { u32 i ; u32 j ; u32 fcrtl ; u32 reg ; u8 max_tc ; int enabled ; u32 tmp ; { { max_tc = 0U; ixgbe_write_reg(hw, 15616U, 16U); reg = ixgbe_read_reg(hw, 17044U); reg = reg | 2U; reg = reg & 4294963203U; } if ((unsigned int )hw->mac.type == 3U) { reg = reg | (u32 )((int )pfc_en << 4); } else { } if ((unsigned int )pfc_en != 0U) { reg = reg | 4U; } else { } { ixgbe_write_reg(hw, 17044U, reg); i = 0U; } goto ldv_50938; ldv_50937: ; if ((int )*(prio_tc + (unsigned long )i) > (int )max_tc) { max_tc = *(prio_tc + (unsigned long )i); } else { } i = i + 1U; ldv_50938: ; if (i <= 7U) { goto ldv_50937; } else { } fcrtl = (hw->fc.low_water << 10) | 2147483648U; i = 0U; goto ldv_50945; ldv_50944: enabled = 0; j = 0U; goto ldv_50943; ldv_50942: ; if ((u32 )*(prio_tc + (unsigned long )j) == i && ((int )pfc_en >> (int )j) & 1) { enabled = 1; goto ldv_50941; } else { } j = j + 1U; ldv_50943: ; if (j <= 7U) { goto ldv_50942; } else { } ldv_50941: ; if (enabled != 0) { { reg = (hw->fc.high_water[i] << 10) | 2147483648U; ixgbe_write_reg(hw, (i + 3208U) * 4U, fcrtl); } } else { { tmp = ixgbe_read_reg(hw, (i + 3840U) * 4U); reg = tmp - 32U; ixgbe_write_reg(hw, (i + 3208U) * 4U, 0U); } } { ixgbe_write_reg(hw, (i + 3224U) * 4U, reg); i = i + 1U; } ldv_50945: ; if (i <= (u32 )max_tc) { goto ldv_50944; } else { } goto ldv_50948; ldv_50947: { ixgbe_write_reg(hw, (i + 3208U) * 4U, 0U); ixgbe_write_reg(hw, (i + 3224U) * 4U, 0U); i = i + 1U; } ldv_50948: ; if (i <= 7U) { goto ldv_50947; } else { } reg = (u32 )((int )hw->fc.pause_time * 65537); i = 0U; goto ldv_50951; ldv_50950: { ixgbe_write_reg(hw, (i + 3200U) * 4U, reg); i = i + 1U; } ldv_50951: ; if (i <= 3U) { goto ldv_50950; } else { } { ixgbe_write_reg(hw, 12960U, (unsigned int )hw->fc.pause_time / 2U); } return (0); } } static s32 ixgbe_dcb_config_tc_stats_82599(struct ixgbe_hw *hw ) { u32 reg ; u8 i ; { reg = 0U; i = 0U; i = 0U; goto ldv_50959; ldv_50958: { reg = (u32 )((int )((unsigned int )i / 4U) * 16843009); ixgbe_write_reg(hw, (u32 )(((int )i + 2240) * 4), reg); i = (u8 )((int )i + 1); } ldv_50959: ; if ((unsigned int )i <= 31U) { goto ldv_50958; } else { } i = 0U; goto ldv_50962; ldv_50961: ; if ((unsigned int )i <= 7U) { reg = 0U; } else if ((unsigned int )i <= 15U) { reg = 16843009U; } else if ((unsigned int )i <= 19U) { reg = 33686018U; } else if ((unsigned int )i <= 23U) { reg = 50529027U; } else if ((unsigned int )i <= 25U) { reg = 67372036U; } else if ((unsigned int )i <= 27U) { reg = 84215045U; } else if ((unsigned int )i <= 29U) { reg = 101058054U; } else { reg = 117901063U; } { ixgbe_write_reg(hw, (u32 )(((int )i + 8576) * 4), reg); i = (u8 )((int )i + 1); } ldv_50962: ; if ((unsigned int )i <= 31U) { goto ldv_50961; } else { } return (0); } } s32 ixgbe_dcb_hw_config_82599(struct ixgbe_hw *hw , u8 pfc_en , u16 *refill , u16 *max , u8 *bwg_id , u8 *prio_type , u8 *prio_tc ) { { { ixgbe_dcb_config_rx_arbiter_82599(hw, refill, max, bwg_id, prio_type, prio_tc); ixgbe_dcb_config_tx_desc_arbiter_82599(hw, refill, max, bwg_id, prio_type); ixgbe_dcb_config_tx_data_arbiter_82599(hw, refill, max, bwg_id, prio_type, prio_tc); ixgbe_dcb_config_pfc_82599(hw, (int )pfc_en, prio_tc); ixgbe_dcb_config_tc_stats_82599(hw); } return (0); } } extern u8 dcb_getapp(struct net_device * , struct dcb_app * ) ; extern int dcb_ieee_setapp(struct net_device * , struct dcb_app * ) ; extern int dcb_ieee_delapp(struct net_device * , struct dcb_app * ) ; static int ixgbe_copy_dcb_cfg(struct ixgbe_adapter *adapter , int tc_max ) { struct ixgbe_dcb_config *scfg ; struct ixgbe_dcb_config *dcfg ; struct tc_configuration *src ; struct tc_configuration *dst ; int i ; int j ; int tx ; int rx ; int changes ; struct dcb_app app ; u8 up___0 ; u8 tmp ; { { scfg = & adapter->temp_dcb_cfg; dcfg = & adapter->dcb_cfg; src = (struct tc_configuration *)0; dst = (struct tc_configuration *)0; tx = 0; rx = 1; changes = 0; app.selector = 0U; app.priority = (unsigned char)0; app.protocol = 35078U; tmp = dcb_getapp(adapter->netdev, & app); up___0 = tmp; } if ((unsigned int )up___0 != 0U && (((int )up___0 >> (int )adapter->fcoe.up) & 1) == 0) { changes = changes | 16; } else { } i = 1; goto ldv_50969; ldv_50968: src = (struct tc_configuration *)(& scfg->tc_config) + ((unsigned long )i + 0xffffffffffffffffUL); dst = (struct tc_configuration *)(& dcfg->tc_config) + ((unsigned long )i + 0xffffffffffffffffUL); if ((unsigned int )dst->path[tx].prio_type != (unsigned int )src->path[tx].prio_type) { dst->path[tx].prio_type = src->path[tx].prio_type; changes = changes | 8; } else { } if ((int )dst->path[tx].bwg_id != (int )src->path[tx].bwg_id) { dst->path[tx].bwg_id = src->path[tx].bwg_id; changes = changes | 8; } else { } if ((int )dst->path[tx].bwg_percent != (int )src->path[tx].bwg_percent) { dst->path[tx].bwg_percent = src->path[tx].bwg_percent; changes = changes | 8; } else { } if ((int )dst->path[tx].up_to_tc_bitmap != (int )src->path[tx].up_to_tc_bitmap) { dst->path[tx].up_to_tc_bitmap = src->path[tx].up_to_tc_bitmap; changes = changes | 26; } else { } if ((unsigned int )dst->path[rx].prio_type != (unsigned int )src->path[rx].prio_type) { dst->path[rx].prio_type = src->path[rx].prio_type; changes = changes | 4; } else { } if ((int )dst->path[rx].bwg_id != (int )src->path[rx].bwg_id) { dst->path[rx].bwg_id = src->path[rx].bwg_id; changes = changes | 4; } else { } if ((int )dst->path[rx].bwg_percent != (int )src->path[rx].bwg_percent) { dst->path[rx].bwg_percent = src->path[rx].bwg_percent; changes = changes | 4; } else { } if ((int )dst->path[rx].up_to_tc_bitmap != (int )src->path[rx].up_to_tc_bitmap) { dst->path[rx].up_to_tc_bitmap = src->path[rx].up_to_tc_bitmap; changes = changes | 22; } else { } i = i + 1; ldv_50969: ; if (i < tc_max + 1) { goto ldv_50968; } else { } i = 11; goto ldv_50972; ldv_50971: j = i + -11; if ((int )dcfg->bw_percentage[tx][j] != (int )scfg->bw_percentage[tx][j]) { dcfg->bw_percentage[tx][j] = scfg->bw_percentage[tx][j]; changes = changes | 8; } else { } if ((int )dcfg->bw_percentage[rx][j] != (int )scfg->bw_percentage[rx][j]) { dcfg->bw_percentage[rx][j] = scfg->bw_percentage[rx][j]; changes = changes | 4; } else { } i = i + 1; ldv_50972: ; if (i <= 18) { goto ldv_50971; } else { } i = 1; goto ldv_50975; ldv_50974: j = i + -1; if ((unsigned int )dcfg->tc_config[j].dcb_pfc != (unsigned int )scfg->tc_config[j].dcb_pfc) { dcfg->tc_config[j].dcb_pfc = scfg->tc_config[j].dcb_pfc; changes = changes | 2; } else { } i = i + 1; ldv_50975: ; if (i <= 8) { goto ldv_50974; } else { } if ((int )dcfg->pfc_mode_enable != (int )scfg->pfc_mode_enable) { dcfg->pfc_mode_enable = scfg->pfc_mode_enable; changes = changes | 2; } else { } return (changes); } } static u8 ixgbe_dcbnl_get_state(struct net_device *netdev ) { struct ixgbe_adapter *adapter ; void *tmp ; { { tmp = netdev_priv((struct net_device const *)netdev); adapter = (struct ixgbe_adapter *)tmp; } return ((adapter->flags & 4096U) != 0U); } } static u8 ixgbe_dcbnl_set_state(struct net_device *netdev , u8 state ) { struct ixgbe_adapter *adapter ; void *tmp ; int err ; { { tmp = netdev_priv((struct net_device const *)netdev); adapter = (struct ixgbe_adapter *)tmp; err = 0; } if (((int )adapter->dcbx_cap & 4) == 0) { return (1U); } else { } if (((unsigned int )state != 0U) ^ ((adapter->flags & 4096U) == 0U)) { goto out; } else { } { err = ixgbe_setup_tc(netdev, (unsigned int )state != 0U ? (int )adapter->dcb_cfg.num_tcs.pg_tcs : 0); } out: ; return (err != 0); } } static void ixgbe_dcbnl_get_perm_hw_addr(struct net_device *netdev , u8 *perm_addr ) { struct ixgbe_adapter *adapter ; void *tmp ; int i ; int j ; { { tmp = netdev_priv((struct net_device const *)netdev); adapter = (struct ixgbe_adapter *)tmp; memset((void *)perm_addr, 255, 32UL); i = 0; } goto ldv_50996; ldv_50995: *(perm_addr + (unsigned long )i) = adapter->hw.mac.perm_addr[i]; i = i + 1; ldv_50996: ; if (i < (int )netdev->addr_len) { goto ldv_50995; } else { } { if ((unsigned int )adapter->hw.mac.type == 2U) { goto case_2; } else { } if ((unsigned int )adapter->hw.mac.type == 3U) { goto case_3; } else { } goto switch_default; case_2: /* CIL Label */ ; case_3: /* CIL Label */ j = 0; goto ldv_51001; ldv_51000: *(perm_addr + (unsigned long )i) = adapter->hw.mac.san_addr[j]; j = j + 1; i = i + 1; ldv_51001: ; if (j < (int )netdev->addr_len) { goto ldv_51000; } else { } goto ldv_51003; switch_default: /* CIL Label */ ; goto ldv_51003; switch_break: /* CIL Label */ ; } ldv_51003: ; return; } } static void ixgbe_dcbnl_set_pg_tc_cfg_tx(struct net_device *netdev , int tc , u8 prio , u8 bwg_id , u8 bw_pct , u8 up_map ) { struct ixgbe_adapter *adapter ; void *tmp ; { { tmp = netdev_priv((struct net_device const *)netdev); adapter = (struct ixgbe_adapter *)tmp; } if ((unsigned int )prio != 255U) { adapter->temp_dcb_cfg.tc_config[tc].path[0].prio_type = (enum strict_prio_type )prio; } else { } if ((unsigned int )bwg_id != 255U) { adapter->temp_dcb_cfg.tc_config[tc].path[0].bwg_id = bwg_id; } else { } if ((unsigned int )bw_pct != 255U) { adapter->temp_dcb_cfg.tc_config[tc].path[0].bwg_percent = bw_pct; } else { } if ((unsigned int )up_map != 255U) { adapter->temp_dcb_cfg.tc_config[tc].path[0].up_to_tc_bitmap = up_map; } else { } return; } } static void ixgbe_dcbnl_set_pg_bwg_cfg_tx(struct net_device *netdev , int bwg_id , u8 bw_pct ) { struct ixgbe_adapter *adapter ; void *tmp ; { { tmp = netdev_priv((struct net_device const *)netdev); adapter = (struct ixgbe_adapter *)tmp; adapter->temp_dcb_cfg.bw_percentage[0][bwg_id] = bw_pct; } return; } } static void ixgbe_dcbnl_set_pg_tc_cfg_rx(struct net_device *netdev , int tc , u8 prio , u8 bwg_id , u8 bw_pct , u8 up_map ) { struct ixgbe_adapter *adapter ; void *tmp ; { { tmp = netdev_priv((struct net_device const *)netdev); adapter = (struct ixgbe_adapter *)tmp; } if ((unsigned int )prio != 255U) { adapter->temp_dcb_cfg.tc_config[tc].path[1].prio_type = (enum strict_prio_type )prio; } else { } if ((unsigned int )bwg_id != 255U) { adapter->temp_dcb_cfg.tc_config[tc].path[1].bwg_id = bwg_id; } else { } if ((unsigned int )bw_pct != 255U) { adapter->temp_dcb_cfg.tc_config[tc].path[1].bwg_percent = bw_pct; } else { } if ((unsigned int )up_map != 255U) { adapter->temp_dcb_cfg.tc_config[tc].path[1].up_to_tc_bitmap = up_map; } else { } return; } } static void ixgbe_dcbnl_set_pg_bwg_cfg_rx(struct net_device *netdev , int bwg_id , u8 bw_pct ) { struct ixgbe_adapter *adapter ; void *tmp ; { { tmp = netdev_priv((struct net_device const *)netdev); adapter = (struct ixgbe_adapter *)tmp; adapter->temp_dcb_cfg.bw_percentage[1][bwg_id] = bw_pct; } return; } } static void ixgbe_dcbnl_get_pg_tc_cfg_tx(struct net_device *netdev , int tc , u8 *prio , u8 *bwg_id , u8 *bw_pct , u8 *up_map ) { struct ixgbe_adapter *adapter ; void *tmp ; { { tmp = netdev_priv((struct net_device const *)netdev); adapter = (struct ixgbe_adapter *)tmp; *prio = (u8 )adapter->dcb_cfg.tc_config[tc].path[0].prio_type; *bwg_id = adapter->dcb_cfg.tc_config[tc].path[0].bwg_id; *bw_pct = adapter->dcb_cfg.tc_config[tc].path[0].bwg_percent; *up_map = adapter->dcb_cfg.tc_config[tc].path[0].up_to_tc_bitmap; } return; } } static void ixgbe_dcbnl_get_pg_bwg_cfg_tx(struct net_device *netdev , int bwg_id , u8 *bw_pct ) { struct ixgbe_adapter *adapter ; void *tmp ; { { tmp = netdev_priv((struct net_device const *)netdev); adapter = (struct ixgbe_adapter *)tmp; *bw_pct = adapter->dcb_cfg.bw_percentage[0][bwg_id]; } return; } } static void ixgbe_dcbnl_get_pg_tc_cfg_rx(struct net_device *netdev , int tc , u8 *prio , u8 *bwg_id , u8 *bw_pct , u8 *up_map ) { struct ixgbe_adapter *adapter ; void *tmp ; { { tmp = netdev_priv((struct net_device const *)netdev); adapter = (struct ixgbe_adapter *)tmp; *prio = (u8 )adapter->dcb_cfg.tc_config[tc].path[1].prio_type; *bwg_id = adapter->dcb_cfg.tc_config[tc].path[1].bwg_id; *bw_pct = adapter->dcb_cfg.tc_config[tc].path[1].bwg_percent; *up_map = adapter->dcb_cfg.tc_config[tc].path[1].up_to_tc_bitmap; } return; } } static void ixgbe_dcbnl_get_pg_bwg_cfg_rx(struct net_device *netdev , int bwg_id , u8 *bw_pct ) { struct ixgbe_adapter *adapter ; void *tmp ; { { tmp = netdev_priv((struct net_device const *)netdev); adapter = (struct ixgbe_adapter *)tmp; *bw_pct = adapter->dcb_cfg.bw_percentage[1][bwg_id]; } return; } } static void ixgbe_dcbnl_set_pfc_cfg(struct net_device *netdev , int priority , u8 setting ) { struct ixgbe_adapter *adapter ; void *tmp ; { { tmp = netdev_priv((struct net_device const *)netdev); adapter = (struct ixgbe_adapter *)tmp; adapter->temp_dcb_cfg.tc_config[priority].dcb_pfc = (enum dcb_pfc_type )setting; } if ((unsigned int )adapter->temp_dcb_cfg.tc_config[priority].dcb_pfc != (unsigned int )adapter->dcb_cfg.tc_config[priority].dcb_pfc) { adapter->temp_dcb_cfg.pfc_mode_enable = 1; } else { } return; } } static void ixgbe_dcbnl_get_pfc_cfg(struct net_device *netdev , int priority , u8 *setting ) { struct ixgbe_adapter *adapter ; void *tmp ; { { tmp = netdev_priv((struct net_device const *)netdev); adapter = (struct ixgbe_adapter *)tmp; *setting = (u8 )adapter->dcb_cfg.tc_config[priority].dcb_pfc; } return; } } static void ixgbe_dcbnl_devreset(struct net_device *dev ) { struct ixgbe_adapter *adapter ; void *tmp ; int tmp___0 ; bool tmp___1 ; bool tmp___2 ; { { tmp = netdev_priv((struct net_device const *)dev); adapter = (struct ixgbe_adapter *)tmp; } goto ldv_51082; ldv_51081: { usleep_range(1000UL, 2000UL); } ldv_51082: { tmp___0 = test_and_set_bit(1L, (unsigned long volatile *)(& adapter->state)); } if (tmp___0 != 0) { goto ldv_51081; } else { } { tmp___1 = netif_running((struct net_device const *)dev); } if ((int )tmp___1) { { (*((dev->netdev_ops)->ndo_stop))(dev); } } else { } { ixgbe_clear_interrupt_scheme(adapter); ixgbe_init_interrupt_scheme(adapter); tmp___2 = netif_running((struct net_device const *)dev); } if ((int )tmp___2) { { (*((dev->netdev_ops)->ndo_open))(dev); } } else { } { clear_bit(1L, (unsigned long volatile *)(& adapter->state)); } return; } } static u8 ixgbe_dcbnl_set_all(struct net_device *netdev ) { struct ixgbe_adapter *adapter ; void *tmp ; struct ixgbe_dcb_config *dcb_cfg ; struct ixgbe_hw *hw ; int ret ; int i ; int tmp___0 ; u16 refill[8U] ; u16 max[8U] ; u8 bwg_id[8U] ; u8 prio_type[8U] ; u8 prio_tc[8U] ; int max_frame ; int _max1 ; int _max2 ; u8 pfc_en ; u8 prio_tc___0[8U] ; struct dcb_app app ; u8 up___0 ; u8 tmp___1 ; int tmp___2 ; { { tmp = netdev_priv((struct net_device const *)netdev); adapter = (struct ixgbe_adapter *)tmp; dcb_cfg = & adapter->dcb_cfg; hw = & adapter->hw; ret = 1; } if (((int )adapter->dcbx_cap & 4) == 0) { return ((u8 )ret); } else { } { tmp___0 = ixgbe_copy_dcb_cfg(adapter, 8); adapter->dcb_set_bitmap = (u8 )((int )((signed char )adapter->dcb_set_bitmap) | (int )((signed char )tmp___0)); } if ((unsigned int )adapter->dcb_set_bitmap == 0U) { return ((u8 )ret); } else { } if (((int )adapter->dcb_set_bitmap & 12) != 0) { max_frame = (int )((adapter->netdev)->mtu + 18U); if (((adapter->netdev)->features & 536870912ULL) != 0ULL) { _max1 = max_frame; _max2 = 3072; max_frame = _max1 > _max2 ? _max1 : _max2; } else { } { ixgbe_dcb_calculate_tc_credits(hw, dcb_cfg, max_frame, 0); ixgbe_dcb_calculate_tc_credits(hw, dcb_cfg, max_frame, 1); ixgbe_dcb_unpack_refill(dcb_cfg, 0, (u16 *)(& refill)); ixgbe_dcb_unpack_max(dcb_cfg, (u16 *)(& max)); ixgbe_dcb_unpack_bwgid(dcb_cfg, 0, (u8 *)(& bwg_id)); ixgbe_dcb_unpack_prio(dcb_cfg, 0, (u8 *)(& prio_type)); ixgbe_dcb_unpack_map(dcb_cfg, 0, (u8 *)(& prio_tc)); ixgbe_dcb_hw_ets_config(hw, (u16 *)(& refill), (u16 *)(& max), (u8 *)(& bwg_id), (u8 *)(& prio_type), (u8 *)(& prio_tc)); i = 0; } goto ldv_51102; ldv_51101: { netdev_set_prio_tc_map(netdev, (int )((u8 )i), (int )prio_tc[i]); i = i + 1; } ldv_51102: ; if (i <= 7) { goto ldv_51101; } else { } ret = 0; } else { } if (((int )adapter->dcb_set_bitmap & 2) != 0) { if ((int )dcb_cfg->pfc_mode_enable) { { ixgbe_dcb_unpack_map(dcb_cfg, 0, (u8 *)(& prio_tc___0)); ixgbe_dcb_unpack_pfc(dcb_cfg, & pfc_en); ixgbe_dcb_hw_pfc_config(hw, (int )pfc_en, (u8 *)(& prio_tc___0)); } } else { { (*(hw->mac.ops.fc_enable))(hw); } } { ixgbe_set_rx_drop_en(adapter); ret = 2; } } else { } if (((int )adapter->dcb_set_bitmap & 16) != 0) { { app.selector = 0U; app.priority = (unsigned char)0; app.protocol = 35078U; tmp___1 = dcb_getapp(netdev, & app); up___0 = tmp___1; tmp___2 = ffs((int )up___0); adapter->fcoe.up = (unsigned int )((u8 )tmp___2) + 255U; ixgbe_dcbnl_devreset(netdev); ret = 0; } } else { } adapter->dcb_set_bitmap = 0U; return ((u8 )ret); } } static u8 ixgbe_dcbnl_getcap(struct net_device *netdev , int capid , u8 *cap ) { struct ixgbe_adapter *adapter ; void *tmp ; { { tmp = netdev_priv((struct net_device const *)netdev); adapter = (struct ixgbe_adapter *)tmp; } { if (capid == 2) { goto case_2; } else { } if (capid == 3) { goto case_3; } else { } if (capid == 4) { goto case_4; } else { } if (capid == 5) { goto case_5; } else { } if (capid == 6) { goto case_6; } else { } if (capid == 7) { goto case_7; } else { } if (capid == 8) { goto case_8; } else { } if (capid == 9) { goto case_9; } else { } goto switch_default; case_2: /* CIL Label */ *cap = 1U; goto ldv_51115; case_3: /* CIL Label */ *cap = 1U; goto ldv_51115; case_4: /* CIL Label */ *cap = 0U; goto ldv_51115; case_5: /* CIL Label */ *cap = 128U; goto ldv_51115; case_6: /* CIL Label */ *cap = 128U; goto ldv_51115; case_7: /* CIL Label */ *cap = 1U; goto ldv_51115; case_8: /* CIL Label */ *cap = 0U; goto ldv_51115; case_9: /* CIL Label */ *cap = adapter->dcbx_cap; goto ldv_51115; switch_default: /* CIL Label */ *cap = 0U; goto ldv_51115; switch_break: /* CIL Label */ ; } ldv_51115: ; return (0U); } } static int ixgbe_dcbnl_getnumtcs(struct net_device *netdev , int tcid , u8 *num ) { struct ixgbe_adapter *adapter ; void *tmp ; { { tmp = netdev_priv((struct net_device const *)netdev); adapter = (struct ixgbe_adapter *)tmp; } if ((adapter->flags & 4096U) != 0U) { { if (tcid == 2) { goto case_2; } else { } if (tcid == 3) { goto case_3; } else { } goto switch_default; case_2: /* CIL Label */ *num = adapter->dcb_cfg.num_tcs.pg_tcs; goto ldv_51131; case_3: /* CIL Label */ *num = adapter->dcb_cfg.num_tcs.pfc_tcs; goto ldv_51131; switch_default: /* CIL Label */ ; return (-22); switch_break: /* CIL Label */ ; } ldv_51131: ; } else { return (-22); } return (0); } } static int ixgbe_dcbnl_setnumtcs(struct net_device *netdev , int tcid , u8 num ) { { return (-22); } } static u8 ixgbe_dcbnl_getpfcstate(struct net_device *netdev ) { struct ixgbe_adapter *adapter ; void *tmp ; { { tmp = netdev_priv((struct net_device const *)netdev); adapter = (struct ixgbe_adapter *)tmp; } return ((u8 )adapter->dcb_cfg.pfc_mode_enable); } } static void ixgbe_dcbnl_setpfcstate(struct net_device *netdev , u8 state ) { struct ixgbe_adapter *adapter ; void *tmp ; { { tmp = netdev_priv((struct net_device const *)netdev); adapter = (struct ixgbe_adapter *)tmp; adapter->temp_dcb_cfg.pfc_mode_enable = (unsigned int )state != 0U; } return; } } static u8 ixgbe_dcbnl_getapp(struct net_device *netdev , u8 idtype , u16 id ) { struct ixgbe_adapter *adapter ; void *tmp ; struct dcb_app app ; u8 tmp___0 ; { { tmp = netdev_priv((struct net_device const *)netdev); adapter = (struct ixgbe_adapter *)tmp; app.selector = idtype; app.priority = (unsigned char)0; app.protocol = id; } if (((int )adapter->dcbx_cap & 4) == 0) { return (0U); } else { } { tmp___0 = dcb_getapp(netdev, & app); } return (tmp___0); } } static int ixgbe_dcbnl_ieee_getets(struct net_device *dev , struct ieee_ets *ets ) { struct ixgbe_adapter *adapter ; void *tmp ; struct ieee_ets *my_ets ; { { tmp = netdev_priv((struct net_device const *)dev); adapter = (struct ixgbe_adapter *)tmp; my_ets = adapter->ixgbe_ieee_ets; ets->ets_cap = adapter->dcb_cfg.num_tcs.pg_tcs; } if ((unsigned long )my_ets == (unsigned long )((struct ieee_ets *)0)) { return (0); } else { } { ets->cbs = my_ets->cbs; memcpy((void *)(& ets->tc_tx_bw), (void const *)(& my_ets->tc_tx_bw), 8UL); memcpy((void *)(& ets->tc_rx_bw), (void const *)(& my_ets->tc_rx_bw), 8UL); memcpy((void *)(& ets->tc_tsa), (void const *)(& my_ets->tc_tsa), 8UL); memcpy((void *)(& ets->prio_tc), (void const *)(& my_ets->prio_tc), 8UL); } return (0); } } static int ixgbe_dcbnl_ieee_setets(struct net_device *dev , struct ieee_ets *ets ) { struct ixgbe_adapter *adapter ; void *tmp ; int max_frame ; int i ; int err ; __u8 max_tc ; __u8 map_chg ; void *tmp___0 ; int tmp___1 ; { { tmp = netdev_priv((struct net_device const *)dev); adapter = (struct ixgbe_adapter *)tmp; max_frame = (int )(dev->mtu + 18U); err = 0; max_tc = 0U; map_chg = 0U; } if (((int )adapter->dcbx_cap & 8) == 0) { return (-22); } else { } if ((unsigned long )adapter->ixgbe_ieee_ets == (unsigned long )((struct ieee_ets *)0)) { { tmp___0 = kmalloc(59UL, 208U); adapter->ixgbe_ieee_ets = (struct ieee_ets *)tmp___0; } if ((unsigned long )adapter->ixgbe_ieee_ets == (unsigned long )((struct ieee_ets *)0)) { return (-12); } else { } i = 0; goto ldv_51172; ldv_51171: (adapter->ixgbe_ieee_ets)->prio_tc[i] = 8U; i = i + 1; ldv_51172: ; if (i <= 7) { goto ldv_51171; } else { } { ixgbe_dcb_read_rtrup2tc(& adapter->hw, (u8 *)(& (adapter->ixgbe_ieee_ets)->prio_tc)); } } else { } i = 0; goto ldv_51175; ldv_51174: ; if ((int )ets->prio_tc[i] > (int )max_tc) { max_tc = ets->prio_tc[i]; } else { } if ((int )ets->prio_tc[i] != (int )(adapter->ixgbe_ieee_ets)->prio_tc[i]) { map_chg = 1U; } else { } i = i + 1; ldv_51175: ; if (i <= 7) { goto ldv_51174; } else { } { memcpy((void *)adapter->ixgbe_ieee_ets, (void const *)ets, 59UL); } if ((unsigned int )max_tc != 0U) { max_tc = (__u8 )((int )max_tc + 1); } else { } if ((int )max_tc > (int )adapter->dcb_cfg.num_tcs.pg_tcs) { return (-22); } else { } { tmp___1 = netdev_get_num_tc(dev); } if ((int )max_tc != tmp___1) { { err = ixgbe_setup_tc(dev, (int )max_tc); } } else if ((unsigned int )map_chg != 0U) { { ixgbe_dcbnl_devreset(dev); } } else { } if (err != 0) { goto err_out; } else { } { err = ixgbe_dcb_hw_ets(& adapter->hw, ets, max_frame); } err_out: ; return (err); } } static int ixgbe_dcbnl_ieee_getpfc(struct net_device *dev , struct ieee_pfc *pfc ) { struct ixgbe_adapter *adapter ; void *tmp ; struct ieee_pfc *my_pfc ; int i ; { { tmp = netdev_priv((struct net_device const *)dev); adapter = (struct ixgbe_adapter *)tmp; my_pfc = adapter->ixgbe_ieee_pfc; pfc->pfc_cap = adapter->dcb_cfg.num_tcs.pfc_tcs; } if ((unsigned long )my_pfc == (unsigned long )((struct ieee_pfc *)0)) { return (0); } else { } pfc->pfc_en = my_pfc->pfc_en; pfc->mbc = my_pfc->mbc; pfc->delay = my_pfc->delay; i = 0; goto ldv_51186; ldv_51185: pfc->requests[i] = adapter->stats.pxoffrxc[i]; pfc->indications[i] = adapter->stats.pxofftxc[i]; i = i + 1; ldv_51186: ; if (i <= 7) { goto ldv_51185; } else { } return (0); } } static int ixgbe_dcbnl_ieee_setpfc(struct net_device *dev , struct ieee_pfc *pfc ) { struct ixgbe_adapter *adapter ; void *tmp ; struct ixgbe_hw *hw ; u8 *prio_tc ; int err ; void *tmp___0 ; { { tmp = netdev_priv((struct net_device const *)dev); adapter = (struct ixgbe_adapter *)tmp; hw = & adapter->hw; } if (((int )adapter->dcbx_cap & 8) == 0) { return (-22); } else { } if ((unsigned long )adapter->ixgbe_ieee_pfc == (unsigned long )((struct ieee_pfc *)0)) { { tmp___0 = kmalloc(136UL, 208U); adapter->ixgbe_ieee_pfc = (struct ieee_pfc *)tmp___0; } if ((unsigned long )adapter->ixgbe_ieee_pfc == (unsigned long )((struct ieee_pfc *)0)) { return (-12); } else { } } else { } { prio_tc = (u8 *)(& (adapter->ixgbe_ieee_ets)->prio_tc); memcpy((void *)adapter->ixgbe_ieee_pfc, (void const *)pfc, 136UL); } if ((unsigned int )pfc->pfc_en != 0U) { { err = ixgbe_dcb_hw_pfc_config(hw, (int )pfc->pfc_en, prio_tc); } } else { { err = (*(hw->mac.ops.fc_enable))(hw); } } { ixgbe_set_rx_drop_en(adapter); } return (err); } } static int ixgbe_dcbnl_ieee_setapp(struct net_device *dev , struct dcb_app *app ) { struct ixgbe_adapter *adapter ; void *tmp ; int err ; u8 app_mask ; u8 tmp___0 ; int vf ; struct vf_data_storage *vfinfo ; { { tmp = netdev_priv((struct net_device const *)dev); adapter = (struct ixgbe_adapter *)tmp; err = -22; } if (((int )adapter->dcbx_cap & 8) == 0) { return (err); } else { } { err = dcb_ieee_setapp(dev, app); } if (err != 0) { return (err); } else { } if ((unsigned int )app->selector == 1U && (unsigned int )app->protocol == 35078U) { { tmp___0 = dcb_ieee_getapp_mask(dev, app); app_mask = tmp___0; } if (((int )app_mask >> (int )adapter->fcoe.up) & 1) { return (err); } else { } { adapter->fcoe.up = app->priority; ixgbe_dcbnl_devreset(dev); } } else { } if ((unsigned int )app->selector == 1U && (unsigned int )app->protocol == 0U) { adapter->default_up = app->priority; vf = 0; goto ldv_51206; ldv_51205: vfinfo = adapter->vfinfo + (unsigned long )vf; if ((unsigned int )vfinfo->pf_qos == 0U) { { ixgbe_set_vmvir(adapter, (int )vfinfo->pf_vlan, (int )app->priority, (u32 )vf); } } else { } vf = vf + 1; ldv_51206: ; if ((unsigned int )vf < adapter->num_vfs) { goto ldv_51205; } else { } } else { } return (0); } } static int ixgbe_dcbnl_ieee_delapp(struct net_device *dev , struct dcb_app *app ) { struct ixgbe_adapter *adapter ; void *tmp ; int err ; u8 app_mask ; u8 tmp___0 ; int tmp___1 ; int vf ; unsigned long app_mask___0 ; u8 tmp___2 ; int qos ; unsigned long tmp___3 ; int tmp___4 ; struct vf_data_storage *vfinfo ; { { tmp = netdev_priv((struct net_device const *)dev); adapter = (struct ixgbe_adapter *)tmp; } if (((int )adapter->dcbx_cap & 8) == 0) { return (-22); } else { } { err = dcb_ieee_delapp(dev, app); } if ((err == 0 && (unsigned int )app->selector == 1U) && (unsigned int )app->protocol == 35078U) { { tmp___0 = dcb_ieee_getapp_mask(dev, app); app_mask = tmp___0; } if (((int )app_mask >> (int )adapter->fcoe.up) & 1) { return (err); } else { } if ((unsigned int )app_mask != 0U) { { tmp___1 = ffs((int )app_mask); adapter->fcoe.up = (unsigned int )((u8 )tmp___1) + 255U; } } else { adapter->fcoe.up = 3U; } { ixgbe_dcbnl_devreset(dev); } } else { } if (((unsigned int )app->selector == 1U && (unsigned int )app->protocol == 0U) && (int )adapter->default_up == (int )app->priority) { { tmp___2 = dcb_ieee_getapp_mask(dev, app); app_mask___0 = (unsigned long )tmp___2; } if (app_mask___0 != 0UL) { { tmp___3 = find_first_bit((unsigned long const *)(& app_mask___0), 8UL); tmp___4 = (int )tmp___3; } } else { tmp___4 = 0; } qos = tmp___4; adapter->default_up = (u8 )qos; vf = 0; goto ldv_51220; ldv_51219: vfinfo = adapter->vfinfo + (unsigned long )vf; if ((unsigned int )vfinfo->pf_qos == 0U) { { ixgbe_set_vmvir(adapter, (int )vfinfo->pf_vlan, (int )((u16 )qos), (u32 )vf); } } else { } vf = vf + 1; ldv_51220: ; if ((unsigned int )vf < adapter->num_vfs) { goto ldv_51219; } else { } } else { } return (err); } } static u8 ixgbe_dcbnl_getdcbx(struct net_device *dev ) { struct ixgbe_adapter *adapter ; void *tmp ; { { tmp = netdev_priv((struct net_device const *)dev); adapter = (struct ixgbe_adapter *)tmp; } return (adapter->dcbx_cap); } } static u8 ixgbe_dcbnl_setdcbx(struct net_device *dev , u8 mode ) { struct ixgbe_adapter *adapter ; void *tmp ; struct ieee_ets ets ; struct ieee_pfc pfc ; int err ; u8 mask ; { { tmp = netdev_priv((struct net_device const *)dev); adapter = (struct ixgbe_adapter *)tmp; ets.willing = 0U; ets.ets_cap = (unsigned char)0; ets.cbs = (unsigned char)0; ets.tc_tx_bw[0] = (unsigned char)0; ets.tc_tx_bw[1] = (unsigned char)0; ets.tc_tx_bw[2] = (unsigned char)0; ets.tc_tx_bw[3] = (unsigned char)0; ets.tc_tx_bw[4] = (unsigned char)0; ets.tc_tx_bw[5] = (unsigned char)0; ets.tc_tx_bw[6] = (unsigned char)0; ets.tc_tx_bw[7] = (unsigned char)0; ets.tc_rx_bw[0] = (unsigned char)0; ets.tc_rx_bw[1] = (unsigned char)0; ets.tc_rx_bw[2] = (unsigned char)0; ets.tc_rx_bw[3] = (unsigned char)0; ets.tc_rx_bw[4] = (unsigned char)0; ets.tc_rx_bw[5] = (unsigned char)0; ets.tc_rx_bw[6] = (unsigned char)0; ets.tc_rx_bw[7] = (unsigned char)0; ets.tc_tsa[0] = (unsigned char)0; ets.tc_tsa[1] = (unsigned char)0; ets.tc_tsa[2] = (unsigned char)0; ets.tc_tsa[3] = (unsigned char)0; ets.tc_tsa[4] = (unsigned char)0; ets.tc_tsa[5] = (unsigned char)0; ets.tc_tsa[6] = (unsigned char)0; ets.tc_tsa[7] = (unsigned char)0; ets.prio_tc[0] = (unsigned char)0; ets.prio_tc[1] = (unsigned char)0; ets.prio_tc[2] = (unsigned char)0; ets.prio_tc[3] = (unsigned char)0; ets.prio_tc[4] = (unsigned char)0; ets.prio_tc[5] = (unsigned char)0; ets.prio_tc[6] = (unsigned char)0; ets.prio_tc[7] = (unsigned char)0; ets.tc_reco_bw[0] = (unsigned char)0; ets.tc_reco_bw[1] = (unsigned char)0; ets.tc_reco_bw[2] = (unsigned char)0; ets.tc_reco_bw[3] = (unsigned char)0; ets.tc_reco_bw[4] = (unsigned char)0; ets.tc_reco_bw[5] = (unsigned char)0; ets.tc_reco_bw[6] = (unsigned char)0; ets.tc_reco_bw[7] = (unsigned char)0; ets.tc_reco_tsa[0] = (unsigned char)0; ets.tc_reco_tsa[1] = (unsigned char)0; ets.tc_reco_tsa[2] = (unsigned char)0; ets.tc_reco_tsa[3] = (unsigned char)0; ets.tc_reco_tsa[4] = (unsigned char)0; ets.tc_reco_tsa[5] = (unsigned char)0; ets.tc_reco_tsa[6] = (unsigned char)0; ets.tc_reco_tsa[7] = (unsigned char)0; ets.reco_prio_tc[0] = (unsigned char)0; ets.reco_prio_tc[1] = (unsigned char)0; ets.reco_prio_tc[2] = (unsigned char)0; ets.reco_prio_tc[3] = (unsigned char)0; ets.reco_prio_tc[4] = (unsigned char)0; ets.reco_prio_tc[5] = (unsigned char)0; ets.reco_prio_tc[6] = (unsigned char)0; ets.reco_prio_tc[7] = (unsigned char)0; pfc.pfc_cap = 0U; pfc.pfc_en = (unsigned char)0; pfc.mbc = (unsigned char)0; pfc.delay = (unsigned short)0; pfc.requests[0] = 0ULL; pfc.requests[1] = 0ULL; pfc.requests[2] = 0ULL; pfc.requests[3] = 0ULL; pfc.requests[4] = 0ULL; pfc.requests[5] = 0ULL; pfc.requests[6] = 0ULL; pfc.requests[7] = 0ULL; pfc.indications[0] = 0ULL; pfc.indications[1] = 0ULL; pfc.indications[2] = 0ULL; pfc.indications[3] = 0ULL; pfc.indications[4] = 0ULL; pfc.indications[5] = 0ULL; pfc.indications[6] = 0ULL; pfc.indications[7] = 0ULL; err = 0; } if ((((int )mode & 2) != 0 || ((unsigned int )mode & 12U) == 12U) || ((int )mode & 1) == 0) { return (1U); } else { } if ((int )mode == (int )adapter->dcbx_cap) { return (0U); } else { } adapter->dcbx_cap = mode; ets.ets_cap = 8U; pfc.pfc_cap = 8U; if (((int )mode & 8) != 0) { { ixgbe_dcbnl_ieee_setets(dev, & ets); ixgbe_dcbnl_ieee_setpfc(dev, & pfc); } } else if (((int )mode & 4) != 0) { { mask = 30U; adapter->dcb_set_bitmap = (u8 )((int )adapter->dcb_set_bitmap | (int )mask); ixgbe_dcbnl_set_all(dev); } } else { { ixgbe_dcbnl_ieee_setets(dev, & ets); ixgbe_dcbnl_ieee_setpfc(dev, & pfc); err = ixgbe_setup_tc(dev, 0); } } return (err != 0); } } struct dcbnl_rtnl_ops const dcbnl_ops = {& ixgbe_dcbnl_ieee_getets, & ixgbe_dcbnl_ieee_setets, 0, 0, & ixgbe_dcbnl_ieee_getpfc, & ixgbe_dcbnl_ieee_setpfc, 0, & ixgbe_dcbnl_ieee_setapp, & ixgbe_dcbnl_ieee_delapp, 0, 0, & ixgbe_dcbnl_get_state, & ixgbe_dcbnl_set_state, & ixgbe_dcbnl_get_perm_hw_addr, & ixgbe_dcbnl_set_pg_tc_cfg_tx, & ixgbe_dcbnl_set_pg_bwg_cfg_tx, & ixgbe_dcbnl_set_pg_tc_cfg_rx, & ixgbe_dcbnl_set_pg_bwg_cfg_rx, & ixgbe_dcbnl_get_pg_tc_cfg_tx, & ixgbe_dcbnl_get_pg_bwg_cfg_tx, & ixgbe_dcbnl_get_pg_tc_cfg_rx, & ixgbe_dcbnl_get_pg_bwg_cfg_rx, & ixgbe_dcbnl_set_pfc_cfg, & ixgbe_dcbnl_get_pfc_cfg, & ixgbe_dcbnl_set_all, & ixgbe_dcbnl_getcap, & ixgbe_dcbnl_getnumtcs, & ixgbe_dcbnl_setnumtcs, & ixgbe_dcbnl_getpfcstate, & ixgbe_dcbnl_setpfcstate, 0, 0, 0, 0, 0, & ixgbe_dcbnl_getapp, 0, 0, & ixgbe_dcbnl_getdcbx, & ixgbe_dcbnl_setdcbx, 0, 0, 0, 0}; unsigned char (*ldv_6_callback_getapp)(struct net_device * , unsigned char , unsigned short ) = & ixgbe_dcbnl_getapp; unsigned char (*ldv_6_callback_getcap)(struct net_device * , int , unsigned char * ) = & ixgbe_dcbnl_getcap; unsigned char (*ldv_6_callback_getdcbx)(struct net_device * ) = & ixgbe_dcbnl_getdcbx; int (*ldv_6_callback_getnumtcs)(struct net_device * , int , unsigned char * ) = & ixgbe_dcbnl_getnumtcs; void (*ldv_6_callback_getpermhwaddr)(struct net_device * , unsigned char * ) = & ixgbe_dcbnl_get_perm_hw_addr; void (*ldv_6_callback_getpfccfg)(struct net_device * , int , unsigned char * ) = & ixgbe_dcbnl_get_pfc_cfg; unsigned char (*ldv_6_callback_getpfcstate)(struct net_device * ) = & ixgbe_dcbnl_getpfcstate; void (*ldv_6_callback_getpgbwgcfgrx)(struct net_device * , int , unsigned char * ) = & ixgbe_dcbnl_get_pg_bwg_cfg_rx; void (*ldv_6_callback_getpgbwgcfgtx)(struct net_device * , int , unsigned char * ) = & ixgbe_dcbnl_get_pg_bwg_cfg_tx; void (*ldv_6_callback_getpgtccfgrx)(struct net_device * , int , unsigned char * , unsigned char * , unsigned char * , unsigned char * ) = & ixgbe_dcbnl_get_pg_tc_cfg_rx; void (*ldv_6_callback_getpgtccfgtx)(struct net_device * , int , unsigned char * , unsigned char * , unsigned char * , unsigned char * ) = & ixgbe_dcbnl_get_pg_tc_cfg_tx; unsigned char (*ldv_6_callback_getstate)(struct net_device * ) = & ixgbe_dcbnl_get_state; int (*ldv_6_callback_ieee_delapp)(struct net_device * , struct dcb_app * ) = & ixgbe_dcbnl_ieee_delapp; int (*ldv_6_callback_ieee_getets)(struct net_device * , struct ieee_ets * ) = & ixgbe_dcbnl_ieee_getets; int (*ldv_6_callback_ieee_getpfc)(struct net_device * , struct ieee_pfc * ) = & ixgbe_dcbnl_ieee_getpfc; int (*ldv_6_callback_ieee_setapp)(struct net_device * , struct dcb_app * ) = & ixgbe_dcbnl_ieee_setapp; int (*ldv_6_callback_ieee_setets)(struct net_device * , struct ieee_ets * ) = & ixgbe_dcbnl_ieee_setets; int (*ldv_6_callback_ieee_setpfc)(struct net_device * , struct ieee_pfc * ) = & ixgbe_dcbnl_ieee_setpfc; unsigned char (*ldv_6_callback_setall)(struct net_device * ) = & ixgbe_dcbnl_set_all; unsigned char (*ldv_6_callback_setdcbx)(struct net_device * , unsigned char ) = & ixgbe_dcbnl_setdcbx; int (*ldv_6_callback_setnumtcs)(struct net_device * , int , unsigned char ) = & ixgbe_dcbnl_setnumtcs; void (*ldv_6_callback_setpfccfg)(struct net_device * , int , unsigned char ) = & ixgbe_dcbnl_set_pfc_cfg; void (*ldv_6_callback_setpfcstate)(struct net_device * , unsigned char ) = & ixgbe_dcbnl_setpfcstate; void (*ldv_6_callback_setpgbwgcfgrx)(struct net_device * , int , unsigned char ) = & ixgbe_dcbnl_set_pg_bwg_cfg_rx; void (*ldv_6_callback_setpgbwgcfgtx)(struct net_device * , int , unsigned char ) = & ixgbe_dcbnl_set_pg_bwg_cfg_tx; void (*ldv_6_callback_setpgtccfgrx)(struct net_device * , int , unsigned char , unsigned char , unsigned char , unsigned char ) = & ixgbe_dcbnl_set_pg_tc_cfg_rx; void (*ldv_6_callback_setpgtccfgtx)(struct net_device * , int , unsigned char , unsigned char , unsigned char , unsigned char ) = & ixgbe_dcbnl_set_pg_tc_cfg_tx; unsigned char (*ldv_6_callback_setstate)(struct net_device * , unsigned char ) = & ixgbe_dcbnl_set_state; void ldv_dummy_resourceless_instance_callback_6_165(unsigned char (*arg0)(struct net_device * ) , struct net_device *arg1 ) { { { ixgbe_dcbnl_set_all(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_6_166(unsigned char (*arg0)(struct net_device * , unsigned char ) , struct net_device *arg1 , unsigned char arg2 ) { { { ixgbe_dcbnl_setdcbx(arg1, (int )arg2); } return; } } void ldv_dummy_resourceless_instance_callback_6_169(int (*arg0)(struct net_device * , int , unsigned char ) , struct net_device *arg1 , int arg2 , unsigned char arg3 ) { { { ixgbe_dcbnl_setnumtcs(arg1, arg2, (int )arg3); } return; } } void ldv_dummy_resourceless_instance_callback_6_172(void (*arg0)(struct net_device * , int , unsigned char ) , struct net_device *arg1 , int arg2 , unsigned char arg3 ) { { { ixgbe_dcbnl_set_pfc_cfg(arg1, arg2, (int )arg3); } return; } } void ldv_dummy_resourceless_instance_callback_6_175(void (*arg0)(struct net_device * , unsigned char ) , struct net_device *arg1 , unsigned char arg2 ) { { { ixgbe_dcbnl_setpfcstate(arg1, (int )arg2); } return; } } void ldv_dummy_resourceless_instance_callback_6_178(void (*arg0)(struct net_device * , int , unsigned char ) , struct net_device *arg1 , int arg2 , unsigned char arg3 ) { { { ixgbe_dcbnl_set_pg_bwg_cfg_rx(arg1, arg2, (int )arg3); } return; } } void ldv_dummy_resourceless_instance_callback_6_181(void (*arg0)(struct net_device * , int , unsigned char ) , struct net_device *arg1 , int arg2 , unsigned char arg3 ) { { { ixgbe_dcbnl_set_pg_bwg_cfg_tx(arg1, arg2, (int )arg3); } return; } } void ldv_dummy_resourceless_instance_callback_6_184(void (*arg0)(struct net_device * , int , unsigned char , unsigned char , unsigned char , unsigned char ) , struct net_device *arg1 , int arg2 , unsigned char arg3 , unsigned char arg4 , unsigned char arg5 , unsigned char arg6 ) { { { ixgbe_dcbnl_set_pg_tc_cfg_rx(arg1, arg2, (int )arg3, (int )arg4, (int )arg5, (int )arg6); } return; } } void ldv_dummy_resourceless_instance_callback_6_187(void (*arg0)(struct net_device * , int , unsigned char , unsigned char , unsigned char , unsigned char ) , struct net_device *arg1 , int arg2 , unsigned char arg3 , unsigned char arg4 , unsigned char arg5 , unsigned char arg6 ) { { { ixgbe_dcbnl_set_pg_tc_cfg_tx(arg1, arg2, (int )arg3, (int )arg4, (int )arg5, (int )arg6); } return; } } void ldv_dummy_resourceless_instance_callback_6_190(unsigned char (*arg0)(struct net_device * , unsigned char ) , struct net_device *arg1 , unsigned char arg2 ) { { { ixgbe_dcbnl_set_state(arg1, (int )arg2); } return; } } void ldv_dummy_resourceless_instance_callback_6_38(unsigned char (*arg0)(struct net_device * , unsigned char , unsigned short ) , struct net_device *arg1 , unsigned char arg2 , unsigned short arg3 ) { { { ixgbe_dcbnl_getapp(arg1, (int )arg2, (int )arg3); } return; } } void ldv_dummy_resourceless_instance_callback_6_41(unsigned char (*arg0)(struct net_device * , int , unsigned char * ) , struct net_device *arg1 , int arg2 , unsigned char *arg3 ) { { { ixgbe_dcbnl_getcap(arg1, arg2, arg3); } return; } } void ldv_dummy_resourceless_instance_callback_6_44(unsigned char (*arg0)(struct net_device * ) , struct net_device *arg1 ) { { { ixgbe_dcbnl_getdcbx(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_6_45(int (*arg0)(struct net_device * , int , unsigned char * ) , struct net_device *arg1 , int arg2 , unsigned char *arg3 ) { { { ixgbe_dcbnl_getnumtcs(arg1, arg2, arg3); } return; } } void ldv_dummy_resourceless_instance_callback_6_48(void (*arg0)(struct net_device * , unsigned char * ) , struct net_device *arg1 , unsigned char *arg2 ) { { { ixgbe_dcbnl_get_perm_hw_addr(arg1, arg2); } return; } } void ldv_dummy_resourceless_instance_callback_6_51(void (*arg0)(struct net_device * , int , unsigned char * ) , struct net_device *arg1 , int arg2 , unsigned char *arg3 ) { { { ixgbe_dcbnl_get_pfc_cfg(arg1, arg2, arg3); } return; } } void ldv_dummy_resourceless_instance_callback_6_54(unsigned char (*arg0)(struct net_device * ) , struct net_device *arg1 ) { { { ixgbe_dcbnl_getpfcstate(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_6_55(void (*arg0)(struct net_device * , int , unsigned char * ) , struct net_device *arg1 , int arg2 , unsigned char *arg3 ) { { { ixgbe_dcbnl_get_pg_bwg_cfg_rx(arg1, arg2, arg3); } return; } } void ldv_dummy_resourceless_instance_callback_6_58(void (*arg0)(struct net_device * , int , unsigned char * ) , struct net_device *arg1 , int arg2 , unsigned char *arg3 ) { { { ixgbe_dcbnl_get_pg_bwg_cfg_tx(arg1, arg2, arg3); } return; } } void ldv_dummy_resourceless_instance_callback_6_61(void (*arg0)(struct net_device * , int , unsigned char * , unsigned char * , unsigned char * , unsigned char * ) , struct net_device *arg1 , int arg2 , unsigned char *arg3 , unsigned char *arg4 , unsigned char *arg5 , unsigned char *arg6 ) { { { ixgbe_dcbnl_get_pg_tc_cfg_rx(arg1, arg2, arg3, arg4, arg5, arg6); } return; } } void ldv_dummy_resourceless_instance_callback_6_64(void (*arg0)(struct net_device * , int , unsigned char * , unsigned char * , unsigned char * , unsigned char * ) , struct net_device *arg1 , int arg2 , unsigned char *arg3 , unsigned char *arg4 , unsigned char *arg5 , unsigned char *arg6 ) { { { ixgbe_dcbnl_get_pg_tc_cfg_tx(arg1, arg2, arg3, arg4, arg5, arg6); } return; } } void ldv_dummy_resourceless_instance_callback_6_67(unsigned char (*arg0)(struct net_device * ) , struct net_device *arg1 ) { { { ixgbe_dcbnl_get_state(arg1); } return; } } void ldv_dummy_resourceless_instance_callback_6_68(int (*arg0)(struct net_device * , struct dcb_app * ) , struct net_device *arg1 , struct dcb_app *arg2 ) { { { ixgbe_dcbnl_ieee_delapp(arg1, arg2); } return; } } void ldv_dummy_resourceless_instance_callback_6_69(int (*arg0)(struct net_device * , struct ieee_ets * ) , struct net_device *arg1 , struct ieee_ets *arg2 ) { { { ixgbe_dcbnl_ieee_getets(arg1, arg2); } return; } } void ldv_dummy_resourceless_instance_callback_6_70(int (*arg0)(struct net_device * , struct ieee_pfc * ) , struct net_device *arg1 , struct ieee_pfc *arg2 ) { { { ixgbe_dcbnl_ieee_getpfc(arg1, arg2); } return; } } void ldv_dummy_resourceless_instance_callback_6_71(int (*arg0)(struct net_device * , struct dcb_app * ) , struct net_device *arg1 , struct dcb_app *arg2 ) { { { ixgbe_dcbnl_ieee_setapp(arg1, arg2); } return; } } void ldv_dummy_resourceless_instance_callback_6_72(int (*arg0)(struct net_device * , struct ieee_ets * ) , struct net_device *arg1 , struct ieee_ets *arg2 ) { { { ixgbe_dcbnl_ieee_setets(arg1, arg2); } return; } } void ldv_dummy_resourceless_instance_callback_6_73(int (*arg0)(struct net_device * , struct ieee_pfc * ) , struct net_device *arg1 , struct ieee_pfc *arg2 ) { { { ixgbe_dcbnl_ieee_setpfc(arg1, arg2); } return; } } long ldv_ptr_err(void const *ptr ) ; __inline static long PTR_ERR(void const *ptr ) ; __inline static long IS_ERR(void const *ptr ) ; extern void *devm_kmalloc(struct device * , size_t , gfp_t ) ; __inline static void *devm_kzalloc(struct device *dev , size_t size , gfp_t gfp ) { void *tmp ; { { tmp = devm_kmalloc(dev, size, gfp | 32768U); } return (tmp); } } extern struct device *devm_hwmon_device_register_with_groups(struct device * , char const * , void * , struct attribute_group const ** ) ; static ssize_t ixgbe_hwmon_show_location(struct device *dev , struct device_attribute *attr , char *buf ) { struct hwmon_attr *ixgbe_attr ; struct device_attribute const *__mptr ; int tmp ; { { __mptr = (struct device_attribute const *)attr; ixgbe_attr = (struct hwmon_attr *)__mptr; tmp = sprintf(buf, "loc%u\n", (int )(ixgbe_attr->sensor)->location); } return ((ssize_t )tmp); } } static ssize_t ixgbe_hwmon_show_temp(struct device *dev , struct device_attribute *attr , char *buf ) { struct hwmon_attr *ixgbe_attr ; struct device_attribute const *__mptr ; unsigned int value ; int tmp ; { { __mptr = (struct device_attribute const *)attr; ixgbe_attr = (struct hwmon_attr *)__mptr; (*((ixgbe_attr->hw)->mac.ops.get_thermal_sensor_data))(ixgbe_attr->hw); value = (unsigned int )(ixgbe_attr->sensor)->temp; value = value * 1000U; tmp = sprintf(buf, "%u\n", value); } return ((ssize_t )tmp); } } static ssize_t ixgbe_hwmon_show_cautionthresh(struct device *dev , struct device_attribute *attr , char *buf ) { struct hwmon_attr *ixgbe_attr ; struct device_attribute const *__mptr ; unsigned int value ; int tmp ; { { __mptr = (struct device_attribute const *)attr; ixgbe_attr = (struct hwmon_attr *)__mptr; value = (unsigned int )(ixgbe_attr->sensor)->caution_thresh; value = value * 1000U; tmp = sprintf(buf, "%u\n", value); } return ((ssize_t )tmp); } } static ssize_t ixgbe_hwmon_show_maxopthresh(struct device *dev , struct device_attribute *attr , char *buf ) { struct hwmon_attr *ixgbe_attr ; struct device_attribute const *__mptr ; unsigned int value ; int tmp ; { { __mptr = (struct device_attribute const *)attr; ixgbe_attr = (struct hwmon_attr *)__mptr; value = (unsigned int )(ixgbe_attr->sensor)->max_op_thresh; value = value * 1000U; tmp = sprintf(buf, "%u\n", value); } return ((ssize_t )tmp); } } static int ixgbe_add_hwmon_attr(struct ixgbe_adapter *adapter , unsigned int offset , int type ) { int rc ; unsigned int n_attr ; struct hwmon_attr *ixgbe_attr ; struct lock_class_key __key ; { n_attr = (adapter->ixgbe_hwmon_buff)->n_hwmon; ixgbe_attr = (struct hwmon_attr *)(& (adapter->ixgbe_hwmon_buff)->hwmon_list) + (unsigned long )n_attr; { if (type == 0) { goto case_0; } else { } if (type == 1) { goto case_1; } else { } if (type == 2) { goto case_2; } else { } if (type == 3) { goto case_3; } else { } goto switch_default; case_0: /* CIL Label */ { ixgbe_attr->dev_attr.show = & ixgbe_hwmon_show_location; snprintf((char *)(& ixgbe_attr->name), 12UL, "temp%u_label", offset + 1U); } goto ldv_51703; case_1: /* CIL Label */ { ixgbe_attr->dev_attr.show = & ixgbe_hwmon_show_temp; snprintf((char *)(& ixgbe_attr->name), 12UL, "temp%u_input", offset + 1U); } goto ldv_51703; case_2: /* CIL Label */ { ixgbe_attr->dev_attr.show = & ixgbe_hwmon_show_cautionthresh; snprintf((char *)(& ixgbe_attr->name), 12UL, "temp%u_max", offset + 1U); } goto ldv_51703; case_3: /* CIL Label */ { ixgbe_attr->dev_attr.show = & ixgbe_hwmon_show_maxopthresh; snprintf((char *)(& ixgbe_attr->name), 12UL, "temp%u_crit", offset + 1U); } goto ldv_51703; switch_default: /* CIL Label */ rc = -1; return (rc); switch_break: /* CIL Label */ ; } ldv_51703: ixgbe_attr->sensor = (struct ixgbe_thermal_diode_data *)(& adapter->hw.mac.thermal_sensor_data.sensor) + (unsigned long )offset; ixgbe_attr->hw = & adapter->hw; ixgbe_attr->dev_attr.store = (ssize_t (*)(struct device * , struct device_attribute * , char const * , size_t ))0; ixgbe_attr->dev_attr.attr.mode = 292U; ixgbe_attr->dev_attr.attr.name = (char const *)(& ixgbe_attr->name); ixgbe_attr->dev_attr.attr.key = & __key; (adapter->ixgbe_hwmon_buff)->attrs[n_attr] = & ixgbe_attr->dev_attr.attr; (adapter->ixgbe_hwmon_buff)->n_hwmon = (adapter->ixgbe_hwmon_buff)->n_hwmon + 1U; return (0); } } static void ixgbe_sysfs_del_adapter(struct ixgbe_adapter *adapter ) { { return; } } void ixgbe_sysfs_exit(struct ixgbe_adapter *adapter ) { { { ixgbe_sysfs_del_adapter(adapter); } return; } } int ixgbe_sysfs_init(struct ixgbe_adapter *adapter ) { struct hwmon_buff *ixgbe_hwmon ; struct device *hwmon_dev ; unsigned int i ; int rc ; s32 tmp ; void *tmp___0 ; long tmp___1 ; long tmp___2 ; { rc = 0; if ((unsigned long )adapter->hw.mac.ops.init_thermal_sensor_thresh == (unsigned long )((s32 (*)(struct ixgbe_hw * ))0)) { goto exit; } else { } { tmp = (*(adapter->hw.mac.ops.init_thermal_sensor_thresh))(& adapter->hw); } if (tmp != 0) { goto exit; } else { } { tmp___0 = devm_kzalloc(& (adapter->pdev)->dev, 1120UL, 208U); ixgbe_hwmon = (struct hwmon_buff *)tmp___0; } if ((unsigned long )ixgbe_hwmon == (unsigned long )((struct hwmon_buff *)0)) { rc = -12; goto exit; } else { } adapter->ixgbe_hwmon_buff = ixgbe_hwmon; i = 0U; goto ldv_51725; ldv_51724: ; if ((unsigned int )adapter->hw.mac.thermal_sensor_data.sensor[i].location == 0U) { goto ldv_51723; } else { } { rc = ixgbe_add_hwmon_attr(adapter, i, 2); } if (rc != 0) { goto exit; } else { } { rc = ixgbe_add_hwmon_attr(adapter, i, 0); } if (rc != 0) { goto exit; } else { } { rc = ixgbe_add_hwmon_attr(adapter, i, 1); } if (rc != 0) { goto exit; } else { } { rc = ixgbe_add_hwmon_attr(adapter, i, 3); } if (rc != 0) { goto exit; } else { } ldv_51723: i = i + 1U; ldv_51725: ; if (i <= 2U) { goto ldv_51724; } else { } { ixgbe_hwmon->groups[0] = (struct attribute_group const *)(& ixgbe_hwmon->group); ixgbe_hwmon->group.attrs = (struct attribute **)(& ixgbe_hwmon->attrs); hwmon_dev = devm_hwmon_device_register_with_groups(& (adapter->pdev)->dev, "ixgbe", (void *)ixgbe_hwmon, (struct attribute_group const **)(& ixgbe_hwmon->groups)); tmp___2 = IS_ERR((void const *)hwmon_dev); } if (tmp___2 != 0L) { { tmp___1 = PTR_ERR((void const *)hwmon_dev); rc = (int )tmp___1; } } else { } exit: ; return (rc); } } __inline static long PTR_ERR(void const *ptr ) { long tmp ; { { tmp = ldv_ptr_err(ptr); } return (tmp); } } extern char *kasprintf(gfp_t , char const * , ...) ; extern int sscanf(char const * , char const * , ...) ; extern size_t strlen(char const * ) ; extern int strncmp(char const * , char const * , __kernel_size_t ) ; extern int simple_open(struct inode * , struct file * ) ; extern ssize_t simple_read_from_buffer(void * , size_t , loff_t * , void const * , size_t ) ; extern ssize_t simple_write_to_buffer(void * , size_t , loff_t * , void const * , size_t ) ; extern struct dentry *debugfs_create_file(char const * , umode_t , struct dentry * , void * , struct file_operations const * ) ; extern struct dentry *debugfs_create_dir(char const * , struct dentry * ) ; extern void debugfs_remove_recursive(struct dentry * ) ; static struct dentry *ixgbe_dbg_root ; static char ixgbe_dbg_reg_ops_buf[256U] = { '\000'}; static ssize_t ixgbe_dbg_reg_ops_read(struct file *filp , char *buffer , size_t count , loff_t *ppos ) { struct ixgbe_adapter *adapter ; char *buf ; int len ; size_t tmp ; size_t tmp___0 ; ssize_t tmp___1 ; { adapter = (struct ixgbe_adapter *)filp->private_data; if (*ppos != 0LL) { return (0L); } else { } { buf = kasprintf(208U, "%s: %s\n", (char *)(& (adapter->netdev)->name), (char *)(& ixgbe_dbg_reg_ops_buf)); } if ((unsigned long )buf == (unsigned long )((char *)0)) { return (-12L); } else { } { tmp = strlen((char const *)buf); } if (count < tmp) { { kfree((void const *)buf); } return (-28L); } else { } { tmp___0 = strlen((char const *)buf); tmp___1 = simple_read_from_buffer((void *)buffer, count, ppos, (void const *)buf, tmp___0); len = (int )tmp___1; kfree((void const *)buf); } return ((ssize_t )len); } } static ssize_t ixgbe_dbg_reg_ops_write(struct file *filp , char const *buffer , size_t count , loff_t *ppos ) { struct ixgbe_adapter *adapter ; int len ; ssize_t tmp ; u32 reg ; u32 value ; int cnt ; u32 reg___0 ; u32 value___0 ; int cnt___0 ; int tmp___0 ; int tmp___1 ; { adapter = (struct ixgbe_adapter *)filp->private_data; if (*ppos != 0LL) { return (0L); } else { } if (count > 255UL) { return (-28L); } else { } { tmp = simple_write_to_buffer((void *)(& ixgbe_dbg_reg_ops_buf), 255UL, ppos, (void const *)buffer, count); len = (int )tmp; } if (len < 0) { return ((ssize_t )len); } else { } { ixgbe_dbg_reg_ops_buf[len] = 0; tmp___1 = strncmp((char const *)(& ixgbe_dbg_reg_ops_buf), "write", 5UL); } if (tmp___1 == 0) { { cnt = sscanf((char const *)(& ixgbe_dbg_reg_ops_buf) + 5U, "%x %x", & reg, & value); } if (cnt == 2) { { ixgbe_write_reg(& adapter->hw, reg, value); value = ixgbe_read_reg(& adapter->hw, reg); _dev_info((struct device const *)(& (adapter->pdev)->dev), "write: 0x%08x = 0x%08x\n", reg, value); } } else { { _dev_info((struct device const *)(& (adapter->pdev)->dev), "write \n"); } } } else { { tmp___0 = strncmp((char const *)(& ixgbe_dbg_reg_ops_buf), "read", 4UL); } if (tmp___0 == 0) { { cnt___0 = sscanf((char const *)(& ixgbe_dbg_reg_ops_buf) + 4U, "%x", & reg___0); } if (cnt___0 == 1) { { value___0 = ixgbe_read_reg(& adapter->hw, reg___0); _dev_info((struct device const *)(& (adapter->pdev)->dev), "read 0x%08x = 0x%08x\n", reg___0, value___0); } } else { { _dev_info((struct device const *)(& (adapter->pdev)->dev), "read \n"); } } } else { { _dev_info((struct device const *)(& (adapter->pdev)->dev), "Unknown command %s\n", (char *)(& ixgbe_dbg_reg_ops_buf)); _dev_info((struct device const *)(& (adapter->pdev)->dev), "Available commands:\n"); _dev_info((struct device const *)(& (adapter->pdev)->dev), " read \n"); _dev_info((struct device const *)(& (adapter->pdev)->dev), " write \n"); } } } return ((ssize_t )count); } } static struct file_operations const ixgbe_dbg_reg_ops_fops = {& __this_module, 0, & ixgbe_dbg_reg_ops_read, & ixgbe_dbg_reg_ops_write, 0, 0, 0, 0, 0, 0, 0, & simple_open, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; static char ixgbe_dbg_netdev_ops_buf[256U] = { '\000'}; static ssize_t ixgbe_dbg_netdev_ops_read(struct file *filp , char *buffer , size_t count , loff_t *ppos ) { struct ixgbe_adapter *adapter ; char *buf ; int len ; size_t tmp ; size_t tmp___0 ; ssize_t tmp___1 ; { adapter = (struct ixgbe_adapter *)filp->private_data; if (*ppos != 0LL) { return (0L); } else { } { buf = kasprintf(208U, "%s: %s\n", (char *)(& (adapter->netdev)->name), (char *)(& ixgbe_dbg_netdev_ops_buf)); } if ((unsigned long )buf == (unsigned long )((char *)0)) { return (-12L); } else { } { tmp = strlen((char const *)buf); } if (count < tmp) { { kfree((void const *)buf); } return (-28L); } else { } { tmp___0 = strlen((char const *)buf); tmp___1 = simple_read_from_buffer((void *)buffer, count, ppos, (void const *)buf, tmp___0); len = (int )tmp___1; kfree((void const *)buf); } return ((ssize_t )len); } } static ssize_t ixgbe_dbg_netdev_ops_write(struct file *filp , char const *buffer , size_t count , loff_t *ppos ) { struct ixgbe_adapter *adapter ; int len ; ssize_t tmp ; int tmp___0 ; { adapter = (struct ixgbe_adapter *)filp->private_data; if (*ppos != 0LL) { return (0L); } else { } if (count > 255UL) { return (-28L); } else { } { tmp = simple_write_to_buffer((void *)(& ixgbe_dbg_netdev_ops_buf), 255UL, ppos, (void const *)buffer, count); len = (int )tmp; } if (len < 0) { return ((ssize_t )len); } else { } { ixgbe_dbg_netdev_ops_buf[len] = 0; tmp___0 = strncmp((char const *)(& ixgbe_dbg_netdev_ops_buf), "tx_timeout", 10UL); } if (tmp___0 == 0) { { (*(((adapter->netdev)->netdev_ops)->ndo_tx_timeout))(adapter->netdev); _dev_info((struct device const *)(& (adapter->pdev)->dev), "tx_timeout called\n"); } } else { { _dev_info((struct device const *)(& (adapter->pdev)->dev), "Unknown command: %s\n", (char *)(& ixgbe_dbg_netdev_ops_buf)); _dev_info((struct device const *)(& (adapter->pdev)->dev), "Available commands:\n"); _dev_info((struct device const *)(& (adapter->pdev)->dev), " tx_timeout\n"); } } return ((ssize_t )count); } } static struct file_operations const ixgbe_dbg_netdev_ops_fops = {& __this_module, 0, & ixgbe_dbg_netdev_ops_read, & ixgbe_dbg_netdev_ops_write, 0, 0, 0, 0, 0, 0, 0, & simple_open, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; void ixgbe_dbg_adapter_init(struct ixgbe_adapter *adapter ) { char const *name ; char const *tmp ; struct dentry *pfile ; { { tmp = pci_name((struct pci_dev const *)adapter->pdev); name = tmp; adapter->ixgbe_dbg_adapter = debugfs_create_dir(name, ixgbe_dbg_root); } if ((unsigned long )adapter->ixgbe_dbg_adapter != (unsigned long )((struct dentry *)0)) { { pfile = debugfs_create_file("reg_ops", 384, adapter->ixgbe_dbg_adapter, (void *)adapter, & ixgbe_dbg_reg_ops_fops); } if ((unsigned long )pfile == (unsigned long )((struct dentry *)0)) { { dev_err((struct device const *)(& (adapter->pdev)->dev), "debugfs reg_ops for %s failed\n", name); } } else { } { pfile = debugfs_create_file("netdev_ops", 384, adapter->ixgbe_dbg_adapter, (void *)adapter, & ixgbe_dbg_netdev_ops_fops); } if ((unsigned long )pfile == (unsigned long )((struct dentry *)0)) { { dev_err((struct device const *)(& (adapter->pdev)->dev), "debugfs netdev_ops for %s failed\n", name); } } else { } } else { { dev_err((struct device const *)(& (adapter->pdev)->dev), "debugfs entry for %s failed\n", name); } } return; } } void ixgbe_dbg_adapter_exit(struct ixgbe_adapter *adapter ) { { if ((unsigned long )adapter->ixgbe_dbg_adapter != (unsigned long )((struct dentry *)0)) { { debugfs_remove_recursive(adapter->ixgbe_dbg_adapter); } } else { } adapter->ixgbe_dbg_adapter = (struct dentry *)0; return; } } void ixgbe_dbg_init(void) { { { ixgbe_dbg_root = debugfs_create_dir((char const *)(& ixgbe_driver_name), (struct dentry *)0); } if ((unsigned long )ixgbe_dbg_root == (unsigned long )((struct dentry *)0)) { { printk("\vixgbe: init of debugfs failed\n"); } } else { } return; } } void ixgbe_dbg_exit(void) { { { debugfs_remove_recursive(ixgbe_dbg_root); } return; } } void ldv_file_operations_instance_callback_0_5(long (*arg0)(struct file * , char * , unsigned long , long long * ) , struct file *arg1 , char *arg2 , unsigned long arg3 , long long *arg4 ) ; void ldv_file_operations_instance_callback_1_5(long (*arg0)(struct file * , char * , unsigned long , long long * ) , struct file *arg1 , char *arg2 , unsigned long arg3 , long long *arg4 ) ; int ldv_file_operations_instance_probe_0_12(int (*arg0)(struct inode * , struct file * ) , struct inode *arg1 , struct file *arg2 ) ; int ldv_file_operations_instance_probe_1_12(int (*arg0)(struct inode * , struct file * ) , struct inode *arg1 , struct file *arg2 ) ; void ldv_file_operations_instance_write_0_4(long (*arg0)(struct file * , char * , unsigned long , long long * ) , struct file *arg1 , char *arg2 , unsigned long arg3 , long long *arg4 ) ; void ldv_file_operations_instance_write_1_4(long (*arg0)(struct file * , char * , unsigned long , long long * ) , struct file *arg1 , char *arg2 , unsigned long arg3 , long long *arg4 ) ; long (*ldv_0_callback_read)(struct file * , char * , unsigned long , long long * ) ; struct file_operations *ldv_0_container_file_operations ; long (*ldv_1_callback_read)(struct file * , char * , unsigned long , long long * ) ; struct file_operations *ldv_1_container_file_operations ; int ldv_statevar_0 ; int ldv_statevar_1 ; long (*ldv_0_callback_read)(struct file * , char * , unsigned long , long long * ) = & ixgbe_dbg_netdev_ops_read; long (*ldv_1_callback_read)(struct file * , char * , unsigned long , long long * ) = & ixgbe_dbg_reg_ops_read; void ldv_file_operations_file_operations_instance_0(void *arg0 ) { int tmp ; int tmp___0 ; int tmp___1 ; void *tmp___2 ; void *tmp___3 ; int tmp___4 ; int tmp___5 ; void *tmp___6 ; void *tmp___7 ; void *tmp___8 ; void *tmp___9 ; { { if (ldv_statevar_0 == 1) { goto case_1; } else { } if (ldv_statevar_0 == 2) { goto case_2; } else { } if (ldv_statevar_0 == 3) { goto case_3; } else { } if (ldv_statevar_0 == 7) { goto case_7; } else { } if (ldv_statevar_0 == 9) { goto case_9; } else { } if (ldv_statevar_0 == 11) { goto case_11; } else { } if (ldv_statevar_0 == 12) { goto case_12; } else { } if (ldv_statevar_0 == 14) { goto case_14; } else { } if (ldv_statevar_0 == 15) { goto case_15; } else { } if (ldv_statevar_0 == 18) { goto case_18; } else { } if (ldv_statevar_0 == 20) { goto case_20; } else { } goto switch_default; case_1: /* CIL Label */ { tmp = ldv_undef_int(); } if (tmp != 0) { ldv_statevar_0 = 7; } else { ldv_statevar_0 = 12; } goto ldv_51941; case_2: /* CIL Label */ ldv_statevar_0 = 1; goto ldv_51941; case_3: /* CIL Label */ { ldv_statevar_0 = ldv_switch_0(); } goto ldv_51941; case_7: /* CIL Label */ { ldv_free((void *)ldv_0_resource_file); ldv_free((void *)ldv_0_resource_inode); ldv_0_ret_default = 1; ldv_statevar_0 = 15; } goto ldv_51941; case_9: /* CIL Label */ { ldv_assume(ldv_0_ret_default != 0); tmp___0 = ldv_undef_int(); } if (tmp___0 != 0) { ldv_statevar_0 = 7; } else { ldv_statevar_0 = 12; } goto ldv_51941; case_11: /* CIL Label */ { ldv_assume(ldv_0_ret_default == 0); ldv_statevar_0 = ldv_switch_0(); } goto ldv_51941; case_12: /* CIL Label */ { ldv_0_ret_default = ldv_file_operations_instance_probe_0_12(ldv_0_container_file_operations->open, ldv_0_resource_inode, ldv_0_resource_file); ldv_0_ret_default = ldv_filter_err_code(ldv_0_ret_default); tmp___1 = ldv_undef_int(); } if (tmp___1 != 0) { ldv_statevar_0 = 9; } else { ldv_statevar_0 = 11; } goto ldv_51941; case_14: /* CIL Label */ { tmp___2 = ldv_xmalloc(520UL); ldv_0_resource_file = (struct file *)tmp___2; tmp___3 = ldv_xmalloc(1032UL); ldv_0_resource_inode = (struct inode *)tmp___3; tmp___4 = ldv_undef_int(); ldv_0_size_cnt_write_size = (unsigned long )tmp___4; tmp___5 = ldv_undef_int(); } if (tmp___5 != 0) { ldv_statevar_0 = 7; } else { ldv_statevar_0 = 12; } goto ldv_51941; case_15: /* CIL Label */ ; goto ldv_51941; case_18: /* CIL Label */ { tmp___6 = ldv_xmalloc(1UL); ldv_0_ldv_param_4_1_default = (char *)tmp___6; tmp___7 = ldv_xmalloc(8UL); ldv_0_ldv_param_4_3_default = (long long *)tmp___7; ldv_assume(ldv_0_size_cnt_write_size <= 2147479552UL); ldv_file_operations_instance_write_0_4((long (*)(struct file * , char * , unsigned long , long long * ))ldv_0_container_file_operations->write, ldv_0_resource_file, ldv_0_ldv_param_4_1_default, ldv_0_size_cnt_write_size, ldv_0_ldv_param_4_3_default); ldv_free((void *)ldv_0_ldv_param_4_1_default); ldv_free((void *)ldv_0_ldv_param_4_3_default); ldv_statevar_0 = 3; } goto ldv_51941; case_20: /* CIL Label */ { tmp___8 = ldv_xmalloc(1UL); ldv_0_ldv_param_5_1_default = (char *)tmp___8; tmp___9 = ldv_xmalloc(8UL); ldv_0_ldv_param_5_3_default = (long long *)tmp___9; ldv_file_operations_instance_callback_0_5(ldv_0_callback_read, ldv_0_resource_file, ldv_0_ldv_param_5_1_default, ldv_0_size_cnt_write_size, ldv_0_ldv_param_5_3_default); ldv_free((void *)ldv_0_ldv_param_5_1_default); ldv_free((void *)ldv_0_ldv_param_5_3_default); ldv_statevar_0 = 3; } goto ldv_51941; switch_default: /* CIL Label */ ; switch_break: /* CIL Label */ ; } ldv_51941: ; return; } } void ldv_file_operations_file_operations_instance_1(void *arg0 ) { int tmp ; int tmp___0 ; int tmp___1 ; void *tmp___2 ; void *tmp___3 ; int tmp___4 ; int tmp___5 ; void *tmp___6 ; void *tmp___7 ; void *tmp___8 ; void *tmp___9 ; { { if (ldv_statevar_1 == 1) { goto case_1; } else { } if (ldv_statevar_1 == 2) { goto case_2; } else { } if (ldv_statevar_1 == 3) { goto case_3; } else { } if (ldv_statevar_1 == 7) { goto case_7; } else { } if (ldv_statevar_1 == 9) { goto case_9; } else { } if (ldv_statevar_1 == 11) { goto case_11; } else { } if (ldv_statevar_1 == 12) { goto case_12; } else { } if (ldv_statevar_1 == 14) { goto case_14; } else { } if (ldv_statevar_1 == 15) { goto case_15; } else { } if (ldv_statevar_1 == 18) { goto case_18; } else { } if (ldv_statevar_1 == 20) { goto case_20; } else { } goto switch_default; case_1: /* CIL Label */ { tmp = ldv_undef_int(); } if (tmp != 0) { ldv_statevar_1 = 7; } else { ldv_statevar_1 = 12; } goto ldv_51957; case_2: /* CIL Label */ ldv_statevar_1 = 1; goto ldv_51957; case_3: /* CIL Label */ { ldv_statevar_1 = ldv_switch_0(); } goto ldv_51957; case_7: /* CIL Label */ { ldv_free((void *)ldv_1_resource_file); ldv_free((void *)ldv_1_resource_inode); ldv_1_ret_default = 1; ldv_statevar_1 = 15; } goto ldv_51957; case_9: /* CIL Label */ { ldv_assume(ldv_1_ret_default != 0); tmp___0 = ldv_undef_int(); } if (tmp___0 != 0) { ldv_statevar_1 = 7; } else { ldv_statevar_1 = 12; } goto ldv_51957; case_11: /* CIL Label */ { ldv_assume(ldv_1_ret_default == 0); ldv_statevar_1 = ldv_switch_0(); } goto ldv_51957; case_12: /* CIL Label */ { ldv_1_ret_default = ldv_file_operations_instance_probe_1_12(ldv_1_container_file_operations->open, ldv_1_resource_inode, ldv_1_resource_file); ldv_1_ret_default = ldv_filter_err_code(ldv_1_ret_default); tmp___1 = ldv_undef_int(); } if (tmp___1 != 0) { ldv_statevar_1 = 9; } else { ldv_statevar_1 = 11; } goto ldv_51957; case_14: /* CIL Label */ { tmp___2 = ldv_xmalloc(520UL); ldv_1_resource_file = (struct file *)tmp___2; tmp___3 = ldv_xmalloc(1032UL); ldv_1_resource_inode = (struct inode *)tmp___3; tmp___4 = ldv_undef_int(); ldv_1_size_cnt_write_size = (unsigned long )tmp___4; tmp___5 = ldv_undef_int(); } if (tmp___5 != 0) { ldv_statevar_1 = 7; } else { ldv_statevar_1 = 12; } goto ldv_51957; case_15: /* CIL Label */ ; goto ldv_51957; case_18: /* CIL Label */ { tmp___6 = ldv_xmalloc(1UL); ldv_1_ldv_param_4_1_default = (char *)tmp___6; tmp___7 = ldv_xmalloc(8UL); ldv_1_ldv_param_4_3_default = (long long *)tmp___7; ldv_assume(ldv_1_size_cnt_write_size <= 2147479552UL); ldv_file_operations_instance_write_1_4((long (*)(struct file * , char * , unsigned long , long long * ))ldv_1_container_file_operations->write, ldv_1_resource_file, ldv_1_ldv_param_4_1_default, ldv_1_size_cnt_write_size, ldv_1_ldv_param_4_3_default); ldv_free((void *)ldv_1_ldv_param_4_1_default); ldv_free((void *)ldv_1_ldv_param_4_3_default); ldv_statevar_1 = 3; } goto ldv_51957; case_20: /* CIL Label */ { tmp___8 = ldv_xmalloc(1UL); ldv_1_ldv_param_5_1_default = (char *)tmp___8; tmp___9 = ldv_xmalloc(8UL); ldv_1_ldv_param_5_3_default = (long long *)tmp___9; ldv_file_operations_instance_callback_1_5(ldv_1_callback_read, ldv_1_resource_file, ldv_1_ldv_param_5_1_default, ldv_1_size_cnt_write_size, ldv_1_ldv_param_5_3_default); ldv_free((void *)ldv_1_ldv_param_5_1_default); ldv_free((void *)ldv_1_ldv_param_5_3_default); ldv_statevar_1 = 3; } goto ldv_51957; switch_default: /* CIL Label */ ; switch_break: /* CIL Label */ ; } ldv_51957: ; return; } } void ldv_file_operations_instance_callback_0_5(long (*arg0)(struct file * , char * , unsigned long , long long * ) , struct file *arg1 , char *arg2 , unsigned long arg3 , long long *arg4 ) { { { ixgbe_dbg_netdev_ops_read(arg1, arg2, arg3, arg4); } return; } } void ldv_file_operations_instance_callback_1_5(long (*arg0)(struct file * , char * , unsigned long , long long * ) , struct file *arg1 , char *arg2 , unsigned long arg3 , long long *arg4 ) { { { ixgbe_dbg_reg_ops_read(arg1, arg2, arg3, arg4); } return; } } int ldv_file_operations_instance_probe_0_12(int (*arg0)(struct inode * , struct file * ) , struct inode *arg1 , struct file *arg2 ) { int tmp ; { { tmp = simple_open(arg1, arg2); } return (tmp); } } int ldv_file_operations_instance_probe_1_12(int (*arg0)(struct inode * , struct file * ) , struct inode *arg1 , struct file *arg2 ) { int tmp ; { { tmp = simple_open(arg1, arg2); } return (tmp); } } void ldv_file_operations_instance_write_0_4(long (*arg0)(struct file * , char * , unsigned long , long long * ) , struct file *arg1 , char *arg2 , unsigned long arg3 , long long *arg4 ) { { { ixgbe_dbg_netdev_ops_write(arg1, (char const *)arg2, arg3, arg4); } return; } } void ldv_file_operations_instance_write_1_4(long (*arg0)(struct file * , char * , unsigned long , long long * ) , struct file *arg1 , char *arg2 , unsigned long arg3 , long long *arg4 ) { { { ixgbe_dbg_reg_ops_write(arg1, (char const *)arg2, arg3, arg4); } return; } } void ldv_switch_automaton_state_0_15(void) { { ldv_statevar_0 = 14; return; } } void ldv_switch_automaton_state_0_6(void) { { ldv_0_ret_default = 1; ldv_statevar_0 = 15; return; } } void ldv_switch_automaton_state_1_15(void) { { ldv_statevar_1 = 14; return; } } void ldv_switch_automaton_state_1_6(void) { { ldv_1_ret_default = 1; ldv_statevar_1 = 15; return; } } int ldv_atomic_dec_and_test(atomic_t *v ) ; __inline static void atomic_inc(atomic_t *v ) ; __inline static int atomic_dec_and_test(atomic_t *v ) ; __inline static void __preempt_count_add___0(int val ) { int pao_ID__ ; { pao_ID__ = 0; { if (4UL == 1UL) { goto case_1; } else { } if (4UL == 2UL) { goto case_2; } else { } if (4UL == 4UL) { goto case_4; } else { } if (4UL == 8UL) { goto case_8; } else { } goto switch_default; case_1: /* CIL Label */ ; if (pao_ID__ == 1) { __asm__ ("incb %%gs:%P0": "+m" (__preempt_count)); } else if (pao_ID__ == -1) { __asm__ ("decb %%gs:%P0": "+m" (__preempt_count)); } else { __asm__ ("addb %1, %%gs:%P0": "+m" (__preempt_count): "qi" (val)); } goto ldv_6473; case_2: /* CIL Label */ ; if (pao_ID__ == 1) { __asm__ ("incw %%gs:%P0": "+m" (__preempt_count)); } else if (pao_ID__ == -1) { __asm__ ("decw %%gs:%P0": "+m" (__preempt_count)); } else { __asm__ ("addw %1, %%gs:%P0": "+m" (__preempt_count): "ri" (val)); } goto ldv_6473; case_4: /* CIL Label */ ; if (pao_ID__ == 1) { __asm__ ("incl %%gs:%P0": "+m" (__preempt_count)); } else if (pao_ID__ == -1) { __asm__ ("decl %%gs:%P0": "+m" (__preempt_count)); } else { __asm__ ("addl %1, %%gs:%P0": "+m" (__preempt_count): "ri" (val)); } goto ldv_6473; case_8: /* CIL Label */ ; if (pao_ID__ == 1) { __asm__ ("incq %%gs:%P0": "+m" (__preempt_count)); } else if (pao_ID__ == -1) { __asm__ ("decq %%gs:%P0": "+m" (__preempt_count)); } else { __asm__ ("addq %1, %%gs:%P0": "+m" (__preempt_count): "re" (val)); } goto ldv_6473; switch_default: /* CIL Label */ { __bad_percpu_size(); } switch_break: /* CIL Label */ ; } ldv_6473: ; return; } } __inline static void __preempt_count_sub___0(int val ) { int pao_ID__ ; { pao_ID__ = 0; { if (4UL == 1UL) { goto case_1; } else { } if (4UL == 2UL) { goto case_2; } else { } if (4UL == 4UL) { goto case_4; } else { } if (4UL == 8UL) { goto case_8; } else { } goto switch_default; case_1: /* CIL Label */ ; if (pao_ID__ == 1) { __asm__ ("incb %%gs:%P0": "+m" (__preempt_count)); } else if (pao_ID__ == -1) { __asm__ ("decb %%gs:%P0": "+m" (__preempt_count)); } else { __asm__ ("addb %1, %%gs:%P0": "+m" (__preempt_count): "qi" (- val)); } goto ldv_6485; case_2: /* CIL Label */ ; if (pao_ID__ == 1) { __asm__ ("incw %%gs:%P0": "+m" (__preempt_count)); } else if (pao_ID__ == -1) { __asm__ ("decw %%gs:%P0": "+m" (__preempt_count)); } else { __asm__ ("addw %1, %%gs:%P0": "+m" (__preempt_count): "ri" (- val)); } goto ldv_6485; case_4: /* CIL Label */ ; if (pao_ID__ == 1) { __asm__ ("incl %%gs:%P0": "+m" (__preempt_count)); } else if (pao_ID__ == -1) { __asm__ ("decl %%gs:%P0": "+m" (__preempt_count)); } else { __asm__ ("addl %1, %%gs:%P0": "+m" (__preempt_count): "ri" (- val)); } goto ldv_6485; case_8: /* CIL Label */ ; if (pao_ID__ == 1) { __asm__ ("incq %%gs:%P0": "+m" (__preempt_count)); } else if (pao_ID__ == -1) { __asm__ ("decq %%gs:%P0": "+m" (__preempt_count)); } else { __asm__ ("addq %1, %%gs:%P0": "+m" (__preempt_count): "re" (- val)); } goto ldv_6485; switch_default: /* CIL Label */ { __bad_percpu_size(); } switch_break: /* CIL Label */ ; } ldv_6485: ; return; } } extern void *__alloc_percpu(size_t , size_t ) ; extern void free_percpu(void * ) ; __inline static struct page *sg_page(struct scatterlist *sg ) { long tmp ; long tmp___0 ; { { tmp = ldv__builtin_expect(sg->sg_magic != 2271560481UL, 0L); } if (tmp != 0L) { { __asm__ volatile ("1:\tud2\n.pushsection __bug_table,\"a\"\n2:\t.long 1b - 2b, %c0 - 2b\n\t.word %c1, 0\n\t.org 2b+%c2\n.popsection": : "i" ((char *)"include/linux/scatterlist.h"), "i" (98), "i" (12UL)); __builtin_unreachable(); } } else { } { tmp___0 = ldv__builtin_expect((long )((int )sg->page_link) & 1L, 0L); } if (tmp___0 != 0L) { { __asm__ volatile ("1:\tud2\n.pushsection __bug_table,\"a\"\n2:\t.long 1b - 2b, %c0 - 2b\n\t.word %c1, 0\n\t.org 2b+%c2\n.popsection": : "i" ((char *)"include/linux/scatterlist.h"), "i" (99), "i" (12UL)); __builtin_unreachable(); } } else { } return ((struct page *)(sg->page_link & 0xfffffffffffffffcUL)); } } __inline static void *sg_virt(struct scatterlist *sg ) { struct page *tmp ; void *tmp___0 ; { { tmp = sg_page(sg); tmp___0 = lowmem_page_address((struct page const *)tmp); } return (tmp___0 + (unsigned long )sg->offset); } } extern struct scatterlist *sg_next(struct scatterlist * ) ; extern void debug_dma_map_sg(struct device * , struct scatterlist * , int , int , int ) ; extern void debug_dma_unmap_sg(struct device * , struct scatterlist * , int , int ) ; __inline static int dma_map_sg_attrs(struct device *dev , struct scatterlist *sg , int nents , enum dma_data_direction dir , struct dma_attrs *attrs ) { struct dma_map_ops *ops ; struct dma_map_ops *tmp ; int i ; int ents ; struct scatterlist *s ; void *tmp___0 ; int tmp___1 ; long tmp___2 ; { { tmp = get_dma_ops(dev); ops = tmp; i = 0; s = sg; } goto ldv_28992; ldv_28991: { tmp___0 = sg_virt(s); kmemcheck_mark_initialized(tmp___0, s->length); i = i + 1; s = sg_next(s); } ldv_28992: ; if (i < nents) { goto ldv_28991; } else { } { tmp___1 = valid_dma_direction((int )dir); tmp___2 = ldv__builtin_expect(tmp___1 == 0, 0L); } if (tmp___2 != 0L) { { __asm__ volatile ("1:\tud2\n.pushsection __bug_table,\"a\"\n2:\t.long 1b - 2b, %c0 - 2b\n\t.word %c1, 0\n\t.org 2b+%c2\n.popsection": : "i" ((char *)"include/asm-generic/dma-mapping-common.h"), "i" (52), "i" (12UL)); __builtin_unreachable(); } } else { } { ents = (*(ops->map_sg))(dev, sg, nents, dir, attrs); debug_dma_map_sg(dev, sg, nents, ents, (int )dir); } return (ents); } } __inline static void dma_unmap_sg_attrs(struct device *dev , struct scatterlist *sg , int nents , enum dma_data_direction dir , struct dma_attrs *attrs ) { struct dma_map_ops *ops ; struct dma_map_ops *tmp ; int tmp___0 ; long tmp___1 ; { { tmp = get_dma_ops(dev); ops = tmp; tmp___0 = valid_dma_direction((int )dir); tmp___1 = ldv__builtin_expect(tmp___0 == 0, 0L); } if (tmp___1 != 0L) { { __asm__ volatile ("1:\tud2\n.pushsection __bug_table,\"a\"\n2:\t.long 1b - 2b, %c0 - 2b\n\t.word %c1, 0\n\t.org 2b+%c2\n.popsection": : "i" ((char *)"include/asm-generic/dma-mapping-common.h"), "i" (65), "i" (12UL)); __builtin_unreachable(); } } else { } { debug_dma_unmap_sg(dev, sg, nents, (int )dir); } if ((unsigned long )ops->unmap_sg != (unsigned long )((void (*)(struct device * , struct scatterlist * , int , enum dma_data_direction , struct dma_attrs * ))0)) { { (*(ops->unmap_sg))(dev, sg, nents, dir, attrs); } } else { } return; } } extern unsigned char *__pskb_pull_tail(struct sk_buff * , int ) ; __inline static void skb_reset_transport_header(struct sk_buff *skb ) { { skb->transport_header = (int )((__u16 )((long )skb->data)) - (int )((__u16 )((long )skb->head)); return; } } __inline static void skb_set_transport_header(struct sk_buff *skb , int const offset ) { { { skb_reset_transport_header(skb); skb->transport_header = (int )skb->transport_header + (int )((__u16 )offset); } return; } } __inline static void skb_reset_network_header(struct sk_buff *skb ) { { skb->network_header = (int )((__u16 )((long )skb->data)) - (int )((__u16 )((long )skb->head)); return; } } __inline static void skb_set_network_header(struct sk_buff *skb , int const offset ) { { { skb_reset_network_header(skb); skb->network_header = (int )skb->network_header + (int )((__u16 )offset); } return; } } __inline static unsigned char *skb_mac_header(struct sk_buff const *skb ) { { return ((unsigned char *)skb->head + (unsigned long )skb->mac_header); } } __inline static int __skb_linearize(struct sk_buff *skb ) { unsigned char *tmp ; { { tmp = __pskb_pull_tail(skb, (int )skb->data_len); } return ((unsigned long )tmp != (unsigned long )((unsigned char *)0U) ? 0 : -12); } } __inline static int skb_linearize(struct sk_buff *skb ) { int tmp___0 ; int tmp___1 ; bool tmp___2 ; { { tmp___2 = skb_is_nonlinear((struct sk_buff const *)skb); } if ((int )tmp___2) { { tmp___0 = __skb_linearize(skb); tmp___1 = tmp___0; } } else { tmp___1 = 0; } return (tmp___1); } } __inline static struct ethhdr *eth_hdr(struct sk_buff const *skb ) { unsigned char *tmp ; { { tmp = skb_mac_header(skb); } return ((struct ethhdr *)tmp); } } extern void netdev_features_change(struct net_device * ) ; extern int pci_bus_read_config_byte(struct pci_bus * , unsigned int , int , u8 * ) ; __inline static int pci_read_config_byte(struct pci_dev const *dev , int where , u8 *val ) { int tmp ; { { tmp = pci_bus_read_config_byte(dev->bus, dev->devfn, where, val); } return (tmp); } } extern struct dma_pool *dma_pool_create(char const * , struct device * , size_t , size_t , size_t ) ; extern void dma_pool_destroy(struct dma_pool * ) ; extern void *dma_pool_alloc(struct dma_pool * , gfp_t , dma_addr_t * ) ; extern void dma_pool_free(struct dma_pool * , void * , dma_addr_t ) ; __inline static u32 ntoh24(u8 const *p ) { { return ((u32 )((((int )*p << 16) | ((int )*(p + 1UL) << 8)) | (int )*(p + 2UL))); } } __inline static void ixgbe_fcoe_clear_ddp(struct ixgbe_fcoe_ddp *ddp ) { { ddp->len = 0; ddp->err = 1U; ddp->udl = (u64 *)0ULL; ddp->udp = 0ULL; ddp->sgl = (struct scatterlist *)0; ddp->sgc = 0U; return; } } int ixgbe_fcoe_ddp_put(struct net_device *netdev , u16 xid ) { int len ; struct ixgbe_fcoe *fcoe ; struct ixgbe_adapter *adapter ; struct ixgbe_fcoe_ddp *ddp ; u32 fcbuff ; void *tmp ; { len = 0; if ((unsigned long )netdev == (unsigned long )((struct net_device *)0)) { goto out_ddp_put; } else { } if ((unsigned int )xid > 511U) { goto out_ddp_put; } else { } { tmp = netdev_priv((struct net_device const *)netdev); adapter = (struct ixgbe_adapter *)tmp; fcoe = & adapter->fcoe; ddp = (struct ixgbe_fcoe_ddp *)(& fcoe->ddp) + (unsigned long )xid; } if ((unsigned long )ddp->udl == (unsigned long )((u64 *)0ULL)) { goto out_ddp_put; } else { } len = ddp->len; if (ddp->err != 0U) { { spin_lock_bh(& fcoe->lock); ixgbe_write_reg(& adapter->hw, 20744U, 0U); ixgbe_write_reg(& adapter->hw, 20752U, (unsigned int )xid | 16384U); ixgbe_write_reg(& adapter->hw, 9240U, 0U); ixgbe_write_reg(& adapter->hw, 9248U, (unsigned int )xid | 16384U); ixgbe_write_reg(& adapter->hw, 9248U, (unsigned int )xid | 32768U); fcbuff = ixgbe_read_reg(& adapter->hw, 9240U); spin_unlock_bh(& fcoe->lock); } if ((int )fcbuff & 1) { { __const_udelay(429500UL); } } else { } } else { } if ((unsigned long )ddp->sgl != (unsigned long )((struct scatterlist *)0)) { { dma_unmap_sg_attrs(& (adapter->pdev)->dev, ddp->sgl, (int )ddp->sgc, 2, (struct dma_attrs *)0); } } else { } if ((unsigned long )ddp->pool != (unsigned long )((struct dma_pool *)0)) { { dma_pool_free(ddp->pool, (void *)ddp->udl, ddp->udp); ddp->pool = (struct dma_pool *)0; } } else { } { ixgbe_fcoe_clear_ddp(ddp); } out_ddp_put: ; return (len); } } static int ixgbe_fcoe_ddp_setup(struct net_device *netdev , u16 xid , struct scatterlist *sgl , unsigned int sgc , int target_mode ) { struct ixgbe_adapter *adapter ; struct ixgbe_hw *hw ; struct ixgbe_fcoe *fcoe ; struct ixgbe_fcoe_ddp *ddp ; struct ixgbe_fcoe_ddp_pool *ddp_pool ; struct scatterlist *sg ; unsigned int i ; unsigned int j ; unsigned int dmacount ; unsigned int len ; unsigned int bufflen ; unsigned int firstoff ; unsigned int lastsize ; unsigned int thisoff ; unsigned int thislen ; u32 fcbuff ; u32 fcdmarw ; u32 fcfltrw ; u32 fcrxctl ; dma_addr_t addr ; void *tmp ; int tmp___0 ; int tmp___1 ; void const *__vpp_verify ; unsigned long __ptr ; int pscr_ret__ ; void const *__vpp_verify___0 ; int pfo_ret__ ; int pfo_ret_____0 ; int pfo_ret_____1 ; int pfo_ret_____2 ; int tmp___2 ; void *tmp___3 ; unsigned int _min1 ; unsigned int _min2 ; int tmp___4 ; { bufflen = 4096U; firstoff = 0U; thisoff = 0U; thislen = 0U; addr = 0ULL; if ((unsigned long )netdev == (unsigned long )((struct net_device *)0) || (unsigned long )sgl == (unsigned long )((struct scatterlist *)0)) { return (0); } else { } { tmp = netdev_priv((struct net_device const *)netdev); adapter = (struct ixgbe_adapter *)tmp; } if ((unsigned int )xid > 511U) { if ((int )adapter->msg_enable & 1) { { netdev_warn((struct net_device const *)adapter->netdev, "xid=0x%x out-of-range\n", (int )xid); } } else { } return (0); } else { } { tmp___0 = constant_test_bit(2L, (unsigned long const volatile *)(& adapter->state)); } if (tmp___0 != 0) { return (0); } else { { tmp___1 = constant_test_bit(1L, (unsigned long const volatile *)(& adapter->state)); } if (tmp___1 != 0) { return (0); } else { } } fcoe = & adapter->fcoe; ddp = (struct ixgbe_fcoe_ddp *)(& fcoe->ddp) + (unsigned long )xid; if ((unsigned long )ddp->sgl != (unsigned long )((struct scatterlist *)0)) { if ((int )adapter->msg_enable & 1) { { netdev_err((struct net_device const *)adapter->netdev, "xid 0x%x w/ non-null sgl=%p nents=%d\n", (int )xid, ddp->sgl, ddp->sgc); } } else { } return (0); } else { } { ixgbe_fcoe_clear_ddp(ddp); } if ((unsigned long )fcoe->ddp_pool == (unsigned long )((struct ixgbe_fcoe_ddp_pool *)0)) { if ((int )adapter->msg_enable & 1) { { netdev_warn((struct net_device const *)adapter->netdev, "No ddp_pool resources allocated\n"); } } else { } return (0); } else { } { __vpp_verify = (void const *)0; __asm__ ("": "=r" (__ptr): "0" (fcoe->ddp_pool)); __preempt_count_add___0(1); __asm__ volatile ("": : : "memory"); __vpp_verify___0 = (void const *)0; } { if (4UL == 1UL) { goto case_1; } else { } if (4UL == 2UL) { goto case_2___0; } else { } if (4UL == 4UL) { goto case_4___1; } else { } if (4UL == 8UL) { goto case_8___2; } else { } goto switch_default___3; case_1: /* CIL Label */ ; { if (4UL == 1UL) { goto case_1___0; } else { } if (4UL == 2UL) { goto case_2; } else { } if (4UL == 4UL) { goto case_4; } else { } if (4UL == 8UL) { goto case_8; } else { } goto switch_default; case_1___0: /* CIL Label */ __asm__ ("movb %%gs:%P1,%0": "=q" (pfo_ret__): "m" (cpu_number)); goto ldv_56809; case_2: /* CIL Label */ __asm__ ("movw %%gs:%P1,%0": "=r" (pfo_ret__): "m" (cpu_number)); goto ldv_56809; case_4: /* CIL Label */ __asm__ ("movl %%gs:%P1,%0": "=r" (pfo_ret__): "m" (cpu_number)); goto ldv_56809; case_8: /* CIL Label */ __asm__ ("movq %%gs:%P1,%0": "=r" (pfo_ret__): "m" (cpu_number)); goto ldv_56809; switch_default: /* CIL Label */ { __bad_percpu_size(); } switch_break___0: /* CIL Label */ ; } ldv_56809: pscr_ret__ = pfo_ret__; goto ldv_56815; case_2___0: /* CIL Label */ ; { if (4UL == 1UL) { goto case_1___1; } else { } if (4UL == 2UL) { goto case_2___1; } else { } if (4UL == 4UL) { goto case_4___0; } else { } if (4UL == 8UL) { goto case_8___0; } else { } goto switch_default___0; case_1___1: /* CIL Label */ __asm__ ("movb %%gs:%P1,%0": "=q" (pfo_ret_____0): "m" (cpu_number)); goto ldv_56819; case_2___1: /* CIL Label */ __asm__ ("movw %%gs:%P1,%0": "=r" (pfo_ret_____0): "m" (cpu_number)); goto ldv_56819; case_4___0: /* CIL Label */ __asm__ ("movl %%gs:%P1,%0": "=r" (pfo_ret_____0): "m" (cpu_number)); goto ldv_56819; case_8___0: /* CIL Label */ __asm__ ("movq %%gs:%P1,%0": "=r" (pfo_ret_____0): "m" (cpu_number)); goto ldv_56819; switch_default___0: /* CIL Label */ { __bad_percpu_size(); } switch_break___1: /* CIL Label */ ; } ldv_56819: pscr_ret__ = pfo_ret_____0; goto ldv_56815; case_4___1: /* CIL Label */ ; { if (4UL == 1UL) { goto case_1___2; } else { } if (4UL == 2UL) { goto case_2___2; } else { } if (4UL == 4UL) { goto case_4___2; } else { } if (4UL == 8UL) { goto case_8___1; } else { } goto switch_default___1; case_1___2: /* CIL Label */ __asm__ ("movb %%gs:%P1,%0": "=q" (pfo_ret_____1): "m" (cpu_number)); goto ldv_56828; case_2___2: /* CIL Label */ __asm__ ("movw %%gs:%P1,%0": "=r" (pfo_ret_____1): "m" (cpu_number)); goto ldv_56828; case_4___2: /* CIL Label */ __asm__ ("movl %%gs:%P1,%0": "=r" (pfo_ret_____1): "m" (cpu_number)); goto ldv_56828; case_8___1: /* CIL Label */ __asm__ ("movq %%gs:%P1,%0": "=r" (pfo_ret_____1): "m" (cpu_number)); goto ldv_56828; switch_default___1: /* CIL Label */ { __bad_percpu_size(); } switch_break___2: /* CIL Label */ ; } ldv_56828: pscr_ret__ = pfo_ret_____1; goto ldv_56815; case_8___2: /* CIL Label */ ; { if (4UL == 1UL) { goto case_1___3; } else { } if (4UL == 2UL) { goto case_2___3; } else { } if (4UL == 4UL) { goto case_4___3; } else { } if (4UL == 8UL) { goto case_8___3; } else { } goto switch_default___2; case_1___3: /* CIL Label */ __asm__ ("movb %%gs:%P1,%0": "=q" (pfo_ret_____2): "m" (cpu_number)); goto ldv_56837; case_2___3: /* CIL Label */ __asm__ ("movw %%gs:%P1,%0": "=r" (pfo_ret_____2): "m" (cpu_number)); goto ldv_56837; case_4___3: /* CIL Label */ __asm__ ("movl %%gs:%P1,%0": "=r" (pfo_ret_____2): "m" (cpu_number)); goto ldv_56837; case_8___3: /* CIL Label */ __asm__ ("movq %%gs:%P1,%0": "=r" (pfo_ret_____2): "m" (cpu_number)); goto ldv_56837; switch_default___2: /* CIL Label */ { __bad_percpu_size(); } switch_break___3: /* CIL Label */ ; } ldv_56837: pscr_ret__ = pfo_ret_____2; goto ldv_56815; switch_default___3: /* CIL Label */ { __bad_size_call_parameter(); } goto ldv_56815; switch_break: /* CIL Label */ ; } ldv_56815: ddp_pool = (struct ixgbe_fcoe_ddp_pool *)(__ptr + __per_cpu_offset[pscr_ret__]); if ((unsigned long )ddp_pool->pool == (unsigned long )((struct dma_pool *)0)) { if ((int )adapter->msg_enable & 1) { { netdev_warn((struct net_device const *)adapter->netdev, "xid=0x%x no ddp pool for fcoe\n", (int )xid); } } else { } goto out_noddp; } else { } { tmp___2 = dma_map_sg_attrs(& (adapter->pdev)->dev, sgl, (int )sgc, 2, (struct dma_attrs *)0); dmacount = (unsigned int )tmp___2; } if (dmacount == 0U) { if ((int )adapter->msg_enable & 1) { { netdev_err((struct net_device const *)adapter->netdev, "xid 0x%x DMA map error\n", (int )xid); } } else { } goto out_noddp; } else { } { tmp___3 = dma_pool_alloc(ddp_pool->pool, 32U, & ddp->udp); ddp->udl = (u64 *)tmp___3; } if ((unsigned long )ddp->udl == (unsigned long )((u64 *)0ULL)) { if ((int )adapter->msg_enable & 1) { { netdev_err((struct net_device const *)adapter->netdev, "failed allocated ddp context\n"); } } else { } goto out_noddp_unmap; } else { } ddp->pool = ddp_pool->pool; ddp->sgl = sgl; ddp->sgc = sgc; j = 0U; i = 0U; sg = sgl; goto ldv_56858; ldv_56857: addr = sg->dma_address; len = sg->dma_length; goto ldv_56855; ldv_56854: ; if (j > 255U) { ddp_pool->noddp = ddp_pool->noddp + 1ULL; goto out_noddp_free; } else { } thisoff = (unsigned int )addr & 4095U; _min1 = 4096U - thisoff; _min2 = len; thislen = _min1 < _min2 ? _min1 : _min2; if (j != 0U && thisoff != 0U) { goto out_noddp_free; } else { } if ((i != dmacount - 1U || thislen != len) && thislen + thisoff != 4096U) { goto out_noddp_free; } else { } *(ddp->udl + (unsigned long )j) = addr - (dma_addr_t )thisoff; if (j == 0U) { firstoff = thisoff; } else { } len = len - thislen; addr = addr + (dma_addr_t )thislen; j = j + 1U; ldv_56855: ; if (len != 0U) { goto ldv_56854; } else { } { i = i + 1U; sg = sg_next(sg); } ldv_56858: ; if (i < dmacount) { goto ldv_56857; } else { } lastsize = thisoff + thislen; if (lastsize == 4096U) { if (j > 255U) { ddp_pool->noddp_ext_buff = ddp_pool->noddp_ext_buff + 1ULL; goto out_noddp_free; } else { } *(ddp->udl + (unsigned long )j) = fcoe->extra_ddp_buffer_dma; j = j + 1U; lastsize = 1U; } else { } { __asm__ volatile ("": : : "memory"); __preempt_count_sub___0(1); fcbuff = 0U; fcbuff = fcbuff | ((j << 8) & 65535U); fcbuff = fcbuff | (firstoff << 16); } if (target_mode != 0) { fcbuff = fcbuff | 128U; } else { } { fcbuff = fcbuff | 1U; fcdmarw = (u32 )xid; fcdmarw = fcdmarw | 16384U; fcdmarw = fcdmarw | (lastsize << 16); fcfltrw = (u32 )xid; fcfltrw = fcfltrw | 16384U; hw = & adapter->hw; spin_lock_bh(& fcoe->lock); } if (target_mode != 0) { { tmp___4 = constant_test_bit(1L, (unsigned long const volatile *)(& fcoe->mode)); } if (tmp___4 == 0) { { set_bit(1L, (unsigned long volatile *)(& fcoe->mode)); fcrxctl = ixgbe_read_reg(hw, 20736U); fcrxctl = fcrxctl | 8U; ixgbe_write_reg(hw, 20736U, fcrxctl); } } else { } } else { } { ixgbe_write_reg(hw, 9232U, (u32 )ddp->udp); ixgbe_write_reg(hw, 9236U, (u32 )(ddp->udp >> 32)); ixgbe_write_reg(hw, 9240U, fcbuff); ixgbe_write_reg(hw, 9248U, fcdmarw); ixgbe_write_reg(hw, 20952U, 0U); ixgbe_write_reg(hw, 20744U, 1U); ixgbe_write_reg(hw, 20752U, fcfltrw); spin_unlock_bh(& fcoe->lock); } return (1); out_noddp_free: { dma_pool_free(ddp->pool, (void *)ddp->udl, ddp->udp); ixgbe_fcoe_clear_ddp(ddp); } out_noddp_unmap: { dma_unmap_sg_attrs(& (adapter->pdev)->dev, sgl, (int )sgc, 2, (struct dma_attrs *)0); } out_noddp: { __asm__ volatile ("": : : "memory"); __preempt_count_sub___0(1); } return (0); } } int ixgbe_fcoe_ddp_get(struct net_device *netdev , u16 xid , struct scatterlist *sgl , unsigned int sgc ) { int tmp ; { { tmp = ixgbe_fcoe_ddp_setup(netdev, (int )xid, sgl, sgc, 0); } return (tmp); } } int ixgbe_fcoe_ddp_target(struct net_device *netdev , u16 xid , struct scatterlist *sgl , unsigned int sgc ) { int tmp ; { { tmp = ixgbe_fcoe_ddp_setup(netdev, (int )xid, sgl, sgc, 1); } return (tmp); } } int ixgbe_fcoe_ddp(struct ixgbe_adapter *adapter , union ixgbe_adv_rx_desc *rx_desc , struct sk_buff *skb ) { int rc ; struct ixgbe_fcoe *fcoe ; struct ixgbe_fcoe_ddp *ddp ; struct fc_frame_header *fh ; struct fcoe_crc_eof *crc ; __le32 fcerr ; __le32 tmp ; __le32 ddp_err ; u32 fctl ; u16 xid ; struct ethhdr *tmp___0 ; __u16 tmp___1 ; __u16 tmp___2 ; __le32 tmp___3 ; unsigned char *tmp___4 ; { { rc = -22; tmp = ixgbe_test_staterr(rx_desc, 7340032U); fcerr = tmp; } if (fcerr == 1048576U) { skb->ip_summed = 0U; } else { skb->ip_summed = 1U; } { tmp___0 = eth_hdr((struct sk_buff const *)skb); } if ((unsigned int )tmp___0->h_proto == 129U) { fh = (struct fc_frame_header *)skb->data + 18U; } else { fh = (struct fc_frame_header *)skb->data + 14U; } { fctl = ntoh24((u8 const *)(& fh->fh_f_ctl)); } if ((fctl & 8388608U) != 0U) { { tmp___1 = __fswab16((int )fh->fh_ox_id); xid = tmp___1; } } else { { tmp___2 = __fswab16((int )fh->fh_rx_id); xid = tmp___2; } } if ((unsigned int )xid > 511U) { goto ddp_out; } else { } fcoe = & adapter->fcoe; ddp = (struct ixgbe_fcoe_ddp *)(& fcoe->ddp) + (unsigned long )xid; if ((unsigned long )ddp->udl == (unsigned long )((u64 *)0ULL)) { goto ddp_out; } else { } { ddp_err = ixgbe_test_staterr(rx_desc, 2154823680U); } if (ddp_err != 0U) { goto ddp_out; } else { } { tmp___3 = ixgbe_test_staterr(rx_desc, 48U); } { if (tmp___3 == 48U) { goto case_48; } else { } if (tmp___3 == 32U) { goto case_32; } else { } if (tmp___3 == 16U) { goto case_16; } else { } if (tmp___3 == 0U) { goto case_0; } else { } goto switch_default; case_48: /* CIL Label */ ddp->len = (int )rx_desc->wb.lower.hi_dword.rss; rc = 0; goto ldv_56888; case_32: /* CIL Label */ { dma_unmap_sg_attrs(& (adapter->pdev)->dev, ddp->sgl, (int )ddp->sgc, 2, (struct dma_attrs *)0); ddp->err = ddp_err; ddp->sgl = (struct scatterlist *)0; ddp->sgc = 0U; } case_16: /* CIL Label */ ddp->len = (int )rx_desc->wb.lower.hi_dword.rss; if (ddp->len != 0) { rc = ddp->len; } else { } goto ldv_56888; case_0: /* CIL Label */ ; switch_default: /* CIL Label */ ; goto ldv_56888; switch_break: /* CIL Label */ ; } ldv_56888: ; if ((unsigned int )fh->fh_r_ctl == 1U && (fctl & 524288U) != 0U) { { skb_linearize(skb); tmp___4 = skb_put(skb, 8U); crc = (struct fcoe_crc_eof *)tmp___4; crc->fcoe_eof = 66U; } } else { } ddp_out: ; return (rc); } } int ixgbe_fso(struct ixgbe_ring *tx_ring , struct ixgbe_tx_buffer *first , u8 *hdr_len ) { struct sk_buff *skb ; struct fc_frame_header *fh ; u32 vlan_macip_lens ; u32 fcoe_sof_eof ; u32 mss_l4len_idx ; u8 sof ; u8 eof ; unsigned char *tmp ; bool tmp___0 ; unsigned char *tmp___1 ; unsigned char *tmp___2 ; bool tmp___3 ; unsigned char *tmp___4 ; int tmp___5 ; unsigned char *tmp___6 ; unsigned char *tmp___7 ; bool tmp___8 ; unsigned char *tmp___9 ; int tmp___10 ; int tmp___11 ; { { skb = first->skb; fcoe_sof_eof = 0U; tmp___0 = skb_is_gso((struct sk_buff const *)skb); } if ((int )tmp___0) { { tmp___1 = skb_end_pointer((struct sk_buff const *)skb); } if ((unsigned int )((struct skb_shared_info *)tmp___1)->gso_type != 32U) { { tmp = skb_end_pointer((struct sk_buff const *)skb); dev_err((struct device const *)tx_ring->dev, "Wrong gso type %d:expecting SKB_GSO_FCOE\n", (int )((struct skb_shared_info *)tmp)->gso_type); } return (-22); } else { } } else { } { skb_set_network_header(skb, (int const )skb->mac_len); skb_set_transport_header(skb, (int const )((unsigned int )skb->mac_len + 14U)); tmp___2 = skb_network_header((struct sk_buff const *)skb); sof = ((struct fcoe_hdr *)tmp___2)->fcoe_sof; } { if ((int )sof == 45) { goto case_45; } else { } if ((int )sof == 46) { goto case_46; } else { } if ((int )sof == 53) { goto case_53; } else { } if ((int )sof == 54) { goto case_54; } else { } goto switch_default; case_45: /* CIL Label */ fcoe_sof_eof = 32768U; goto ldv_56906; case_46: /* CIL Label */ fcoe_sof_eof = 36864U; goto ldv_56906; case_53: /* CIL Label */ ; goto ldv_56906; case_54: /* CIL Label */ fcoe_sof_eof = 4096U; goto ldv_56906; switch_default: /* CIL Label */ { dev_warn((struct device const *)tx_ring->dev, "unknown sof = 0x%x\n", (int )sof); } return (-22); switch_break: /* CIL Label */ ; } ldv_56906: { skb_copy_bits((struct sk_buff const *)skb, (int )(skb->len - 4U), (void *)(& eof), 1); } { if ((int )eof == 65) { goto case_65; } else { } if ((int )eof == 66) { goto case_66; } else { } if ((int )eof == 73) { goto case_73; } else { } if ((int )eof == 80) { goto case_80; } else { } goto switch_default___0; case_65: /* CIL Label */ fcoe_sof_eof = fcoe_sof_eof; goto ldv_56912; case_66: /* CIL Label */ { tmp___3 = skb_is_gso((struct sk_buff const *)skb); } if ((int )tmp___3) { fcoe_sof_eof = fcoe_sof_eof | 16384U; } else { fcoe_sof_eof = fcoe_sof_eof | 1024U; } goto ldv_56912; case_73: /* CIL Label */ fcoe_sof_eof = fcoe_sof_eof | 2048U; goto ldv_56912; case_80: /* CIL Label */ fcoe_sof_eof = fcoe_sof_eof | 3072U; goto ldv_56912; switch_default___0: /* CIL Label */ { dev_warn((struct device const *)tx_ring->dev, "unknown eof = 0x%x\n", (int )eof); } return (-22); switch_break___0: /* CIL Label */ ; } ldv_56912: { tmp___4 = skb_transport_header((struct sk_buff const *)skb); fh = (struct fc_frame_header *)tmp___4; } if (((int )fh->fh_f_ctl[2] & 8) != 0) { fcoe_sof_eof = fcoe_sof_eof | 8192U; } else { } { *hdr_len = 8U; tmp___8 = skb_is_gso((struct sk_buff const *)skb); } if ((int )tmp___8) { { tmp___5 = skb_transport_offset((struct sk_buff const *)skb); *hdr_len = (unsigned int )((int )*hdr_len + (int )((u8 )tmp___5)) + 24U; tmp___6 = skb_end_pointer((struct sk_buff const *)skb); tmp___7 = skb_end_pointer((struct sk_buff const *)skb); first->gso_segs = (unsigned short )((((skb->len - (unsigned int )*hdr_len) + (unsigned int )((struct skb_shared_info *)tmp___6)->gso_size) - 1U) / (unsigned int )((struct skb_shared_info *)tmp___7)->gso_size); first->bytecount = first->bytecount + (unsigned int )(((int )first->gso_segs + -1) * (int )*hdr_len); first->tx_flags = first->tx_flags | 2U; } } else { } { first->tx_flags = first->tx_flags | 136U; tmp___9 = skb_end_pointer((struct sk_buff const *)skb); mss_l4len_idx = (u32 )((int )((struct skb_shared_info *)tmp___9)->gso_size << 16); tmp___10 = skb_transport_offset((struct sk_buff const *)skb); vlan_macip_lens = (u32 )tmp___10 + 24U; tmp___11 = skb_transport_offset((struct sk_buff const *)skb); vlan_macip_lens = vlan_macip_lens | (u32 )((tmp___11 + -4) << 9); vlan_macip_lens = vlan_macip_lens | (first->tx_flags & 4294901760U); ixgbe_tx_ctxtdesc(tx_ring, vlan_macip_lens, fcoe_sof_eof, 32768U, mss_l4len_idx); } return (0); } } static void ixgbe_fcoe_dma_pool_free(struct ixgbe_fcoe *fcoe , unsigned int cpu ) { struct ixgbe_fcoe_ddp_pool *ddp_pool ; void const *__vpp_verify ; unsigned long __ptr ; { __vpp_verify = (void const *)0; __asm__ ("": "=r" (__ptr): "0" (fcoe->ddp_pool)); ddp_pool = (struct ixgbe_fcoe_ddp_pool *)(__ptr + __per_cpu_offset[cpu]); if ((unsigned long )ddp_pool->pool != (unsigned long )((struct dma_pool *)0)) { { dma_pool_destroy(ddp_pool->pool); } } else { } ddp_pool->pool = (struct dma_pool *)0; return; } } static int ixgbe_fcoe_dma_pool_alloc(struct ixgbe_fcoe *fcoe , struct device *dev , unsigned int cpu ) { struct ixgbe_fcoe_ddp_pool *ddp_pool ; struct dma_pool *pool ; char pool_name[32U] ; void const *__vpp_verify ; unsigned long __ptr ; { { snprintf((char *)(& pool_name), 32UL, "ixgbe_fcoe_ddp_%d", cpu); pool = dma_pool_create((char const *)(& pool_name), dev, 2048UL, 16UL, 4096UL); } if ((unsigned long )pool == (unsigned long )((struct dma_pool *)0)) { return (-12); } else { } __vpp_verify = (void const *)0; __asm__ ("": "=r" (__ptr): "0" (fcoe->ddp_pool)); ddp_pool = (struct ixgbe_fcoe_ddp_pool *)(__ptr + __per_cpu_offset[cpu]); ddp_pool->pool = pool; ddp_pool->noddp = 0ULL; ddp_pool->noddp_ext_buff = 0ULL; return (0); } } void ixgbe_configure_fcoe(struct ixgbe_adapter *adapter ) { struct ixgbe_ring_feature *fcoe ; struct ixgbe_hw *hw ; int i ; int fcoe_q ; int fcoe_i ; u32 etqf ; { fcoe = (struct ixgbe_ring_feature *)(& adapter->ring_feature) + 4UL; hw = & adapter->hw; if (((adapter->netdev)->features & 134217728ULL) == 0ULL) { return; } else { } etqf = 2281736454U; if ((adapter->flags & 8388608U) != 0U) { etqf = etqf | 67108864U; etqf = etqf | (u32 )((int )adapter->ring_feature[1].offset << 20); } else { } { ixgbe_write_reg(hw, 20784U, etqf); ixgbe_write_reg(hw, 60424U, 0U); } if ((adapter->flags & 2097152U) == 0U) { return; } else { } i = 0; goto ldv_56948; ldv_56947: { fcoe_i = (int )fcoe->offset + i % (int )fcoe->indices; fcoe_i = fcoe_i & 127; fcoe_q = (int )(adapter->rx_ring[fcoe_i])->reg_idx; ixgbe_write_reg(hw, (u32 )((i + 15172) * 4), (u32 )fcoe_q); i = i + 1; } ldv_56948: ; if (i <= 7) { goto ldv_56947; } else { } { ixgbe_write_reg(hw, 60672U, 1U); etqf = 2147518740U; } if ((adapter->flags & 8388608U) != 0U) { etqf = etqf | 67108864U; etqf = etqf | (u32 )((int )adapter->ring_feature[1].offset << 20); } else { } { ixgbe_write_reg(hw, 20792U, etqf); fcoe_q = (int )(adapter->rx_ring[(int )fcoe->offset])->reg_idx; ixgbe_write_reg(hw, 60432U, (unsigned int )(fcoe_q << 16) | 2147483648U); ixgbe_write_reg(hw, 20736U, 128U); } return; } } void ixgbe_free_fcoe_ddp_resources(struct ixgbe_adapter *adapter ) { struct ixgbe_fcoe *fcoe ; int cpu ; int i ; unsigned int tmp ; { fcoe = & adapter->fcoe; if ((unsigned long )fcoe->ddp_pool == (unsigned long )((struct ixgbe_fcoe_ddp_pool *)0)) { return; } else { } i = 0; goto ldv_56957; ldv_56956: { ixgbe_fcoe_ddp_put(adapter->netdev, (int )((u16 )i)); i = i + 1; } ldv_56957: ; if (i <= 511) { goto ldv_56956; } else { } cpu = -1; goto ldv_56960; ldv_56959: { ixgbe_fcoe_dma_pool_free(fcoe, (unsigned int )cpu); } ldv_56960: { tmp = cpumask_next(cpu, cpu_possible_mask); cpu = (int )tmp; } if (cpu < nr_cpu_ids) { goto ldv_56959; } else { } { dma_unmap_single_attrs(& (adapter->pdev)->dev, fcoe->extra_ddp_buffer_dma, 4096UL, 2, (struct dma_attrs *)0); kfree((void const *)fcoe->extra_ddp_buffer); fcoe->extra_ddp_buffer = (void *)0; fcoe->extra_ddp_buffer_dma = 0ULL; } return; } } int ixgbe_setup_fcoe_ddp_resources(struct ixgbe_adapter *adapter ) { struct ixgbe_fcoe *fcoe ; struct device *dev ; void *buffer ; dma_addr_t dma ; unsigned int cpu ; int tmp ; int err ; int tmp___0 ; { fcoe = & adapter->fcoe; dev = & (adapter->pdev)->dev; if ((unsigned long )fcoe->ddp_pool == (unsigned long )((struct ixgbe_fcoe_ddp_pool *)0)) { return (0); } else { } { buffer = kmalloc(4096UL, 32U); } if ((unsigned long )buffer == (unsigned long )((void *)0)) { return (-12); } else { } { dma = dma_map_single_attrs(dev, buffer, 4096UL, 2, (struct dma_attrs *)0); tmp = dma_mapping_error(dev, dma); } if (tmp != 0) { if ((int )adapter->msg_enable & 1) { { netdev_err((struct net_device const *)adapter->netdev, "failed to map extra DDP buffer\n"); } } else { } { kfree((void const *)buffer); } return (-12); } else { } fcoe->extra_ddp_buffer = buffer; fcoe->extra_ddp_buffer_dma = dma; cpu = 4294967295U; goto ldv_56971; ldv_56972: { tmp___0 = ixgbe_fcoe_dma_pool_alloc(fcoe, dev, cpu); err = tmp___0; } if (err == 0) { goto ldv_56971; } else { } if ((int )adapter->msg_enable & 1) { { netdev_err((struct net_device const *)adapter->netdev, "failed to alloc DDP pool on cpu:%d\n", cpu); } } else { } { ixgbe_free_fcoe_ddp_resources(adapter); } return (-12); ldv_56971: { cpu = cpumask_next((int )cpu, cpu_possible_mask); } if (cpu < (unsigned int )nr_cpu_ids) { goto ldv_56972; } else { } return (0); } } static int ixgbe_fcoe_ddp_enable(struct ixgbe_adapter *adapter ) { struct ixgbe_fcoe *fcoe ; void *tmp ; { fcoe = & adapter->fcoe; if ((adapter->flags & 1048576U) == 0U) { return (-22); } else { } { tmp = __alloc_percpu(24UL, 8UL); fcoe->ddp_pool = (struct ixgbe_fcoe_ddp_pool *)tmp; } if ((unsigned long )fcoe->ddp_pool == (unsigned long )((struct ixgbe_fcoe_ddp_pool *)0)) { if ((int )adapter->msg_enable & 1) { { netdev_err((struct net_device const *)adapter->netdev, "failed to allocate percpu DDP resources\n"); } } else { } return (-12); } else { } (adapter->netdev)->fcoe_ddp_xid = 511U; return (0); } } static void ixgbe_fcoe_ddp_disable(struct ixgbe_adapter *adapter ) { struct ixgbe_fcoe *fcoe ; { fcoe = & adapter->fcoe; (adapter->netdev)->fcoe_ddp_xid = 0U; if ((unsigned long )fcoe->ddp_pool == (unsigned long )((struct ixgbe_fcoe_ddp_pool *)0)) { return; } else { } { free_percpu((void *)fcoe->ddp_pool); fcoe->ddp_pool = (struct ixgbe_fcoe_ddp_pool *)0; } return; } } int ixgbe_fcoe_enable(struct net_device *netdev ) { struct ixgbe_adapter *adapter ; void *tmp ; struct ixgbe_fcoe *fcoe ; bool tmp___0 ; bool tmp___1 ; { { tmp = netdev_priv((struct net_device const *)netdev); adapter = (struct ixgbe_adapter *)tmp; fcoe = & adapter->fcoe; atomic_inc(& fcoe->refcnt); } if ((adapter->flags & 1048576U) == 0U) { return (-22); } else { } if ((adapter->flags & 2097152U) != 0U) { return (-22); } else { } if ((int )adapter->msg_enable & 1) { { netdev_info((struct net_device const *)adapter->netdev, "Enabling FCoE offload features.\n"); } } else { } if ((adapter->flags & 8388608U) != 0U) { if (((int )adapter->msg_enable & 2) != 0) { { netdev_warn((struct net_device const *)adapter->netdev, "Enabling FCoE on PF will disable legacy VFs\n"); } } else { } } else { } { tmp___0 = netif_running((struct net_device const *)netdev); } if ((int )tmp___0) { { (*((netdev->netdev_ops)->ndo_stop))(netdev); } } else { } { ixgbe_fcoe_ddp_enable(adapter); adapter->flags = adapter->flags | 2097152U; netdev->features = netdev->features | 536870912ULL; netdev_features_change(netdev); ixgbe_clear_interrupt_scheme(adapter); ixgbe_init_interrupt_scheme(adapter); tmp___1 = netif_running((struct net_device const *)netdev); } if ((int )tmp___1) { { (*((netdev->netdev_ops)->ndo_open))(netdev); } } else { } return (0); } } int ixgbe_fcoe_disable(struct net_device *netdev ) { struct ixgbe_adapter *adapter ; void *tmp ; int tmp___0 ; bool tmp___1 ; bool tmp___2 ; { { tmp = netdev_priv((struct net_device const *)netdev); adapter = (struct ixgbe_adapter *)tmp; tmp___0 = atomic_dec_and_test(& adapter->fcoe.refcnt); } if (tmp___0 == 0) { return (-22); } else { } if ((adapter->flags & 2097152U) == 0U) { return (-22); } else { } if ((int )adapter->msg_enable & 1) { { netdev_info((struct net_device const *)adapter->netdev, "Disabling FCoE offload features.\n"); } } else { } { tmp___1 = netif_running((struct net_device const *)netdev); } if ((int )tmp___1) { { (*((netdev->netdev_ops)->ndo_stop))(netdev); } } else { } { ixgbe_fcoe_ddp_disable(adapter); adapter->flags = adapter->flags & 4292870143U; netdev->features = netdev->features & 0xffffffffdfffffffULL; netdev_features_change(netdev); ixgbe_clear_interrupt_scheme(adapter); ixgbe_init_interrupt_scheme(adapter); tmp___2 = netif_running((struct net_device const *)netdev); } if ((int )tmp___2) { { (*((netdev->netdev_ops)->ndo_open))(netdev); } } else { } return (0); } } int ixgbe_fcoe_get_wwn(struct net_device *netdev , u64 *wwn , int type ) { int rc ; u16 prefix ; struct ixgbe_adapter *adapter ; void *tmp ; struct ixgbe_mac_info *mac ; bool tmp___0 ; { { rc = -22; prefix = 65535U; tmp = netdev_priv((struct net_device const *)netdev); adapter = (struct ixgbe_adapter *)tmp; mac = & adapter->hw.mac; } { if (type == 0) { goto case_0; } else { } if (type == 1) { goto case_1; } else { } goto switch_default; case_0: /* CIL Label */ prefix = mac->wwnn_prefix; goto ldv_57001; case_1: /* CIL Label */ prefix = mac->wwpn_prefix; goto ldv_57001; switch_default: /* CIL Label */ ; goto ldv_57001; switch_break: /* CIL Label */ ; } ldv_57001: ; if ((unsigned int )prefix != 65535U) { { tmp___0 = is_valid_ether_addr((u8 const *)(& mac->san_addr)); } if ((int )tmp___0) { *wwn = (((((((unsigned long long )prefix << 48) | ((unsigned long long )mac->san_addr[0] << 40)) | ((unsigned long long )mac->san_addr[1] << 32)) | ((unsigned long long )mac->san_addr[2] << 24)) | ((unsigned long long )mac->san_addr[3] << 16)) | ((unsigned long long )mac->san_addr[4] << 8)) | (unsigned long long )mac->san_addr[5]; rc = 0; } else { } } else { } return (rc); } } int ixgbe_fcoe_get_hbainfo(struct net_device *netdev , struct netdev_fcoe_hbainfo *info ) { struct ixgbe_adapter *adapter ; void *tmp ; struct ixgbe_hw *hw ; int i ; int pos ; u8 buf[8U] ; { { tmp = netdev_priv((struct net_device const *)netdev); adapter = (struct ixgbe_adapter *)tmp; hw = & adapter->hw; } if ((unsigned long )info == (unsigned long )((struct netdev_fcoe_hbainfo *)0)) { return (-22); } else { } if ((unsigned int )hw->mac.type - 2U > 1U) { return (-22); } else { } { snprintf((char *)(& info->manufacturer), 64UL, "Intel Corporation"); pos = pci_find_ext_capability(adapter->pdev, 3); } if (pos != 0) { pos = pos + 4; i = 0; goto ldv_57014; ldv_57013: { pci_read_config_byte((struct pci_dev const *)adapter->pdev, pos + i, (u8 *)(& buf) + (unsigned long )i); i = i + 1; } ldv_57014: ; if (i <= 7) { goto ldv_57013; } else { } { snprintf((char *)(& info->serial_number), 64UL, "%02X%02X%02X%02X%02X%02X%02X%02X", (int )buf[7], (int )buf[6], (int )buf[5], (int )buf[4], (int )buf[3], (int )buf[2], (int )buf[1], (int )buf[0]); } } else { { snprintf((char *)(& info->serial_number), 64UL, "Unknown"); } } { snprintf((char *)(& info->hardware_version), 64UL, "Rev %d", (int )hw->revision_id); snprintf((char *)(& info->driver_version), 64UL, "%s v%s", (char *)(& ixgbe_driver_name), (char const *)(& ixgbe_driver_version)); snprintf((char *)(& info->firmware_version), 64UL, "0x%08x", ((int )adapter->eeprom_verh << 16) | (int )adapter->eeprom_verl); } if ((unsigned int )hw->mac.type == 2U) { { snprintf((char *)(& info->model), 256UL, "Intel 82599"); } } else { { snprintf((char *)(& info->model), 256UL, "Intel X540"); } } { snprintf((char *)(& info->model_description), 256UL, "%s", (char *)(& ixgbe_default_device_descr)); } return (0); } } u8 ixgbe_fcoe_get_tc(struct ixgbe_adapter *adapter ) { int tmp ; { { tmp = netdev_get_prio_tc_map((struct net_device const *)adapter->netdev, (u32 )adapter->fcoe.up); } return ((u8 )tmp); } } __inline static int atomic_dec_and_test(atomic_t *v ) { int tmp ; { { tmp = ldv_atomic_dec_and_test(v); } return (tmp); } } void ldv_atomic_add(int i , atomic_t *v ) { { v->counter = v->counter + i; return; } } void ldv_atomic_sub(int i , atomic_t *v ) { { v->counter = v->counter - i; return; } } int ldv_atomic_sub_and_test(int i , atomic_t *v ) { { v->counter = v->counter - i; if (v->counter != 0) { return (0); } else { } return (1); } } void ldv_atomic_inc(atomic_t *v ) { { v->counter = v->counter + 1; return; } } void ldv_atomic_dec(atomic_t *v ) { { v->counter = v->counter - 1; return; } } int ldv_atomic_dec_and_test(atomic_t *v ) { { v->counter = v->counter - 1; if (v->counter != 0) { return (0); } else { } return (1); } } int ldv_atomic_inc_and_test(atomic_t *v ) { { v->counter = v->counter + 1; if (v->counter != 0) { return (0); } else { } return (1); } } int ldv_atomic_add_return(int i , atomic_t *v ) { { v->counter = v->counter + i; return (v->counter); } } int ldv_atomic_add_negative(int i , atomic_t *v ) { { v->counter = v->counter + i; return (v->counter < 0); } } int ldv_atomic_inc_short(short *v ) { { *v = (short )((unsigned int )((unsigned short )*v) + 1U); return ((int )*v); } } void *ldv_xzalloc(size_t size ) ; void *ldv_dev_get_drvdata(struct device const *dev ) { { if ((unsigned long )dev != (unsigned long )((struct device const *)0) && (unsigned long )dev->p != (unsigned long )((struct device_private */* const */)0)) { return ((dev->p)->driver_data); } else { } return ((void *)0); } } int ldv_dev_set_drvdata(struct device *dev , void *data ) { void *tmp ; { { tmp = ldv_xzalloc(8UL); dev->p = (struct device_private *)tmp; (dev->p)->driver_data = data; } return (0); } } void *ldv_zalloc(size_t size ) ; struct spi_master *ldv_spi_alloc_master(struct device *host , unsigned int size ) { struct spi_master *master ; void *tmp ; { { tmp = ldv_zalloc((unsigned long )size + 2200UL); master = (struct spi_master *)tmp; } if ((unsigned long )master == (unsigned long )((struct spi_master *)0)) { return ((struct spi_master *)0); } else { } { ldv_dev_set_drvdata(& master->dev, (void *)master + 1U); } return (master); } } long ldv_is_err(void const *ptr ) { { return ((unsigned long )ptr > 4294967295UL); } } void *ldv_err_ptr(long error ) { { return ((void *)(4294967295L - error)); } } long ldv_ptr_err(void const *ptr ) { { return ((long )(4294967295UL - (unsigned long )ptr)); } } long ldv_is_err_or_null(void const *ptr ) { long tmp ; int tmp___0 ; { if ((unsigned long )ptr == (unsigned long )((void const *)0)) { tmp___0 = 1; } else { { tmp = ldv_is_err(ptr); } if (tmp != 0L) { tmp___0 = 1; } else { tmp___0 = 0; } } return ((long )tmp___0); } } static int ldv_filter_positive_int(int val ) { { { ldv_assume(val <= 0); } return (val); } } int ldv_post_init(int init_ret_val ) { int tmp ; { { tmp = ldv_filter_positive_int(init_ret_val); } return (tmp); } } int ldv_post_probe(int probe_ret_val ) { int tmp ; { { tmp = ldv_filter_positive_int(probe_ret_val); } return (tmp); } } int ldv_filter_err_code(int ret_val ) { int tmp ; { { tmp = ldv_filter_positive_int(ret_val); } return (tmp); } } extern void ldv_check_alloc_flags(gfp_t ) ; extern void ldv_after_alloc(void * ) ; void *ldv_kzalloc(size_t size , gfp_t flags ) { void *res ; { { ldv_check_alloc_flags(flags); res = ldv_zalloc(size); ldv_after_alloc(res); } return (res); } } void ldv_assert_linux_usb_dev__less_initial_decrement(int expr ) ; void ldv_assert_linux_usb_dev__more_initial_at_exit(int expr ) ; void ldv_assert_linux_usb_dev__probe_failed(int expr ) ; void ldv_assert_linux_usb_dev__unincremented_counter_decrement(int expr ) ; ldv_map LDV_USB_DEV_REF_COUNTS ; struct usb_device *ldv_usb_get_dev(struct usb_device *dev ) { { if ((unsigned long )dev != (unsigned long )((struct usb_device *)0)) { LDV_USB_DEV_REF_COUNTS = LDV_USB_DEV_REF_COUNTS != 0 ? LDV_USB_DEV_REF_COUNTS + 1 : 1; } else { } return (dev); } } void ldv_usb_put_dev(struct usb_device *dev ) { { if ((unsigned long )dev != (unsigned long )((struct usb_device *)0)) { { ldv_assert_linux_usb_dev__unincremented_counter_decrement(LDV_USB_DEV_REF_COUNTS != 0); ldv_assert_linux_usb_dev__less_initial_decrement(LDV_USB_DEV_REF_COUNTS > 0); } if (LDV_USB_DEV_REF_COUNTS > 1) { LDV_USB_DEV_REF_COUNTS = LDV_USB_DEV_REF_COUNTS + -1; } else { LDV_USB_DEV_REF_COUNTS = 0; } } else { } return; } } void ldv_check_return_value_probe(int retval ) { { if (retval != 0) { { ldv_assert_linux_usb_dev__probe_failed(LDV_USB_DEV_REF_COUNTS == 0); } } else { } return; } } void ldv_initialize(void) { { LDV_USB_DEV_REF_COUNTS = 0; return; } } void ldv_check_final_state(void) { { { ldv_assert_linux_usb_dev__more_initial_at_exit(LDV_USB_DEV_REF_COUNTS == 0); } return; } } extern void ldv_assert(char const * , int ) ; void ldv__builtin_trap(void) ; void ldv_assume(int expression ) { { if (expression == 0) { ldv_assume_label: ; goto ldv_assume_label; } else { } return; } } void ldv_stop(void) { { ldv_stop_label: ; goto ldv_stop_label; } } long ldv__builtin_expect(long exp , long c ) { { return (exp); } } void ldv__builtin_trap(void) { { { ldv_assert("", 0); } return; } } void *ldv_malloc(size_t size ) ; void *ldv_calloc(size_t nmemb , size_t size ) ; void *ldv_malloc_unknown_size(void) ; void *ldv_calloc_unknown_size(void) ; void *ldv_zalloc_unknown_size(void) ; void *ldv_xmalloc_unknown_size(size_t size ) ; extern void *malloc(size_t ) ; extern void *calloc(size_t , size_t ) ; extern void free(void * ) ; void *ldv_malloc(size_t size ) { void *res ; void *tmp ; long tmp___0 ; int tmp___1 ; { { tmp___1 = ldv_undef_int(); } if (tmp___1 != 0) { { tmp = malloc(size); res = tmp; ldv_assume((unsigned long )res != (unsigned long )((void *)0)); tmp___0 = ldv_is_err((void const *)res); ldv_assume(tmp___0 == 0L); } return (res); } else { return ((void *)0); } } } void *ldv_calloc(size_t nmemb , size_t size ) { void *res ; void *tmp ; long tmp___0 ; int tmp___1 ; { { tmp___1 = ldv_undef_int(); } if (tmp___1 != 0) { { tmp = calloc(nmemb, size); res = tmp; ldv_assume((unsigned long )res != (unsigned long )((void *)0)); tmp___0 = ldv_is_err((void const *)res); ldv_assume(tmp___0 == 0L); } return (res); } else { return ((void *)0); } } } void *ldv_zalloc(size_t size ) { void *tmp ; { { tmp = ldv_calloc(1UL, size); } return (tmp); } } void ldv_free(void *s ) { { { free(s); } return; } } void *ldv_xmalloc(size_t size ) { void *res ; void *tmp ; long tmp___0 ; { { tmp = malloc(size); res = tmp; ldv_assume((unsigned long )res != (unsigned long )((void *)0)); tmp___0 = ldv_is_err((void const *)res); ldv_assume(tmp___0 == 0L); } return (res); } } void *ldv_xzalloc(size_t size ) { void *res ; void *tmp ; long tmp___0 ; { { tmp = calloc(1UL, size); res = tmp; ldv_assume((unsigned long )res != (unsigned long )((void *)0)); tmp___0 = ldv_is_err((void const *)res); ldv_assume(tmp___0 == 0L); } return (res); } } void *ldv_malloc_unknown_size(void) { void *res ; void *tmp ; long tmp___0 ; int tmp___1 ; { { tmp___1 = ldv_undef_int(); } if (tmp___1 != 0) { { tmp = external_allocated_data(); res = tmp; ldv_assume((unsigned long )res != (unsigned long )((void *)0)); tmp___0 = ldv_is_err((void const *)res); ldv_assume(tmp___0 == 0L); } return (res); } else { return ((void *)0); } } } void *ldv_calloc_unknown_size(void) { void *res ; void *tmp ; long tmp___0 ; int tmp___1 ; { { tmp___1 = ldv_undef_int(); } if (tmp___1 != 0) { { tmp = external_allocated_data(); res = tmp; memset(res, 0, 8UL); ldv_assume((unsigned long )res != (unsigned long )((void *)0)); tmp___0 = ldv_is_err((void const *)res); ldv_assume(tmp___0 == 0L); } return (res); } else { return ((void *)0); } } } void *ldv_zalloc_unknown_size(void) { void *tmp ; { { tmp = ldv_calloc_unknown_size(); } return (tmp); } } void *ldv_xmalloc_unknown_size(size_t size ) { void *res ; void *tmp ; long tmp___0 ; { { tmp = external_allocated_data(); res = tmp; ldv_assume((unsigned long )res != (unsigned long )((void *)0)); tmp___0 = ldv_is_err((void const *)res); ldv_assume(tmp___0 == 0L); } return (res); } } void *ldv_undef_ptr(void) ; unsigned long ldv_undef_ulong(void) ; int ldv_undef_int_negative(void) ; int ldv_undef_int_nonpositive(void) ; extern int __VERIFIER_nondet_int(void) ; extern unsigned long __VERIFIER_nondet_ulong(void) ; extern void *__VERIFIER_nondet_pointer(void) ; int ldv_undef_int(void) { int tmp ; { { tmp = __VERIFIER_nondet_int(); } return (tmp); } } void *ldv_undef_ptr(void) { void *tmp ; { { tmp = __VERIFIER_nondet_pointer(); } return (tmp); } } unsigned long ldv_undef_ulong(void) { unsigned long tmp ; { { tmp = __VERIFIER_nondet_ulong(); } return (tmp); } } int ldv_undef_int_negative(void) { int ret ; int tmp ; { { tmp = ldv_undef_int(); ret = tmp; ldv_assume(ret < 0); } return (ret); } } int ldv_undef_int_nonpositive(void) { int ret ; int tmp ; { { tmp = ldv_undef_int(); ret = tmp; ldv_assume(ret <= 0); } return (ret); } } int ldv_thread_create(struct ldv_thread *ldv_thread , void (*function)(void * ) , void *data ) ; int ldv_thread_create_N(struct ldv_thread_set *ldv_thread_set , void (*function)(void * ) , void *data ) ; int ldv_thread_join(struct ldv_thread *ldv_thread , void (*function)(void * ) ) ; int ldv_thread_join_N(struct ldv_thread_set *ldv_thread_set , void (*function)(void * ) ) ; int ldv_thread_create(struct ldv_thread *ldv_thread , void (*function)(void * ) , void *data ) { { if ((unsigned long )function != (unsigned long )((void (*)(void * ))0)) { { (*function)(data); } } else { } return (0); } } int ldv_thread_create_N(struct ldv_thread_set *ldv_thread_set , void (*function)(void * ) , void *data ) { int i ; { if ((unsigned long )function != (unsigned long )((void (*)(void * ))0)) { i = 0; goto ldv_1179; ldv_1178: { (*function)(data); i = i + 1; } ldv_1179: ; if (i < ldv_thread_set->number) { goto ldv_1178; } else { } } else { } return (0); } } int ldv_thread_join(struct ldv_thread *ldv_thread , void (*function)(void * ) ) { { return (0); } } int ldv_thread_join_N(struct ldv_thread_set *ldv_thread_set , void (*function)(void * ) ) { { return (0); } } extern void __VERIFIER_error(void) ; void ldv_assert_linux_usb_dev__less_initial_decrement(int expr ) { { if (! expr) { { __VERIFIER_error(); } } else { } return; } } void ldv_assert_linux_usb_dev__more_initial_at_exit(int expr ) { { if (! expr) { { __VERIFIER_error(); } } else { } return; } } void ldv_assert_linux_usb_dev__probe_failed(int expr ) { { if (! expr) { { __VERIFIER_error(); } } else { } return; } } void ldv_assert_linux_usb_dev__unincremented_counter_decrement(int expr ) { { if (! expr) { { __VERIFIER_error(); } } else { } return; } }