components/open-fabrics/libsif/include/psifapi/psif_hw_macro.h
author ssadalka soniya.sadalkar@oracle.com
Tue, 19 Apr 2016 22:11:38 -0700
branchs11u3-sru
changeset 5812 ac16f94826c3
child 7120 b01185225eaa
permissions -rw-r--r--
PSARC/2015/479 PSIF Solaris IB HCA Driver 22111504 RFE for libsif integration into userland gate
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
5812
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
     1
/*
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
     2
 * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
     3
 */
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
     4
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
     5
/*
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
     6
 * Redistribution and use in source and binary forms, with or without modification,
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
     7
 * are permitted provided that the following conditions are met:
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
     8
 *
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
     9
 * 1. Redistributions of source code must retain the above copyright notice,
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
    10
 *    this list of conditions and the following disclaimer.
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
    11
 *
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
    12
 * 2. Redistributions in binary form must reproduce the above copyright notice,
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
    13
 *    this list of conditions and the following disclaimer in the documentation
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
    14
 *    and/or other materials provided with the distribution.
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
    15
 *
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
    16
 * 3. Neither the name of the copyright holder nor the names of its contributors
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
    17
 *    may be used to endorse or promote products derived from this software without
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
    18
 *    specific prior written permission.
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
    19
 *
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
    20
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
    21
 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
    22
 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
    23
 * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
    24
 * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
    25
 * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
    26
 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
    27
 * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
    28
 * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
    29
 * OF THE POSSIBILITY OF SUCH DAMAGE.
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
    30
 */
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
    31
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
    32
#ifndef	_PSIF_HW_MACRO_H
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
    33
#define	_PSIF_HW_MACRO_H
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
    34
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
    35
#ifdef __cplusplus
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
    36
extern "C" {
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
    37
#endif
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
    38
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
    39
#include "psif_api.h"
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
    40
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
    41
#include "psif_endian.h"
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
    42
#if !defined(__KERNEL__)
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
    43
#include "os_header.h"
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
    44
#endif
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
    45
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
    46
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
    47
/*
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
    48
 * PSIF_WR_INVALIDATE_LKEY: key to invalidate/flush from the DMA VT cache.
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
    49
 * PSIF_WR_INVALIDATE_RKEY: key to invalidate/flush from the DMA VT cache.
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
    50
 * PSIF_WR_INVALIDATE_BOTH_KEYS: key to invalidate/flush from the DMA VT
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
    51
 * cache. PSIF_WR_INVALIDATE_TLB: this is the address vector to invalidate in
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
    52
 * the TLB.
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
    53
 */
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
    54
#define PSIF_WR_SU_KEY_OFFSET	2
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
    55
#define PSIF_WR_SU_2_KEY_SHIFT	32
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
    56
#define PSIF_WR_SU_2_KEY_BITS	32
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
    57
#define PSIF_WR_SU_2_KEY_MASK	0xffffffff00000000ull
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
    58
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
    59
/*
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
    60
 * Send queue sequence number. Used to map request to a particular work
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
    61
 * request in the send queue.
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
    62
 */
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
    63
#define PSIF_WR_SQ_SEQ_OFFSET	0
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
    64
#define PSIF_WR_SQ_SEQ_SHIFT	0
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
    65
#define PSIF_WR_SQ_SEQ_BITS	16
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
    66
#define PSIF_WR_SQ_SEQ_MASK	0x000000000000ffffull
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
    67
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
    68
/*
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
    69
 * QP sending this request. XXX: Should name be own_qp_num as defined in QP
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
    70
 * state?
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
    71
 */
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
    72
#define PSIF_WR_LOCAL_QP_OFFSET	0
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
    73
#define PSIF_WR_LOCAL_QP_SHIFT	32
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
    74
#define PSIF_WR_LOCAL_QP_BITS	24
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
    75
#define PSIF_WR_LOCAL_QP_MASK	0x00ffffff00000000ull
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
    76
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
    77
/* Completion notification identifier. */
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
    78
#define PSIF_WR_COMPLETION_OFFSET	1
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
    79
#define PSIF_WR_1_COMPLETION_BIT_POSITION		31
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
    80
#define PSIF_WR_1_COMPLETION_BIT	0x0000000080000000ull
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
    81
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
    82
/*
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
    83
 * Checksum used for data protection and consistency between work request and
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
    84
 * QP state.
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
    85
 */
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
    86
#define PSIF_WR_CHECKSUM_OFFSET	2
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
    87
#define PSIF_WR_2_CHECKSUM_SHIFT	32
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
    88
#define PSIF_WR_2_CHECKSUM_BITS	32
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
    89
#define PSIF_WR_2_CHECKSUM_MASK	0xffffffff00000000ull
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
    90
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
    91
/*
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
    92
 * Index to where elements are added to the send queue by SW. SW is
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
    93
 * responsibel for keeping track of how many entries there are in the send
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
    94
 * queue. I.e. SW needs to keep track of the head_index so it doesn't
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
    95
 * overwrite entries in the send queue which is not yet completed.
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
    96
 */
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
    97
#define PSIF_SQ_SW_TAIL_INDX_OFFSET	0
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
    98
#define PSIF_SQ_SW_TAIL_INDX_SHIFT	32
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
    99
#define PSIF_SQ_SW_TAIL_INDX_BITS	16
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   100
#define PSIF_SQ_SW_TAIL_INDX_MASK	0x0000ffff00000000ull
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   101
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   102
/*
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   103
 * Send queue sequence number used by the SQS to maintain ordering and keep
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   104
 * track of where which send queue elements to fetch. This field is not in
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   105
 * sync with the field in qp_t. This number is typically a little bit before
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   106
 * the number in the qp_t as SQS has to fetch the elements from host memory.
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   107
 * This is also used as tail_index when checking if there are more elements
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   108
 * in the send queue.
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   109
 */
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   110
#define PSIF_SQ_HW_LAST_SEQ_OFFSET	0
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   111
#define PSIF_SQ_HW_LAST_SEQ_SHIFT	16
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   112
#define PSIF_SQ_HW_LAST_SEQ_BITS	16
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   113
#define PSIF_SQ_HW_LAST_SEQ_MASK	0x00000000ffff0000ull
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   114
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   115
/* QP and UF to be processed next. */
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   116
#define PSIF_SQ_HW_SQ_NEXT_OFFSET	0
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   117
#define PSIF_SQ_HW_SQ_NEXT_SHIFT	32
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   118
#define PSIF_SQ_HW_SQ_NEXT_BITS	32
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   119
#define PSIF_SQ_HW_SQ_NEXT_MASK	0xffffffff00000000ull
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   120
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   121
/*
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   122
 * This bit is set through the doorbell. SW should check this bit plus
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   123
 * psif_next = null to ensure SW can own the SQ descriptor.
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   124
 */
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   125
#define PSIF_SQ_HW_DESTROYED_OFFSET	1
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   126
#define PSIF_SQ_HW_1_DESTROYED_BIT_POSITION		27
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   127
#define PSIF_SQ_HW_1_DESTROYED_BIT	0x0000000008000000ull
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   128
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   129
/* Software modified index pointing to the tail reecive entry in host memory. */
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   130
#define PSIF_RQ_SW_TAIL_INDX_OFFSET	0
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   131
#define PSIF_RQ_SW_TAIL_INDX_SHIFT	32
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   132
#define PSIF_RQ_SW_TAIL_INDX_BITS	14
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   133
#define PSIF_RQ_SW_TAIL_INDX_MASK	0x00003fff00000000ull
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   134
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   135
/*
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   136
 * Hardware modified index pointing to the head of the receive queue. TSU is
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   137
 * using this to find the address of the receive queue entry.
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   138
 */
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   139
#define PSIF_RQ_HW_HEAD_INDX_OFFSET	0
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   140
#define PSIF_RQ_HW_HEAD_INDX_SHIFT	14
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   141
#define PSIF_RQ_HW_HEAD_INDX_BITS	14
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   142
#define PSIF_RQ_HW_HEAD_INDX_MASK	0x000000000fffc000ull
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   143
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   144
/* The desciptor is valid. */
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   145
#define PSIF_RQ_HW_VALID_OFFSET	3
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   146
#define PSIF_RQ_HW_3_VALID_BIT_POSITION		55
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   147
#define PSIF_RQ_HW_3_VALID_BIT	0x0080000000000000ull
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   148
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   149
/*
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   150
 * Receive queue entry ID. This is added to the receive completion using this
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   151
 * receive queue entry.
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   152
 */
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   153
#define PSIF_RQ_ENTRY_RQE_ID_OFFSET	0
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   154
#define PSIF_RQ_ENTRY_RQE_ID_SHIFT	0
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   155
#define PSIF_RQ_ENTRY_RQE_ID_BITS	64
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   156
#define PSIF_RQ_ENTRY_RQE_ID_MASK	0xffffffffffffffffull
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   157
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   158
/*
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   159
 * This retry tag is the one used by tsu_rqs and added to the packets sent to
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   160
 * tsu_dma. It is the responsibility of tsu_rqs to update this retry tag
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   161
 * whenever the sq_sequence_number in QP state is equal to the one in the
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   162
 * request.
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   163
 */
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   164
#define PSIF_QP_CORE_RETRY_TAG_COMMITTED_OFFSET	0
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   165
#define PSIF_QP_CORE_RETRY_TAG_COMMITTED_SHIFT	0
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   166
#define PSIF_QP_CORE_RETRY_TAG_COMMITTED_BITS	3
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   167
#define PSIF_QP_CORE_RETRY_TAG_COMMITTED_MASK	0x0000000000000007ull
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   168
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   169
/*
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   170
 * This retry tag is updated by the error block when an error occur. If
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   171
 * tsu_rqs reads this retry tag and it is different than the
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   172
 * retry_tag_comitted, tsu_rqs must update retry_tag_comitted to the value of
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   173
 * retry_tag_err when the sq_sequence_number indicates this is the valid
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   174
 * request. The sq_sequence_number has been updated by tsu_err at the same
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   175
 * time the retry_tag_err is updated.
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   176
 */
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   177
#define PSIF_QP_CORE_RETRY_TAG_ERR_OFFSET	0
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   178
#define PSIF_QP_CORE_RETRY_TAG_ERR_SHIFT	3
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   179
#define PSIF_QP_CORE_RETRY_TAG_ERR_BITS	3
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   180
#define PSIF_QP_CORE_RETRY_TAG_ERR_MASK	0x0000000000000038ull
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   181
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   182
/*
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   183
 * Error retry counter initial value. Read by tsu_dma and used by tsu_cmpl to
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   184
 * calculate exp_backoff etc..
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   185
 */
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   186
#define PSIF_QP_CORE_ERROR_RETRY_INIT_OFFSET	0
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   187
#define PSIF_QP_CORE_ERROR_RETRY_INIT_SHIFT	32
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   188
#define PSIF_QP_CORE_ERROR_RETRY_INIT_BITS	3
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   189
#define PSIF_QP_CORE_ERROR_RETRY_INIT_MASK	0x0000000700000000ull
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   190
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   191
/*
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   192
 * Retry counter associated with retries to received NAK or implied NAK. If
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   193
 * it expires, a path migration will be attempted if it is armed, or the QP
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   194
 * will go to error state. Read by tsu_dma and used by tsu_cmpl.
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   195
 */
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   196
#define PSIF_QP_CORE_ERROR_RETRY_COUNT_OFFSET	0
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   197
#define PSIF_QP_CORE_ERROR_RETRY_COUNT_SHIFT	35
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   198
#define PSIF_QP_CORE_ERROR_RETRY_COUNT_BITS	3
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   199
#define PSIF_QP_CORE_ERROR_RETRY_COUNT_MASK	0x0000003800000000ull
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   200
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   201
/* A hit in the set locally spun out of tsu_cmpl is found. */
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   202
#define PSIF_QP_CORE_SPIN_HIT_OFFSET	0
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   203
#define PSIF_QP_CORE_SPIN_HIT_BIT_POSITION		39
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   204
#define PSIF_QP_CORE_SPIN_HIT_BIT	0x0000008000000000ull
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   205
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   206
/*
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   207
 * Minium RNR NAK timeout. This is added to RNR NAK packets and the requester
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   208
 * receiving the RNR NAK must wait until the timer has expired before the
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   209
 * retry is sent.
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   210
 */
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   211
#define PSIF_QP_CORE_MIN_RNR_NAK_TIME_OFFSET	1
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   212
#define PSIF_QP_CORE_1_MIN_RNR_NAK_TIME_SHIFT	0
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   213
#define PSIF_QP_CORE_1_MIN_RNR_NAK_TIME_BITS	5
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   214
#define PSIF_QP_CORE_1_MIN_RNR_NAK_TIME_MASK	0x000000000000001full
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   215
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   216
/* QP State for this QP. */
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   217
#define PSIF_QP_CORE_STATE_OFFSET	1
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   218
#define PSIF_QP_CORE_1_STATE_SHIFT	5
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   219
#define PSIF_QP_CORE_1_STATE_BITS	3
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   220
#define PSIF_QP_CORE_1_STATE_MASK	0x00000000000000e0ull
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   221
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   222
/* QP number for the remote node. */
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   223
#define PSIF_QP_CORE_REMOTE_QP_OFFSET	1
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   224
#define PSIF_QP_CORE_1_REMOTE_QP_SHIFT	8
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   225
#define PSIF_QP_CORE_1_REMOTE_QP_BITS	24
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   226
#define PSIF_QP_CORE_1_REMOTE_QP_MASK	0x00000000ffffff00ull
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   227
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   228
#define PSIF_QP_CORE_RETRY_SQ_SEQ_OFFSET	2
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   229
#define PSIF_QP_CORE_2_RETRY_SQ_SEQ_SHIFT	32
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   230
#define PSIF_QP_CORE_2_RETRY_SQ_SEQ_BITS	16
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   231
#define PSIF_QP_CORE_2_RETRY_SQ_SEQ_MASK	0x0000ffff00000000ull
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   232
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   233
#define PSIF_QP_CORE_SQ_SEQ_OFFSET	2
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   234
#define PSIF_QP_CORE_2_SQ_SEQ_SHIFT	48
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   235
#define PSIF_QP_CORE_2_SQ_SEQ_BITS	16
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   236
#define PSIF_QP_CORE_2_SQ_SEQ_MASK	0xffff000000000000ull
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   237
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   238
/*
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   239
 * Magic number used to verify use of QP state. This is done by calculating a
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   240
 * checksum of the work request incorporating the magic number. This checksum
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   241
 * is checked against the checksum in the work request.
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   242
 */
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   243
#define PSIF_QP_CORE_MAGIC_OFFSET	3
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   244
#define PSIF_QP_CORE_3_MAGIC_SHIFT	0
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   245
#define PSIF_QP_CORE_3_MAGIC_BITS	32
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   246
#define PSIF_QP_CORE_3_MAGIC_MASK	0x00000000ffffffffull
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   247
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   248
/*
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   249
 * Q-Key received in incoming IB packet is checked towards this Q-Key. Q-Key
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   250
 * used on transmit if top bit of Q-Key in WR is set.
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   251
 */
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   252
#define PSIF_QP_CORE_QKEY_OFFSET	4
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   253
#define PSIF_QP_CORE_4_QKEY_SHIFT	0
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   254
#define PSIF_QP_CORE_4_QKEY_BITS	32
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   255
#define PSIF_QP_CORE_4_QKEY_MASK	0x00000000ffffffffull
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   256
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   257
/*
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   258
 * Sequence number of the last ACK received. Read and written by tsu_cmpl.
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   259
 * Used to verify that the received response packet is a valid response.
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   260
 */
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   261
#define PSIF_QP_CORE_LAST_ACKED_PSN_OFFSET	4
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   262
#define PSIF_QP_CORE_4_LAST_ACKED_PSN_SHIFT	40
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   263
#define PSIF_QP_CORE_4_LAST_ACKED_PSN_BITS	24
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   264
#define PSIF_QP_CORE_4_LAST_ACKED_PSN_MASK	0xffffff0000000000ull
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   265
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   266
/* Index to scatter element of in progress SEND. */
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   267
#define PSIF_QP_CORE_SCATTER_INDX_OFFSET	5
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   268
#define PSIF_QP_CORE_5_SCATTER_INDX_SHIFT	32
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   269
#define PSIF_QP_CORE_5_SCATTER_INDX_BITS	5
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   270
#define PSIF_QP_CORE_5_SCATTER_INDX_MASK	0x0000001f00000000ull
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   271
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   272
/*
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   273
 * Expected packet sequence number: Sequence number on next expected packet.
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   274
 */
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   275
#define PSIF_QP_CORE_EXPECTED_PSN_OFFSET	5
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   276
#define PSIF_QP_CORE_5_EXPECTED_PSN_SHIFT	40
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   277
#define PSIF_QP_CORE_5_EXPECTED_PSN_BITS	24
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   278
#define PSIF_QP_CORE_5_EXPECTED_PSN_MASK	0xffffff0000000000ull
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   279
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   280
/*
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   281
 * TSU quality of service level. Can take values indicating low latency and
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   282
 * high throughput. This is equivalent to high/low BAR when writing doorbells
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   283
 * to PSIF. The qosl bit in the doorbell request must match this bit in the
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   284
 * QP state, otherwise the QP must be put in error. This check only applies
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   285
 * to tsu_rqs.
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   286
 */
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   287
#define PSIF_QP_CORE_QOSL_OFFSET	6
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   288
#define PSIF_QP_CORE_6_QOSL_BIT_POSITION		49
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   289
#define PSIF_QP_CORE_6_QOSL_BIT	0x0002000000000000ull
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   290
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   291
/*
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   292
 * Migration state (migrated, re-arm and armed). Since path migration is
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   293
 * handled by tsu_qps, this is controlled by tsu_qps. XXX: Should error
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   294
 * handler also be able to change the path?
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   295
 */
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   296
#define PSIF_QP_CORE_MSTATE_OFFSET	6
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   297
#define PSIF_QP_CORE_6_MSTATE_SHIFT	50
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   298
#define PSIF_QP_CORE_6_MSTATE_BITS	2
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   299
#define PSIF_QP_CORE_6_MSTATE_MASK	0x000c000000000000ull
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   300
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   301
/* This is an IB over IB QP. */
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   302
#define PSIF_QP_CORE_IPOIB_ENABLE_OFFSET	6
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   303
#define PSIF_QP_CORE_6_IPOIB_ENABLE_BIT_POSITION		53
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   304
#define PSIF_QP_CORE_6_IPOIB_ENABLE_BIT	0x0020000000000000ull
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   305
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   306
/* IB defined capability enable for receiving Atomic operations. */
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   307
#define PSIF_QP_CORE_ATOMIC_ENABLE_OFFSET	6
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   308
#define PSIF_QP_CORE_6_ATOMIC_ENABLE_BIT_POSITION		61
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   309
#define PSIF_QP_CORE_6_ATOMIC_ENABLE_BIT	0x2000000000000000ull
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   310
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   311
/* IB defined capability enable for receiving RDMA WR. */
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   312
#define PSIF_QP_CORE_RDMA_WR_ENABLE_OFFSET	6
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   313
#define PSIF_QP_CORE_6_RDMA_WR_ENABLE_BIT_POSITION		62
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   314
#define PSIF_QP_CORE_6_RDMA_WR_ENABLE_BIT	0x4000000000000000ull
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   315
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   316
/* IB defined capability enable for receiving RDMA RD. */
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   317
#define PSIF_QP_CORE_RDMA_RD_ENABLE_OFFSET	6
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   318
#define PSIF_QP_CORE_6_RDMA_RD_ENABLE_BIT_POSITION		63
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   319
#define PSIF_QP_CORE_6_RDMA_RD_ENABLE_BIT	0x8000000000000000ull
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   320
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   321
/*
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   322
 * Transmit packet sequence number. Read and updated by tsu_dma before
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   323
 * sending packets to tsu_ibpb and tsu_cmpl.
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   324
 */
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   325
#define PSIF_QP_CORE_XMIT_PSN_OFFSET	7
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   326
#define PSIF_QP_CORE_7_XMIT_PSN_SHIFT	0
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   327
#define PSIF_QP_CORE_7_XMIT_PSN_BITS	24
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   328
#define PSIF_QP_CORE_7_XMIT_PSN_MASK	0x0000000000ffffffull
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   329
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   330
/*
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   331
 * TSU Service Level used to decide the TSU VL for requests associated with
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   332
 * this QP.
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   333
 */
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   334
#define PSIF_QP_CORE_TSL_OFFSET	7
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   335
#define PSIF_QP_CORE_7_TSL_SHIFT	55
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   336
#define PSIF_QP_CORE_7_TSL_BITS	4
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   337
#define PSIF_QP_CORE_7_TSL_MASK	0x0780000000000000ull
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   338
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   339
/*
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   340
 * Maximum number of outstanding read or atomic requests allowed by the
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   341
 * remote HCA. Initialized by software.
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   342
 */
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   343
#define PSIF_QP_CORE_MAX_OUTSTANDING_OFFSET	7
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   344
#define PSIF_QP_CORE_7_MAX_OUTSTANDING_SHIFT	59
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   345
#define PSIF_QP_CORE_7_MAX_OUTSTANDING_BITS	5
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   346
#define PSIF_QP_CORE_7_MAX_OUTSTANDING_MASK	0xf800000000000000ull
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   347
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   348
/* Send Queue RNR retry count initialization value. */
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   349
#define PSIF_QP_CORE_RNR_RETRY_INIT_OFFSET	8
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   350
#define PSIF_QP_CORE_8_RNR_RETRY_INIT_SHIFT	32
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   351
#define PSIF_QP_CORE_8_RNR_RETRY_INIT_BITS	3
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   352
#define PSIF_QP_CORE_8_RNR_RETRY_INIT_MASK	0x0000000700000000ull
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   353
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   354
/*
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   355
 * Retry counter associated with RNR NAK retries. If it expires, a path
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   356
 * migration will be attempted if it is armed, or the QP will go to error
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   357
 * state.
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   358
 */
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   359
#define PSIF_QP_CORE_RNR_RETRY_COUNT_OFFSET	8
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   360
#define PSIF_QP_CORE_8_RNR_RETRY_COUNT_SHIFT	35
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   361
#define PSIF_QP_CORE_8_RNR_RETRY_COUNT_BITS	3
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   362
#define PSIF_QP_CORE_8_RNR_RETRY_COUNT_MASK	0x0000003800000000ull
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   363
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   364
/*
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   365
 * When set, RQS should only check that the orig_checksum is equal to magic
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   366
 * number. When not set, RQS should perform the checksum check towards the
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   367
 * checksum in the psif_wr.
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   368
 */
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   369
#define PSIF_QP_CORE_NO_CHECKSUM_OFFSET	8
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   370
#define PSIF_QP_CORE_8_NO_CHECKSUM_BIT_POSITION		39
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   371
#define PSIF_QP_CORE_8_NO_CHECKSUM_BIT	0x0000008000000000ull
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   372
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   373
/*
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   374
 * Transport type of the QP (RC, UC, UD, XRC, MANSP1). MANSP1 is set for
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   375
 * privileged QPs.
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   376
 */
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   377
#define PSIF_QP_CORE_TRANSPORT_TYPE_OFFSET	9
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   378
#define PSIF_QP_CORE_9_TRANSPORT_TYPE_SHIFT	0
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   379
#define PSIF_QP_CORE_9_TRANSPORT_TYPE_BITS	3
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   380
#define PSIF_QP_CORE_9_TRANSPORT_TYPE_MASK	0x0000000000000007ull
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   381
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   382
/*
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   383
 * Number of bytes received of in progress RDMA Write or SEND. The data
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   384
 * received for SENDs and RDMA WR w/Imm are needed for completions. This
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   385
 * should be added to the msg_length.
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   386
 */
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   387
#define PSIF_QP_CORE_BYTES_RECEIVED_OFFSET	9
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   388
#define PSIF_QP_CORE_9_BYTES_RECEIVED_SHIFT	32
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   389
#define PSIF_QP_CORE_9_BYTES_RECEIVED_BITS	32
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   390
#define PSIF_QP_CORE_9_BYTES_RECEIVED_MASK	0xffffffff00000000ull
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   391
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   392
/* This QP is running IP over IB. */
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   393
#define PSIF_QP_CORE_IPOIB_OFFSET	10
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   394
#define PSIF_QP_CORE_10_IPOIB_BIT_POSITION		5
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   395
#define PSIF_QP_CORE_10_IPOIB_BIT	0x0000000000000020ull
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   396
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   397
/*
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   398
 * Combined 'Last Received MSN' and 'Last Outstanding MSN', used to maintain
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   399
 * 'spin set floor' and indicate 'all retries completed', respectively.
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   400
 */
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   401
#define PSIF_QP_CORE_LAST_RECEIVED_OUTSTANDING_MSN_OFFSET	11
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   402
#define PSIF_QP_CORE_11_LAST_RECEIVED_OUTSTANDING_MSN_SHIFT	0
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   403
#define PSIF_QP_CORE_11_LAST_RECEIVED_OUTSTANDING_MSN_BITS	16
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   404
#define PSIF_QP_CORE_11_LAST_RECEIVED_OUTSTANDING_MSN_MASK	0x000000000000ffffull
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   405
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   406
#define PSIF_QP_CORE_PATH_MTU_OFFSET	13
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   407
#define PSIF_QP_CORE_13_PATH_MTU_SHIFT	4
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   408
#define PSIF_QP_CORE_13_PATH_MTU_BITS	3
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   409
#define PSIF_QP_CORE_13_PATH_MTU_MASK	0x0000000000000070ull
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   410
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   411
/* This PSN is committed - ACKs sent will contain this PSN. */
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   412
#define PSIF_QP_CORE_COMMITTED_RECEIVED_PSN_OFFSET	13
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   413
#define PSIF_QP_CORE_13_COMMITTED_RECEIVED_PSN_SHIFT	8
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   414
#define PSIF_QP_CORE_13_COMMITTED_RECEIVED_PSN_BITS	24
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   415
#define PSIF_QP_CORE_13_COMMITTED_RECEIVED_PSN_MASK	0x00000000ffffff00ull
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   416
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   417
/*
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   418
 * Message sequence number used in AETH when sending ACKs. The number is
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   419
 * incremented every time a new inbound message is processed.
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   420
 */
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   421
#define PSIF_QP_CORE_MSN_OFFSET	14
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   422
#define PSIF_QP_CORE_14_MSN_SHIFT	0
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   423
#define PSIF_QP_CORE_14_MSN_BITS	24
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   424
#define PSIF_QP_CORE_14_MSN_MASK	0x0000000000ffffffull
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   425
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   426
/*
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   427
 * This is an index to send completion queue descriptor. The descriptor
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   428
 * points to a send completion queue, which may or may not be the same as the
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   429
 * send completion queue.
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   430
 */
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   431
#define PSIF_QP_CORE_SEND_CQ_INDX_OFFSET	14
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   432
#define PSIF_QP_CORE_14_SEND_CQ_INDX_SHIFT	24
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   433
#define PSIF_QP_CORE_14_SEND_CQ_INDX_BITS	24
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   434
#define PSIF_QP_CORE_14_SEND_CQ_INDX_MASK	0x0000ffffff000000ull
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   435
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   436
/*
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   437
 * Committed MSN - the MSN of the newest committed request for this QP. Only
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   438
 * the bottom 16 bits of the MSN is used.
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   439
 */
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   440
#define PSIF_QP_CORE_LAST_COMMITTED_MSN_OFFSET	14
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   441
#define PSIF_QP_CORE_14_LAST_COMMITTED_MSN_SHIFT	48
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   442
#define PSIF_QP_CORE_14_LAST_COMMITTED_MSN_BITS	16
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   443
#define PSIF_QP_CORE_14_LAST_COMMITTED_MSN_MASK	0xffff000000000000ull
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   444
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   445
#define PSIF_QP_CORE_SRQ_PD_OFFSET	15
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   446
#define PSIF_QP_CORE_15_SRQ_PD_SHIFT	0
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   447
#define PSIF_QP_CORE_15_SRQ_PD_BITS	24
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   448
#define PSIF_QP_CORE_15_SRQ_PD_MASK	0x0000000000ffffffull
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   449
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   450
#define PSIF_QP_PATH_REMOTE_GID_0_OFFSET	0
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   451
#define PSIF_QP_PATH_REMOTE_GID_0_SHIFT	0
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   452
#define PSIF_QP_PATH_REMOTE_GID_0_BITS	64
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   453
#define PSIF_QP_PATH_REMOTE_GID_0_MASK	0xffffffffffffffffull
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   454
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   455
#define PSIF_QP_PATH_REMOTE_GID_1_OFFSET	1
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   456
#define PSIF_QP_PATH_1_REMOTE_GID_1_SHIFT	0
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   457
#define PSIF_QP_PATH_1_REMOTE_GID_1_BITS	64
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   458
#define PSIF_QP_PATH_1_REMOTE_GID_1_MASK	0xffffffffffffffffull
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   459
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   460
#define PSIF_QP_PATH_REMOTE_LID_OFFSET	2
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   461
#define PSIF_QP_PATH_2_REMOTE_LID_SHIFT	0
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   462
#define PSIF_QP_PATH_2_REMOTE_LID_BITS	16
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   463
#define PSIF_QP_PATH_2_REMOTE_LID_MASK	0x000000000000ffffull
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   464
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   465
#define PSIF_QP_PATH_PORT_OFFSET	2
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   466
#define PSIF_QP_PATH_2_PORT_BIT_POSITION		17
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   467
#define PSIF_QP_PATH_2_PORT_BIT	0x0000000000020000ull
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   468
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   469
#define PSIF_QP_PATH_LOOPBACK_OFFSET	2
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   470
#define PSIF_QP_PATH_2_LOOPBACK_BIT_POSITION		18
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   471
#define PSIF_QP_PATH_2_LOOPBACK_BIT	0x0000000000040000ull
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   472
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   473
#define PSIF_QP_PATH_USE_GRH_OFFSET	2
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   474
#define PSIF_QP_PATH_2_USE_GRH_BIT_POSITION		19
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   475
#define PSIF_QP_PATH_2_USE_GRH_BIT	0x0000000000080000ull
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   476
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   477
#define PSIF_QP_PATH_SL_OFFSET	2
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   478
#define PSIF_QP_PATH_2_SL_SHIFT	20
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   479
#define PSIF_QP_PATH_2_SL_BITS	4
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   480
#define PSIF_QP_PATH_2_SL_MASK	0x0000000000f00000ull
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   481
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   482
#define PSIF_QP_PATH_HOPLMT_OFFSET	2
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   483
#define PSIF_QP_PATH_2_HOPLMT_SHIFT	28
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   484
#define PSIF_QP_PATH_2_HOPLMT_BITS	8
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   485
#define PSIF_QP_PATH_2_HOPLMT_MASK	0x0000000ff0000000ull
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   486
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   487
#define PSIF_QP_PATH_FLOWLABEL_OFFSET	2
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   488
#define PSIF_QP_PATH_2_FLOWLABEL_SHIFT	44
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   489
#define PSIF_QP_PATH_2_FLOWLABEL_BITS	20
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   490
#define PSIF_QP_PATH_2_FLOWLABEL_MASK	0xfffff00000000000ull
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   491
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   492
#define PSIF_QP_PATH_LOCAL_ACK_TIMEOUT_OFFSET	3
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   493
#define PSIF_QP_PATH_3_LOCAL_ACK_TIMEOUT_SHIFT	27
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   494
#define PSIF_QP_PATH_3_LOCAL_ACK_TIMEOUT_BITS	5
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   495
#define PSIF_QP_PATH_3_LOCAL_ACK_TIMEOUT_MASK	0x00000000f8000000ull
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   496
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   497
#define PSIF_QP_PATH_IPD_OFFSET	3
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   498
#define PSIF_QP_PATH_3_IPD_SHIFT	32
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   499
#define PSIF_QP_PATH_3_IPD_BITS	8
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   500
#define PSIF_QP_PATH_3_IPD_MASK	0x000000ff00000000ull
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   501
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   502
/*
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   503
 * This is the LID path bits. This is used by tsu_ibpb when generating the
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   504
 * SLID in the packet, and it is used by tsu_rcv when checking the DLID.
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   505
 */
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   506
#define PSIF_QP_PATH_LOCAL_LID_PATH_OFFSET	3
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   507
#define PSIF_QP_PATH_3_LOCAL_LID_PATH_SHIFT	48
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   508
#define PSIF_QP_PATH_3_LOCAL_LID_PATH_BITS	7
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   509
#define PSIF_QP_PATH_3_LOCAL_LID_PATH_MASK	0x007f000000000000ull
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   510
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   511
#define PSIF_QP_PATH_PKEY_INDX_OFFSET	3
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   512
#define PSIF_QP_PATH_3_PKEY_INDX_SHIFT	55
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   513
#define PSIF_QP_PATH_3_PKEY_INDX_BITS	9
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   514
#define PSIF_QP_PATH_3_PKEY_INDX_MASK	0xff80000000000000ull
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   515
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   516
/* L-key state for this DMA validation entry */
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   517
#define PSIF_KEY_LKEY_STATE_OFFSET	0
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   518
#define PSIF_KEY_LKEY_STATE_SHIFT	60
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   519
#define PSIF_KEY_LKEY_STATE_BITS	2
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   520
#define PSIF_KEY_LKEY_STATE_MASK	0x3000000000000000ull
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   521
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   522
/* R-key state for this DMA validation entry */
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   523
#define PSIF_KEY_RKEY_STATE_OFFSET	0
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   524
#define PSIF_KEY_RKEY_STATE_SHIFT	62
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   525
#define PSIF_KEY_RKEY_STATE_BITS	2
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   526
#define PSIF_KEY_RKEY_STATE_MASK	0xc000000000000000ull
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   527
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   528
/* Length of memory region this validation entry is associated with. */
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   529
#define PSIF_KEY_LENGTH_OFFSET	1
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   530
#define PSIF_KEY_1_LENGTH_SHIFT	0
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   531
#define PSIF_KEY_1_LENGTH_BITS	64
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   532
#define PSIF_KEY_1_LENGTH_MASK	0xffffffffffffffffull
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   533
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   534
#define PSIF_KEY_MMU_CONTEXT_OFFSET	2
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   535
#define PSIF_KEY_2_MMU_CONTEXT_SHIFT	0
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   536
#define PSIF_KEY_2_MMU_CONTEXT_BITS	64
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   537
#define PSIF_KEY_2_MMU_CONTEXT_MASK	0xffffffffffffffffull
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   538
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   539
#define PSIF_KEY_BASE_ADDR_OFFSET	3
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   540
#define PSIF_KEY_3_BASE_ADDR_SHIFT	0
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   541
#define PSIF_KEY_3_BASE_ADDR_BITS	64
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   542
#define PSIF_KEY_3_BASE_ADDR_MASK	0xffffffffffffffffull
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   543
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   544
/* sequence number for sanity checking */
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   545
#define PSIF_EQ_ENTRY_SEQ_NUM_OFFSET	7
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   546
#define PSIF_EQ_ENTRY_7_SEQ_NUM_SHIFT	0
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   547
#define PSIF_EQ_ENTRY_7_SEQ_NUM_BITS	32
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   548
#define PSIF_EQ_ENTRY_7_SEQ_NUM_MASK	0x00000000ffffffffull
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   549
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   550
/* enum psif_epsc_csr_opcode from request */
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   551
#define PSIF_EPSC_CSR_RSP_OPCODE_OFFSET	0
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   552
#define PSIF_EPSC_CSR_RSP_OPCODE_SHIFT	48
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   553
#define PSIF_EPSC_CSR_RSP_OPCODE_BITS	8
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   554
#define PSIF_EPSC_CSR_RSP_OPCODE_MASK	0x00ff000000000000ull
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   555
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   556
/* Sequence number from request */
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   557
#define PSIF_EPSC_CSR_RSP_SEQ_NUM_OFFSET	3
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   558
#define PSIF_EPSC_CSR_RSP_3_SEQ_NUM_SHIFT	0
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   559
#define PSIF_EPSC_CSR_RSP_3_SEQ_NUM_BITS	64
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   560
#define PSIF_EPSC_CSR_RSP_3_SEQ_NUM_MASK	0xffffffffffffffffull
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   561
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   562
/* Sequence number - included in response */
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   563
#define PSIF_EPSC_CSR_REQ_SEQ_NUM_OFFSET	0
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   564
#define PSIF_EPSC_CSR_REQ_SEQ_NUM_SHIFT	32
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   565
#define PSIF_EPSC_CSR_REQ_SEQ_NUM_BITS	16
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   566
#define PSIF_EPSC_CSR_REQ_SEQ_NUM_MASK	0x0000ffff00000000ull
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   567
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   568
#define PSIF_EPSC_CSR_REQ_OPCODE_OFFSET	0
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   569
#define PSIF_EPSC_CSR_REQ_OPCODE_SHIFT	56
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   570
#define PSIF_EPSC_CSR_REQ_OPCODE_BITS	8
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   571
#define PSIF_EPSC_CSR_REQ_OPCODE_MASK	0xff00000000000000ull
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   572
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   573
/* Index to completion elements added by SW. */
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   574
#define PSIF_CQ_SW_HEAD_INDX_OFFSET	0
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   575
#define PSIF_CQ_SW_HEAD_INDX_SHIFT	32
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   576
#define PSIF_CQ_SW_HEAD_INDX_BITS	32
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   577
#define PSIF_CQ_SW_HEAD_INDX_MASK	0xffffffff00000000ull
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   578
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   579
/*
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   580
 * EPS-A core number completions are forwarded to if the proxy_enabled bit is
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   581
 * set.
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   582
 */
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   583
#define PSIF_CQ_HW_EPS_CORE_OFFSET	0
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   584
#define PSIF_CQ_HW_EPS_CORE_SHIFT	52
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   585
#define PSIF_CQ_HW_EPS_CORE_BITS	2
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   586
#define PSIF_CQ_HW_EPS_CORE_MASK	0x0030000000000000ull
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   587
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   588
/*
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   589
 * If set, this completion queue is proxy enabled and should send completions
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   590
 * to EPS core indicated by the eps_core field.
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   591
 */
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   592
#define PSIF_CQ_HW_PROXY_EN_OFFSET	0
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   593
#define PSIF_CQ_HW_PROXY_EN_BIT_POSITION		54
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   594
#define PSIF_CQ_HW_PROXY_EN_BIT	0x0040000000000000ull
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   595
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   596
/* The descriptor is valid. */
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   597
#define PSIF_CQ_HW_VALID_OFFSET	0
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   598
#define PSIF_CQ_HW_VALID_BIT_POSITION		60
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   599
#define PSIF_CQ_HW_VALID_BIT	0x1000000000000000ull
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   600
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   601
/*
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   602
 * VA or PA of the base of the completion queue. If PA the MMU context above
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   603
 * will be a bypass context. Updated by software. The head and tail pointers
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   604
 * can be calculated by the following calculations: Address = base_ptr +
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   605
 * (head * ($bits(completion_entry_t)/8 ) Head Pointer and Tail Pointer will
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   606
 * use the same MMU context as the base, and all need to be VA from one
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   607
 * address space, or all need to be PA. In typical use, to allow direct user
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   608
 * access to the head and tail pointer VAs are used.
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   609
 */
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   610
#define PSIF_CQ_HW_BASE_ADDR_OFFSET	2
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   611
#define PSIF_CQ_HW_2_BASE_ADDR_SHIFT	0
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   612
#define PSIF_CQ_HW_2_BASE_ADDR_BITS	64
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   613
#define PSIF_CQ_HW_2_BASE_ADDR_MASK	0xffffffffffffffffull
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   614
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   615
/* Index to completion elements to be consumed by HW. */
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   616
#define PSIF_CQ_HW_TAIL_INDX_OFFSET	3
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   617
#define PSIF_CQ_HW_3_TAIL_INDX_SHIFT	32
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   618
#define PSIF_CQ_HW_3_TAIL_INDX_BITS	32
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   619
#define PSIF_CQ_HW_3_TAIL_INDX_MASK	0xffffffff00000000ull
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   620
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   621
/*
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   622
 * Work queue completion ID. For receive completions this is the entry number
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   623
 * in the receive queue and the receive queue descriptor index. For send
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   624
 * completions this is the sq_sequence number.
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   625
 */
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   626
#define PSIF_CQ_ENTRY_WC_ID_OFFSET	0
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   627
#define PSIF_CQ_ENTRY_WC_ID_SHIFT	0
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   628
#define PSIF_CQ_ENTRY_WC_ID_BITS	64
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   629
#define PSIF_CQ_ENTRY_WC_ID_MASK	0xffffffffffffffffull
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   630
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   631
#define PSIF_CQ_ENTRY_QP_OFFSET	1
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   632
#define PSIF_CQ_ENTRY_1_QP_SHIFT	0
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   633
#define PSIF_CQ_ENTRY_1_QP_BITS	24
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   634
#define PSIF_CQ_ENTRY_1_QP_MASK	0x0000000000ffffffull
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   635
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   636
#define PSIF_CQ_ENTRY_OPCODE_OFFSET	1
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   637
#define PSIF_CQ_ENTRY_1_OPCODE_SHIFT	24
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   638
#define PSIF_CQ_ENTRY_1_OPCODE_BITS	8
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   639
#define PSIF_CQ_ENTRY_1_OPCODE_MASK	0x00000000ff000000ull
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   640
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   641
#define PSIF_CQ_ENTRY_STATUS_OFFSET	2
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   642
#define PSIF_CQ_ENTRY_2_STATUS_SHIFT	24
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   643
#define PSIF_CQ_ENTRY_2_STATUS_BITS	8
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   644
#define PSIF_CQ_ENTRY_2_STATUS_MASK	0x00000000ff000000ull
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   645
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   646
/* sequence number for sanity checking */
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   647
#define PSIF_CQ_ENTRY_SEQ_NUM_OFFSET	7
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   648
#define PSIF_CQ_ENTRY_7_SEQ_NUM_SHIFT	0
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   649
#define PSIF_CQ_ENTRY_7_SEQ_NUM_BITS	32
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   650
#define PSIF_CQ_ENTRY_7_SEQ_NUM_MASK	0x00000000ffffffffull
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   651
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   652
#define PSIF_AH_REMOTE_LID_OFFSET	2
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   653
#define PSIF_AH_2_REMOTE_LID_SHIFT	0
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   654
#define PSIF_AH_2_REMOTE_LID_BITS	16
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   655
#define PSIF_AH_2_REMOTE_LID_MASK	0x000000000000ffffull
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   656
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   657
#define PSIF_AH_SL_OFFSET	2
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   658
#define PSIF_AH_2_SL_SHIFT	20
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   659
#define PSIF_AH_2_SL_BITS	4
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   660
#define PSIF_AH_2_SL_MASK	0x0000000000f00000ull
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   661
#if defined (HOST_LITTLE_ENDIAN)
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   662
#elif defined (HOST_BIG_ENDIAN)
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   663
#else
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   664
#error "Could not determine byte order in psif_hw_macro.h !?"
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   665
#endif
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   666
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   667
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   668
#ifdef __cplusplus
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   669
}
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   670
#endif
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   671
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   672
ac16f94826c3 PSARC/2015/479 PSIF Solaris IB HCA Driver
ssadalka soniya.sadalkar@oracle.com
parents:
diff changeset
   673
#endif	/* _PSIF_HW_MACRO_H */