Deleted Added
full compact
oce_hw.h (231437) oce_hw.h (231879)
1/*-
2 * Copyright (C) 2012 Emulex
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are met:
7 *
8 * 1. Redistributions of source code must retain the above copyright notice,

--- 22 unchanged lines hidden (view full) ---

31 * Contact Information:
32 * freebsd-drivers@emulex.com
33 *
34 * Emulex
35 * 3333 Susan Street
36 * Costa Mesa, CA 92626
37 */
38
1/*-
2 * Copyright (C) 2012 Emulex
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are met:
7 *
8 * 1. Redistributions of source code must retain the above copyright notice,

--- 22 unchanged lines hidden (view full) ---

31 * Contact Information:
32 * freebsd-drivers@emulex.com
33 *
34 * Emulex
35 * 3333 Susan Street
36 * Costa Mesa, CA 92626
37 */
38
39/* $FreeBSD: head/sys/dev/oce/oce_hw.h 231437 2012-02-10 21:03:04Z luigi $ */
39/* $FreeBSD: head/sys/dev/oce/oce_hw.h 231879 2012-02-17 13:55:17Z luigi $ */
40
41#include <sys/types.h>
42
43#undef _BIG_ENDIAN /* TODO */
44#pragma pack(1)
45
46#define OC_CNA_GEN2 0x2
47#define OC_CNA_GEN3 0x3

--- 101 unchanged lines hidden (view full) ---

149#define MQ_RING_CONTEXT_SIZE_64 0x7 /* (64 entries) */
150#define MQ_RING_CONTEXT_SIZE_128 0x8 /* (128 entries) */
151
152#define MBX_DB_READY_BIT 0x1
153#define MBX_DB_HI_BIT 0x2
154#define ASYNC_EVENT_CODE_LINK_STATE 0x1
155#define ASYNC_EVENT_LINK_UP 0x1
156#define ASYNC_EVENT_LINK_DOWN 0x0
40
41#include <sys/types.h>
42
43#undef _BIG_ENDIAN /* TODO */
44#pragma pack(1)
45
46#define OC_CNA_GEN2 0x2
47#define OC_CNA_GEN3 0x3

--- 101 unchanged lines hidden (view full) ---

149#define MQ_RING_CONTEXT_SIZE_64 0x7 /* (64 entries) */
150#define MQ_RING_CONTEXT_SIZE_128 0x8 /* (128 entries) */
151
152#define MBX_DB_READY_BIT 0x1
153#define MBX_DB_HI_BIT 0x2
154#define ASYNC_EVENT_CODE_LINK_STATE 0x1
155#define ASYNC_EVENT_LINK_UP 0x1
156#define ASYNC_EVENT_LINK_DOWN 0x0
157#define ASYNC_EVENT_GRP5 0x5
158#define ASYNC_EVENT_PVID_STATE 0x3
159#define VLAN_VID_MASK 0x0FFF
157
158/* port link_status */
159#define ASYNC_EVENT_LOGICAL 0x02
160
161/* Logical Link Status */
162#define NTWK_LOGICAL_LINK_DOWN 0
163#define NTWK_LOGICAL_LINK_UP 1
164

--- 440 unchanged lines hidden (view full) ---

605 /* dw1 dw2 */
606 uint32_t mq_tag[2];
607 /* dw3 */
608 uint32_t valid:1;
609 uint32_t async_event:1;
610 uint32_t hpi_buffer_cmpl:1;
611 uint32_t completed:1;
612 uint32_t consumed:1;
160
161/* port link_status */
162#define ASYNC_EVENT_LOGICAL 0x02
163
164/* Logical Link Status */
165#define NTWK_LOGICAL_LINK_DOWN 0
166#define NTWK_LOGICAL_LINK_UP 1
167

--- 440 unchanged lines hidden (view full) ---

608 /* dw1 dw2 */
609 uint32_t mq_tag[2];
610 /* dw3 */
611 uint32_t valid:1;
612 uint32_t async_event:1;
613 uint32_t hpi_buffer_cmpl:1;
614 uint32_t completed:1;
615 uint32_t consumed:1;
613 uint32_t rsvd0:27;
616 uint32_t rsvd0:3;
617 uint32_t async_type:8;
618 uint32_t event_type:8;
619 uint32_t rsvd1:8;
614#else
615 /* dw0 */
616 uint32_t completion_status:16;
617 uint32_t extended_status:16;
618 /* dw1 dw2 */
619 uint32_t mq_tag[2];
620 /* dw3 */
620#else
621 /* dw0 */
622 uint32_t completion_status:16;
623 uint32_t extended_status:16;
624 /* dw1 dw2 */
625 uint32_t mq_tag[2];
626 /* dw3 */
621 uint32_t rsvd0:27;
627 uint32_t rsvd1:8;
628 uint32_t event_type:8;
629 uint32_t async_type:8;
630 uint32_t rsvd0:3;
622 uint32_t consumed:1;
623 uint32_t completed:1;
624 uint32_t hpi_buffer_cmpl:1;
625 uint32_t async_event:1;
626 uint32_t valid:1;
627#endif
628 } s;
629 uint32_t dw[4];

--- 52 unchanged lines hidden (view full) ---

682 uint32_t async_event:1;
683 uint32_t valid:1;
684#endif
685 } s;
686 uint32_t dw[4];
687 } u0;
688};
689
631 uint32_t consumed:1;
632 uint32_t completed:1;
633 uint32_t hpi_buffer_cmpl:1;
634 uint32_t async_event:1;
635 uint32_t valid:1;
636#endif
637 } s;
638 uint32_t dw[4];

--- 52 unchanged lines hidden (view full) ---

691 uint32_t async_event:1;
692 uint32_t valid:1;
693#endif
694 } s;
695 uint32_t dw[4];
696 } u0;
697};
698
699
700/* PVID aync event */
701struct oce_async_event_grp5_pvid_state {
702 uint8_t enabled;
703 uint8_t rsvd0;
704 uint16_t tag;
705 uint32_t event_tag;
706 uint32_t rsvd1;
707 uint32_t code;
708};
709
710typedef union oce_mq_ext_ctx_u {
711 uint32_t dw[6];
712 struct {
713 #ifdef _BIG_ENDIAN
714 /* dw0 */
715 uint32_t dw4rsvd1:16;
716 uint32_t num_pages:16;
717 /* dw1 */
718 uint32_t async_evt_bitmap;
719 /* dw2 */
720 uint32_t cq_id:10;
721 uint32_t dw5rsvd2:2;
722 uint32_t ring_size:4;
723 uint32_t dw5rsvd1:16;
724 /* dw3 */
725 uint32_t valid:1;
726 uint32_t dw6rsvd1:31;
727 /* dw4 */
728 uint32_t dw7rsvd1:21;
729 uint32_t async_cq_id:10;
730 uint32_t async_cq_valid:1;
731 #else
732 /* dw0 */
733 uint32_t num_pages:16;
734 uint32_t dw4rsvd1:16;
735 /* dw1 */
736 uint32_t async_evt_bitmap;
737 /* dw2 */
738 uint32_t dw5rsvd1:16;
739 uint32_t ring_size:4;
740 uint32_t dw5rsvd2:2;
741 uint32_t cq_id:10;
742 /* dw3 */
743 uint32_t dw6rsvd1:31;
744 uint32_t valid:1;
745 /* dw4 */
746 uint32_t async_cq_valid:1;
747 uint32_t async_cq_id:10;
748 uint32_t dw7rsvd1:21;
749 #endif
750 /* dw5 */
751 uint32_t dw8rsvd1;
752 } v0;
753} oce_mq_ext_ctx_t;
754
755
690/* MQ mailbox structure */
691struct oce_bmbx {
692 struct oce_mbx mbx;
693 struct oce_mq_cqe cqe;
694};
695
696/* ---[ MBXs start here ]---------------------------------------------- */
697/* MBXs sub system codes */

--- 639 unchanged lines hidden (view full) ---

1337
1338 struct {
1339 uint32_t mq_id:16;
1340 uint32_t rsvd0:16;
1341 } rsp;
1342 } params;
1343};
1344
756/* MQ mailbox structure */
757struct oce_bmbx {
758 struct oce_mbx mbx;
759 struct oce_mq_cqe cqe;
760};
761
762/* ---[ MBXs start here ]---------------------------------------------- */
763/* MBXs sub system codes */

--- 639 unchanged lines hidden (view full) ---

1403
1404 struct {
1405 uint32_t mq_id:16;
1406 uint32_t rsvd0:16;
1407 } rsp;
1408 } params;
1409};
1410
1411struct mbx_create_common_mq_ex {
1412 struct mbx_hdr hdr;
1413 union {
1414 struct {
1415 oce_mq_ext_ctx_t context;
1416 struct phys_addr pages[8];
1417 } req;
1418
1419 struct {
1420 uint32_t mq_id:16;
1421 uint32_t rsvd0:16;
1422 } rsp;
1423 } params;
1424};
1425
1426
1427
1345/* [53] OPCODE_COMMON_DESTROY_MQ */
1346struct mbx_destroy_common_mq {
1347 struct mbx_hdr hdr;
1348 union {
1349 struct {
1350#ifdef _BIG_ENDIAN
1351 uint16_t rsvd0;
1352 uint16_t id;

--- 226 unchanged lines hidden (view full) ---

1579 FNM_FLEX10_MODE = 0x400, /* QinQ, FLEX-10 or VNIC */
1580 FNM_NCSI_MODE = 0x800, /* NCSI supported */
1581 FNM_IPV6_MODE = 0x1000, /* IPV6 stack enabled */
1582 FNM_BE2_COMPAT_MODE = 0x2000, /* BE2 compatibility (BE3 disable)*/
1583 FNM_INVALID_MODE = 0x8000, /* Invalid */
1584 FNM_BE3_COMPAT_MODE = 0x10000, /* BE3 features */
1585 FNM_VNIC_MODE = 0x20000, /* Set when IBM vNIC mode is set */
1586 FNM_VNTAG_MODE = 0x40000, /* Set when VNTAG mode is set */
1428/* [53] OPCODE_COMMON_DESTROY_MQ */
1429struct mbx_destroy_common_mq {
1430 struct mbx_hdr hdr;
1431 union {
1432 struct {
1433#ifdef _BIG_ENDIAN
1434 uint16_t rsvd0;
1435 uint16_t id;

--- 226 unchanged lines hidden (view full) ---

1662 FNM_FLEX10_MODE = 0x400, /* QinQ, FLEX-10 or VNIC */
1663 FNM_NCSI_MODE = 0x800, /* NCSI supported */
1664 FNM_IPV6_MODE = 0x1000, /* IPV6 stack enabled */
1665 FNM_BE2_COMPAT_MODE = 0x2000, /* BE2 compatibility (BE3 disable)*/
1666 FNM_INVALID_MODE = 0x8000, /* Invalid */
1667 FNM_BE3_COMPAT_MODE = 0x10000, /* BE3 features */
1668 FNM_VNIC_MODE = 0x20000, /* Set when IBM vNIC mode is set */
1669 FNM_VNTAG_MODE = 0x40000, /* Set when VNTAG mode is set */
1587 FNM_UMC_MODE = 0x80000, /* Set when UMC mode is set */
1670 FNM_UMC_MODE = 0x1000000, /* Set when UMC mode is set */
1588 FNM_UMC_DEF_EN = 0x100000, /* Set when UMC Default is set */
1589 FNM_ONE_GB_EN = 0x200000, /* Set when 1GB Default is set */
1590 FNM_VNIC_DEF_VALID = 0x400000, /* Set when VNIC_DEF_EN is valid */
1591 FNM_VNIC_DEF_EN = 0x800000 /* Set when VNIC Default enabled */
1592};
1593
1594
1595struct mbx_common_config_vlan {

--- 1786 unchanged lines hidden ---
1671 FNM_UMC_DEF_EN = 0x100000, /* Set when UMC Default is set */
1672 FNM_ONE_GB_EN = 0x200000, /* Set when 1GB Default is set */
1673 FNM_VNIC_DEF_VALID = 0x400000, /* Set when VNIC_DEF_EN is valid */
1674 FNM_VNIC_DEF_EN = 0x800000 /* Set when VNIC Default enabled */
1675};
1676
1677
1678struct mbx_common_config_vlan {

--- 1786 unchanged lines hidden ---