~ubuntu-branches/ubuntu/raring/linux-ppc/raring-proposed

« back to all changes in this revision

Viewing changes to drivers/net/ethernet/emulex/benet/be_cmds.h

  • Committer: Package Import Robot
  • Author(s): Ben Collins, Ubuntu: 3.8.0-25.37, Ubuntu: 3.8.0-24.35, Ubuntu: 3.8.0-23.34
  • Date: 2013-06-10 02:52:27 UTC
  • Revision ID: package-import@ubuntu.com-20130610025227-vmiajc1oo9vt1w29
Tags: 3.8.0-11.17
* Release Tracking Bug
  - LP: #1188462

[ Ubuntu: 3.8.0-25.37 ]

* Release Tracking Bug
  - LP: #1187857
* iwlwifi: dvm: fix zero LQ CMD sending avoidance
  - LP: #1186932

[ Ubuntu: 3.8.0-24.35 ]

* Release Tracking Bug
  - LP: #1186236
* SAUCE: uvcvideo: quirk PROBE_DEF for Alienware X51 OmniVision webcam
  - LP: #1180409
* drm/i915: Use MLC (l3$) for context objects
* xhci: Don't warn on empty ring for suspended devices.
  - LP: #1177865
* USB: serial: option: Added support Olivetti Olicard 145
  - LP: #1178361
* USB: option: add a D-Link DWM-156 variant
  - LP: #1178361
* staging: zsmalloc: Fix link error on ARM
  - LP: #1178361
* ARM: omap3: cpuidle: enable time keeping
  - LP: #1178361
* ARM: u300: fix ages old copy/paste bug
  - LP: #1178361
* ARM: at91/at91sam9260.dtsi: fix u(s)art pinctrl encoding
  - LP: #1178361
* ARM: at91: remove partial parameter in bootargs for at91sam9x5ek.dtsi
  - LP: #1178361
* ARM: at91: Fix typo in restart code panic message
  - LP: #1178361
* ARM: at91/trivial: fix model name for SAM9G15-EK
  - LP: #1178361
* ARM: at91/trivial: typos in compatible property
  - LP: #1178361
* powerpc: Add isync to copy_and_flush
  - LP: #1178361
* powerpc: Fix hardware IRQs with MMU on exceptions when HV=0
  - LP: #1178361
* powerpc/power8: Fix secondary CPUs hanging on boot for HV=0
  - LP: #1178361
* powerpc/spufs: Initialise inode->i_ino in spufs_new_inode()
  - LP: #1178361
* iwlwifi: fix freeing uninitialized pointer
  - LP: #1178361
* iwlwifi: dvm: don't send zeroed LQ cmd
  - LP: #1178361
* mwifiex: Use pci_release_region() instead of a pci_release_regions()
  - LP: #1178361
* mwifiex: Call pci_release_region after calling pci_disable_device
  - LP: #1178361
* mac80211: fix station entry leak/warning while suspending
  - LP: #1178361
* usb/misc/appledisplay: Add 24" LED Cinema display
  - LP: #1178361
* USB: add ftdi_sio USB ID for GDM Boost V1.x
  - LP: #1178361
* USB: ftdi_sio: correct ST Micro Connect Lite PIDs
  - LP: #1178361
* USB: ftdi_sio: enable two UART ports on ST Microconnect Lite
  - LP: #1178361
* usbfs: Always allow ctrl requests with USB_RECIP_ENDPOINT on the ctrl
  ep
  - LP: #1178361
* usb: chipidea: udc: fix memory access of shared memory on armv5
  machines
  - LP: #1178361
* usb: chipidea: udc: fix memory leak in _ep_nuke
  - LP: #1178361
* usb: remove redundant tdi_reset
  - LP: #1178361
* usb-storage: CY7C68300A chips do not support Cypress ATACB
  - LP: #1178361
* s390/memory hotplug: prevent offline of active memory increments
  - LP: #1178361
* xen/time: Fix kasprintf splat when allocating timer%d IRQ line.
  - LP: #1178361
* xen/smp: Fix leakage of timer interrupt line for every CPU
  online/offline.
  - LP: #1178361
* xen/smp/spinlock: Fix leakage of the spinlock interrupt line for every
  CPU online/offline
  - LP: #1178361
* serial_core.c: add put_device() after device_find_child()
  - LP: #1178361
* arm: set the page table freeing ceiling to TASK_SIZE
  - LP: #1178361
* gianfar: do not advertise any alarm capability.
  - LP: #1178361
* tty: fix up atime/mtime mess, take three
  - LP: #1178361
* fbcon: when font is freed, clear also vc_font.data
  - LP: #1178361
* tracing: Use stack of calling function for stack tracer
  - LP: #1178361
* tracing: Fix stack tracer with fentry use
  - LP: #1178361
* tracing: Remove most or all of stack tracer stack size from
  stack_max_size
  - LP: #1178361
* tracing: Fix off-by-one on allocating stat->pages
  - LP: #1178361
* tracing: Check return value of tracing_init_dentry()
  - LP: #1178361
* tracing: Reset ftrace_graph_filter_enabled if count is zero
  - LP: #1178361
* i2c: xiic: must always write 16-bit words to TX_FIFO
  - LP: #1178361
* crypto: crc32-pclmul - Use gas macro for pclmulqdq
  - LP: #1178361
* sysfs: fix use after free in case of concurrent read/write and readdir
  - LP: #1178361
* Fix initialization of CMCI/CMCP interrupts
  - LP: #1178361
* PCI / ACPI: Don't query OSC support with all possible controls
  - LP: #1178361
* PCI/PM: Fix fallback to PCI_D0 in pci_platform_power_transition()
  - LP: #1178361
* rt2x00: Fix transmit power troubles on some Ralink RT30xx cards
  - LP: #1178361
* Wrong asm register contraints in the futex implementation
  - LP: #1178361
* Wrong asm register contraints in the kvm implementation
  - LP: #1178361
* fs/fscache/stats.c: fix memory leak
  - LP: #1178361
* mm: allow arch code to control the user page table ceiling
  - LP: #1178361
* TPM: Retry SaveState command in suspend path
  - LP: #1178361
* ALSA: emu10k1: Fix dock firmware loading
  - LP: #1178361
* ALSA: snd-usb: try harder to find USB_DT_CS_ENDPOINT
  - LP: #1178361
* ALSA: usb: Add quirk for 192KHz recording on E-Mu devices
  - LP: #1178361
* ALSA: usb-audio: disable autopm for MIDI devices
  - LP: #1178361
* ALSA: usb-audio: Fix autopm error during probing
  - LP: #1178361
* ALSA: USB: adjust for changed 3.8 USB API
  - LP: #1178361
* ALSA: hda - Add the support for ALC286 codec
  - LP: #1178361
* ASoC: max98088: Fix logging of hardware revision.
  - LP: #1178361
* hrtimer: Fix ktime_add_ns() overflow on 32bit architectures
  - LP: #1178361
* hrtimer: Add expiry time overflow check in hrtimer_interrupt
  - LP: #1178361
* swap: redirty page if page write fails on swap file
  - LP: #1178361
* mm: swap: mark swap pages writeback before queueing for direct IO
  - LP: #1178361
* drivers/rtc/rtc-cmos.c: don't disable hpet emulation on suspend
  - LP: #1178361
* libata: acpi: make ata_ap_acpi_handle not block
  - LP: #1178361
* ACPI: Fix wrong parameter passed to memblock_reserve
  - LP: #1178361
* ACPI / thermal: do not always return THERMAL_TREND_RAISING for active
  trip points
  - LP: #1178361
* cgroup: fix an off-by-one bug which may trigger BUG_ON()
  - LP: #1178361
* cgroup: fix broken file xattrs
  - LP: #1178361
* localmodconfig: Process source kconfig files as they are found
  - LP: #1178361
* clockevents: Set dummy handler on CPU_DEAD shutdown
  - LP: #1178361
* sata_highbank: Rename proc_name to the module name
  - LP: #1178361
* inotify: invalid mask should return a error number but not set it
  - LP: #1178361
* fs/dcache.c: add cond_resched() to shrink_dcache_parent()
  - LP: #1178361
* exec: do not abuse ->cred_guard_mutex in threadgroup_lock()
  - LP: #1178361
* LOCKD: Ensure that nlmclnt_block resets block->b_status after a server
  reboot
  - LP: #1178361
* md: bad block list should default to disabled.
  - LP: #1178361
* MD: ignore discard request for hard disks of hybid raid1/raid10 array
  - LP: #1178361
* NFSv4: Handle NFS4ERR_DELAY and NFS4ERR_GRACE in
  nfs4_open_delegation_recall
  - LP: #1178361
* nfsd4: don't close read-write opens too soon
  - LP: #1178361
* nfsd: don't run get_file if nfs4_preprocess_stateid_op return error
  - LP: #1178361
* nfsd: Decode and send 64bit time values
  - LP: #1178361
* wireless: regulatory: fix channel disabling race condition
  - LP: #1178361
* ipc: sysv shared memory limited to 8TiB
  - LP: #1178361
* ixgbe: fix EICR write in ixgbe_msix_other
  - LP: #1178361
* ext4/jbd2: don't wait (forever) for stale tid caused by wraparound
  - LP: #1178361
* jbd2: fix race between jbd2_journal_remove_checkpoint and
  ->j_commit_callback
  - LP: #1178361
* ext4: fix journal callback list traversal
  - LP: #1178361
* ext4: fix big-endian bug in metadata checksum calculations
  - LP: #1178361
* ext4: fix online resizing for ext3-compat file systems
  - LP: #1178361
* ext4: fix Kconfig documentation for CONFIG_EXT4_DEBUG
  - LP: #1178361
* mmc: at91/avr32/atmel-mci: fix DMA-channel leak on module unload
  - LP: #1178361
* Give the OID registry file module info to avoid kernel tainting
  - LP: #1178361
* KVM: X86 emulator: fix source operand decoding for 8bit mov[zs]x
  instructions
  - LP: #1178361
* x86: Eliminate irq_mis_count counted in arch_irq_stat
  - LP: #1178361
* mmc: core: Fix bit width test failing on old eMMC cards
  - LP: #1178361
* mmc: atmel-mci: pio hang on block errors
  - LP: #1178361
* rcutrace: single_open() leaks
  - LP: #1178361
* mfd: adp5520: Restore mode bits on resume
  - LP: #1178361
* Linux 3.8.12
  - LP: #1178361
* xen/arm: actually pass a non-NULL percpu pointer to request_percpu_irq
  - LP: #1179514
* powerpc: Emulate non privileged DSCR read and write
  - LP: #1179514
* powerpc: fix numa distance for form0 device tree
  - LP: #1179514
* pwm: spear: Fix checking return value of clk_enable() and clk_prepare()
  - LP: #1179514
* autofs - remove autofs dentry mount check
  - LP: #1179514
* hugetlbfs: fix mmap failure in unaligned size request
  - LP: #1179514
* iommu/amd: Properly initialize irq-table lock
  - LP: #1179514
* net/eth/ibmveth: Fixup retrieval of MAC address
  - LP: #1179514
* perf/x86/intel: Add support for IvyBridge model 58 Uncore
  - LP: #1179514
* perf/x86/intel: Fix unintended variable name reuse
  - LP: #1179514
* perf/x86/intel/lbr: Fix LBR filter
  - LP: #1179514
* perf/x86/intel/lbr: Demand proper privileges for
  PERF_SAMPLE_BRANCH_KERNEL
  - LP: #1179514
* PCI/PM: Clear state_saved during suspend
  - LP: #1179514
* e1000e: fix runtime power management transitions
  - LP: #1179514
* e1000e: fix accessing to suspended device
  - LP: #1179514
* ipvs: ip_vs_sip_fill_param() BUG: bad check of return value
  - LP: #1179514
* netfilter: nf_nat: fix race when unloading protocol modules
  - LP: #1179514
* netfilter: ipset: list:set: fix reference counter update
  - LP: #1179514
* netfilter: nf_ct_sip: don't drop packets with offsets pointing outside
  the packet
  - LP: #1179514
* netfilter: ipset: "Directory not empty" error message
  - LP: #1179514
* netfilter: nf_ct_helper: don't discard helper if it is actually the
  same
  - LP: #1179514
* netfilter: ctnetlink: don't permit ct creation with random tuple
  - LP: #1179514
* netfilter: xt_rpfilter: skip locally generated broadcast/multicast, too
  - LP: #1179514
* netfilter: ip6t_NPT: Fix translation for non-multiple of 32 prefix
  lengths
  - LP: #1179514
* ext4: add check for inodes_count overflow in new resize ioctl
  - LP: #1179514
* r8169: fix 8168evl frame padding.
  - LP: #1179514
* RDMA/cxgb4: Fix SQ allocation when on-chip SQ is disabled
  - LP: #1179514
* arm64: Ignore the 'write' ESR flag on cache maintenance faults
  - LP: #1179514
* block: fix max discard sectors limit
  - LP: #1179514
* drm/cirrus: deal with bo reserve fail in dirty update path
  - LP: #1179514
* drm/mgag200: deal with bo reserve fail in dirty update path
  - LP: #1179514
* drm/gma500: fix backlight hotkeys behaviour on netbooks
  - LP: #1179514
* drm/prime: keep a reference from the handle to exported dma-buf (v6)
  - LP: #1179514
* drm/ast: deal with bo reserve fail in dirty update path
  - LP: #1179514
* drm/i915: Fix detection of base of stolen memory
  - LP: #1179514
* drm/i915: Fix sdvo connector get_hw_state function
  - LP: #1179514
* drm/i915: Add no-lvds quirk for Fujitsu Esprimo Q900
  - LP: #1179514
* drm/i915: Fix SDVO connector and encoder get_hw_state functions
  - LP: #1179514
* drm/i915: Workaround incoherence between fences and LLC across multiple
  CPUs
  - LP: #1179514
* drm/i915: set CPT FDI RX polarity bits based on VBT
  - LP: #1179514
* drm/i915: ensure single initialization and cleanup of backlight device
  - LP: #1179514
* drm/i915: Fixup Oops in the pipe config computation
  - LP: #1179514
* drm/i915: Fall back to bit banging mode for DVO transmitter detection
  - LP: #1179514
* drm/radeon: don't use get_engine_clock() on APUs
  - LP: #1179514
* drm/radeon: use frac fb div on RS780/RS880
  - LP: #1179514
* drm/radeon: fix typo in rv515_mc_resume()
  - LP: #1179514
* drm/radeon/dce6: add missing display reg for tiling setup
  - LP: #1179514
* drm/radeon: update wait_for_vblank for r5xx-r7xx
  - LP: #1179514
* drm/radeon: update wait_for_vblank for evergreen+
  - LP: #1179514
* drm/radeon: properly lock disp in mc_stop/resume for evergreen+
  - LP: #1179514
* drm/radeon: properly lock disp in mc_stop/resume for r5xx-r7xx
  - LP: #1179514
* drm/radeon: update wait_for_vblank for r1xx-r4xx
  - LP: #1179514
* drm/radeon: disable the crtcs in mc_stop (evergreen+) (v2)
  - LP: #1179514
* drm/radeon: add some new SI PCI ids
  - LP: #1179514
* drm/radeon/evergreen+: don't enable HPD interrupts on eDP/LVDS
  - LP: #1179514
* drm/radeon: cleanup properly if mmio mapping fails
  - LP: #1179514
* drm/radeon: fix hdmi mode enable on RS600/RS690/RS740
  - LP: #1179514
* drm/radeon: fix typo in si_select_se_sh()
  - LP: #1179514
* drm/radeon: Always flush the VM
  - LP: #1179514
* drm/radeon: disable the crtcs in mc_stop (r5xx-r7xx) (v2)
  - LP: #1179514
* drm/radeon: fix endian bugs in atom_allocate_fb_scratch()
  - LP: #1179514
* drm/radeon: fix possible segfault when parsing pm tables
  - LP: #1179514
* drm/radeon: add new richland pci ids
  - LP: #1179514
* drm/radeon: fix handling of v6 power tables
  - LP: #1179514
* tracing: Fix ftrace_dump()
  - LP: #1179514
* Btrfs: compare relevant parts of delayed tree refs
  - LP: #1179514
* Btrfs: fix extent logging with O_DIRECT into prealloc
  - LP: #1179514
* EDAC: Don't give write permission to read-only files
  - LP: #1179514
* NFSv4.x: Fix handling of partially delegated locks
  - LP: #1179514
* kernel/audit_tree.c: tree will leak memory when failure occurs in
  audit_trim_trees()
  - LP: #1179514
* x86/mm: account for PGDIR_SIZE alignment
  - LP: #1179514
* Linux 3.8.13
  - LP: #1179514
* iwlwifi: add new pci id for 6x35 series
  - LP: #1180256
* be2net: fix re-loaded PF driver to re-gain control of its VFs
  - LP: #1180217
* be2net: update driver version to 4.6.x
  - LP: #1180217
* be2net: remove BUG_ON() in be_mcc_compl_is_new()
  - LP: #1180217
* benet: Wait f/w POST until timeout
  - LP: #1180217
* be2net: use CSR-BAR SEMAPHORE reg for BE2/BE3
  - LP: #1180217
* be2net: Update copyright year
  - LP: #1180217
* be2net: enable interrupts in be_probe() (RoCE and other ULPs need them)
  - LP: #1180217
* be2net: Use new F/W mailbox cmd to manipulate interrupts.
  - LP: #1180217
* be2net: remove unused variable 'sge'
  - LP: #1180217
* be2net: take care of __vlan_put_tag return value
  - LP: #1180217
* be2net: Use TXQ_CREATE_V2 cmd
  - LP: #1180217
* be2net: Don't log "Out of MCCQ wrbs" error
  - LP: #1180217
* be2net: Avoid flashing BE3 UFI on BE3-R chip.
  - LP: #1180217
* be2net: Use GET_PROFILE_CONFIG V1 cmd for BE3-R
  - LP: #1180217
* be2net: enable IOMMU pass through for be2net
  - LP: #1180217
* be2net: Add support for setting and getting rx flow hash options
  - LP: #1180217
* be2net: Renamed rx_address_mismatch_errors to rx_address_filtered
  - LP: #1180217
* be2net: Avoid diagnostic test in certain versions of firmware to avoid
  NIC freeze.
  - LP: #1180217
* be2net: Fixed memory leak
  - LP: #1180217
* be2net: Fix to show wol disabled/enabled state correctly.
  - LP: #1180217
* be2net: Use GET_FUNCTION_CONFIG V1 cmd
  - LP: #1180217
* be2net: FLR must be first cmd issued to Lancer FW
  - LP: #1180217
* be2net: Fix to use version 2 of cq_create for SkyHawk-R devices
  - LP: #1180217
* be2net: Fix to use 32-bit stats to report rx_drops_no_fragment
  - LP: #1180217
* be2net: Fix to show tx priority pause counter in ethtool -S
  - LP: #1180217
* be2net: Fix to receive Multicast Packets when Promiscuous mode is
  enabled on certain devices
  - LP: #1180217
* be2net: Fix firmware download for Lancer
  - LP: #1180217
* be2net: avoid napi_disable() when it has not been enabled
  - LP: #1180217
* be2net: Fix to fail probe if MSI-X enable fails for a VF
  - LP: #1180217

[ Ubuntu: 3.8.0-23.34 ]

* Release Tracking Bug
  - LP: #1185136
* iscsi-target: fix heap buffer overflow on error
  - CVE-2013-2850

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
/*
2
 
 * Copyright (C) 2005 - 2011 Emulex
 
2
 * Copyright (C) 2005 - 2013 Emulex
3
3
 * All rights reserved.
4
4
 *
5
5
 * This program is free software; you can redistribute it and/or
188
188
#define OPCODE_COMMON_GET_BEACON_STATE                  70
189
189
#define OPCODE_COMMON_READ_TRANSRECV_DATA               73
190
190
#define OPCODE_COMMON_GET_PORT_NAME                     77
 
191
#define OPCODE_COMMON_SET_INTERRUPT_ENABLE              89
191
192
#define OPCODE_COMMON_GET_PHY_DETAILS                   102
192
193
#define OPCODE_COMMON_SET_DRIVER_FUNCTION_CAP           103
193
194
#define OPCODE_COMMON_GET_CNTL_ADDITIONAL_ATTRIBUTES    121
203
204
#define OPCODE_COMMON_GET_FN_PRIVILEGES                 170
204
205
#define OPCODE_COMMON_READ_OBJECT                       171
205
206
#define OPCODE_COMMON_WRITE_OBJECT                      172
 
207
#define OPCODE_COMMON_GET_IFACE_LIST                    194
206
208
#define OPCODE_COMMON_ENABLE_DISABLE_VF                 196
207
209
 
208
210
#define OPCODE_ETH_RSS_CONFIG                           1
366
368
        u8 rsvd5[32];           /* dword 3*/
367
369
} __packed;
368
370
 
369
 
struct amap_cq_context_lancer {
 
371
struct amap_cq_context_v2 {
370
372
        u8 rsvd0[12];           /* dword 0*/
371
373
        u8 coalescwm[2];        /* dword 0*/
372
374
        u8 nodelay;             /* dword 0*/
472
474
#define BE_ETH_TX_RING_TYPE_STANDARD            2
473
475
#define BE_ULP1_NUM                             1
474
476
 
475
 
/* Pseudo amap definition in which each bit of the actual structure is defined
476
 
 * as a byte: used to calculate offset/shift/mask of each field */
477
 
struct amap_tx_context {
478
 
        u8 if_id[16];           /* dword 0 */
479
 
        u8 tx_ring_size[4];     /* dword 0 */
480
 
        u8 rsvd1[26];           /* dword 0 */
481
 
        u8 pci_func_id[8];      /* dword 1 */
482
 
        u8 rsvd2[9];            /* dword 1 */
483
 
        u8 ctx_valid;           /* dword 1 */
484
 
        u8 cq_id_send[16];      /* dword 2 */
485
 
        u8 rsvd3[16];           /* dword 2 */
486
 
        u8 rsvd4[32];           /* dword 3 */
487
 
        u8 rsvd5[32];           /* dword 4 */
488
 
        u8 rsvd6[32];           /* dword 5 */
489
 
        u8 rsvd7[32];           /* dword 6 */
490
 
        u8 rsvd8[32];           /* dword 7 */
491
 
        u8 rsvd9[32];           /* dword 8 */
492
 
        u8 rsvd10[32];          /* dword 9 */
493
 
        u8 rsvd11[32];          /* dword 10 */
494
 
        u8 rsvd12[32];          /* dword 11 */
495
 
        u8 rsvd13[32];          /* dword 12 */
496
 
        u8 rsvd14[32];          /* dword 13 */
497
 
        u8 rsvd15[32];          /* dword 14 */
498
 
        u8 rsvd16[32];          /* dword 15 */
499
 
} __packed;
500
 
 
501
477
struct be_cmd_req_eth_tx_create {
502
478
        struct be_cmd_req_hdr hdr;
503
479
        u8 num_pages;
504
480
        u8 ulp_num;
505
 
        u8 type;
506
 
        u8 bound_port;
507
 
        u8 context[sizeof(struct amap_tx_context) / 8];
 
481
        u16 type;
 
482
        u16 if_id;
 
483
        u8 queue_size;
 
484
        u8 rsvd0;
 
485
        u32 rsvd1;
 
486
        u16 cq_id;
 
487
        u16 rsvd2;
 
488
        u32 rsvd3[13];
508
489
        struct phys_addr pages[8];
509
490
} __packed;
510
491
 
511
492
struct be_cmd_resp_eth_tx_create {
512
493
        struct be_cmd_resp_hdr hdr;
513
494
        u16 cid;
514
 
        u16 rsvd0;
 
495
        u16 rid;
 
496
        u32 db_offset;
 
497
        u32 rsvd0[4];
515
498
} __packed;
516
499
 
517
500
/******************** Create RxQ ***************************/
607
590
        u32 rx_in_range_errors; /* dword 10*/
608
591
        u32 rx_out_range_errors;        /* dword 11*/
609
592
        u32 rx_frame_too_long;  /* dword 12*/
610
 
        u32 rx_address_mismatch_drops;  /* dword 13*/
611
 
        u32 rx_vlan_mismatch_drops;     /* dword 14*/
 
593
        u32 rx_address_filtered;        /* dword 13*/
 
594
        u32 rx_vlan_filtered;   /* dword 14*/
612
595
        u32 rx_dropped_too_small;       /* dword 15*/
613
596
        u32 rx_dropped_too_short;       /* dword 16*/
614
597
        u32 rx_dropped_header_too_small;        /* dword 17*/
814
797
        u32 rx_control_frames_unknown_opcode_hi;
815
798
        u32 rx_in_range_errors;
816
799
        u32 rx_out_of_range_errors;
817
 
        u32 rx_address_mismatch_drops;
818
 
        u32 rx_vlan_mismatch_drops;
 
800
        u32 rx_address_filtered;
 
801
        u32 rx_vlan_filtered;
819
802
        u32 rx_dropped_too_small;
820
803
        u32 rx_dropped_too_short;
821
804
        u32 rx_dropped_header_too_small;
1065
1048
} __packed;
1066
1049
 
1067
1050
/******************** Get FW Config *******************/
1068
 
#define BE_FUNCTION_CAPS_RSS                    0x2
1069
1051
/* The HW can come up in either of the following multi-channel modes
1070
1052
 * based on the skew/IPL.
1071
1053
 */
1108
1090
#define RSS_ENABLE_UDP_IPV4                     0x10
1109
1091
#define RSS_ENABLE_UDP_IPV6                     0x20
1110
1092
 
 
1093
#define L3_RSS_FLAGS                            (RXH_IP_DST | RXH_IP_SRC)
 
1094
#define L4_RSS_FLAGS                            (RXH_L4_B_0_1 | RXH_L4_B_2_3)
 
1095
 
1111
1096
struct be_cmd_req_rss_config {
1112
1097
        struct be_cmd_req_hdr hdr;
1113
1098
        u32 if_id;
1591
1576
        u32 rx_in_range_errors;
1592
1577
        u32 rx_out_range_errors;
1593
1578
        u32 rx_frame_too_long;
1594
 
        u32 rx_address_mismatch_drops;
 
1579
        u32 rx_address_filtered;
1595
1580
        u32 rx_dropped_too_small;
1596
1581
        u32 rx_dropped_too_short;
1597
1582
        u32 rx_dropped_header_too_small;
1705
1690
        struct be_fat_conf_params set_params;
1706
1691
};
1707
1692
 
1708
 
#define RESOURCE_DESC_SIZE                      72
1709
 
#define NIC_RESOURCE_DESC_TYPE_ID               0x41
 
1693
#define RESOURCE_DESC_SIZE                      88
 
1694
#define NIC_RESOURCE_DESC_TYPE_V0               0x41
 
1695
#define NIC_RESOURCE_DESC_TYPE_V1               0x51
1710
1696
#define MAX_RESOURCE_DESC                       4
 
1697
#define MAX_RESOURCE_DESC_V1                    32
1711
1698
 
1712
1699
/* QOS unit number */
1713
1700
#define QUN                                     4
1754
1741
};
1755
1742
 
1756
1743
struct be_cmd_resp_get_func_config {
1757
 
        struct be_cmd_req_hdr hdr;
 
1744
        struct be_cmd_resp_hdr hdr;
1758
1745
        u32 desc_count;
1759
1746
        u8 func_param[MAX_RESOURCE_DESC * RESOURCE_DESC_SIZE];
1760
1747
};
1773
1760
        u8 func_param[MAX_RESOURCE_DESC * RESOURCE_DESC_SIZE];
1774
1761
};
1775
1762
 
 
1763
struct be_cmd_resp_get_profile_config_v1 {
 
1764
        struct be_cmd_req_hdr hdr;
 
1765
        u32 desc_count;
 
1766
        u8 func_param[MAX_RESOURCE_DESC_V1 * RESOURCE_DESC_SIZE];
 
1767
};
 
1768
 
1776
1769
struct be_cmd_req_set_profile_config {
1777
1770
        struct be_cmd_req_hdr hdr;
1778
1771
        u32 rsvd;
1790
1783
        u8 rsvd[3];
1791
1784
};
1792
1785
 
 
1786
struct be_cmd_req_intr_set {
 
1787
        struct be_cmd_req_hdr hdr;
 
1788
        u8 intr_enabled;
 
1789
        u8 rsvd[3];
 
1790
};
 
1791
 
1793
1792
static inline bool check_privilege(struct be_adapter *adapter, u32 flags)
1794
1793
{
1795
1794
        return flags & adapter->cmd_privileges ? true : false;
1796
1795
}
1797
1796
 
 
1797
/************** Get IFACE LIST *******************/
 
1798
struct be_if_desc {
 
1799
        u32 if_id;
 
1800
        u32 cap_flags;
 
1801
        u32 en_flags;
 
1802
};
 
1803
 
 
1804
struct be_cmd_req_get_iface_list {
 
1805
        struct be_cmd_req_hdr hdr;
 
1806
};
 
1807
 
 
1808
struct be_cmd_resp_get_iface_list {
 
1809
        struct be_cmd_req_hdr hdr;
 
1810
        u32 if_cnt;
 
1811
        struct be_if_desc if_desc;
 
1812
};
 
1813
 
1798
1814
extern int be_pci_fnum_get(struct be_adapter *adapter);
1799
1815
extern int be_fw_wait_ready(struct be_adapter *adapter);
1800
1816
extern int be_cmd_mac_addr_query(struct be_adapter *adapter, u8 *mac_addr,
1816
1832
                        struct be_queue_info *mccq,
1817
1833
                        struct be_queue_info *cq);
1818
1834
extern int be_cmd_txq_create(struct be_adapter *adapter,
1819
 
                        struct be_queue_info *txq,
1820
 
                        struct be_queue_info *cq);
 
1835
                        struct be_tx_obj *txo);
1821
1836
extern int be_cmd_rxq_create(struct be_adapter *adapter,
1822
1837
                        struct be_queue_info *rxq, u16 cq_id,
1823
1838
                        u16 frag_size, u32 if_id, u32 rss, u8 *rss_id);
1844
1859
                        u32 tx_fc, u32 rx_fc);
1845
1860
extern int be_cmd_get_flow_control(struct be_adapter *adapter,
1846
1861
                        u32 *tx_fc, u32 *rx_fc);
1847
 
extern int be_cmd_query_fw_cfg(struct be_adapter *adapter,
1848
 
                        u32 *port_num, u32 *function_mode, u32 *function_caps);
 
1862
extern int be_cmd_query_fw_cfg(struct be_adapter *adapter, u32 *port_num,
 
1863
                        u32 *function_mode, u32 *function_caps, u16 *asic_rev);
1849
1864
extern int be_cmd_reset_function(struct be_adapter *adapter);
1850
1865
extern int be_cmd_rss_config(struct be_adapter *adapter, u8 *rsstable,
1851
 
                        u16 table_size);
 
1866
                             u32 rss_hash_opts, u16 table_size);
1852
1867
extern int be_process_mcc(struct be_adapter *adapter);
1853
1868
extern int be_cmd_set_beacon_state(struct be_adapter *adapter,
1854
1869
                        u8 port_num, u8 beacon, u8 status, u8 state);
1913
1928
extern int be_cmd_query_port_name(struct be_adapter *adapter, u8 *port_name);
1914
1929
extern int be_cmd_get_func_config(struct be_adapter *adapter);
1915
1930
extern int be_cmd_get_profile_config(struct be_adapter *adapter, u32 *cap_flags,
1916
 
                                     u8 domain);
 
1931
                                     u16 *txq_count, u8 domain);
1917
1932
 
1918
1933
extern int be_cmd_set_profile_config(struct be_adapter *adapter, u32 bps,
1919
1934
                                     u8 domain);
 
1935
extern int be_cmd_get_if_id(struct be_adapter *adapter,
 
1936
                            struct be_vf_cfg *vf_cfg, int vf_num);
1920
1937
extern int be_cmd_enable_vf(struct be_adapter *adapter, u8 domain);
 
1938
extern int be_cmd_intr_set(struct be_adapter *adapter, bool intr_enable);