mirror of
https://github.com/edk2-porting/linux-next.git
synced 2025-01-04 19:54:03 +08:00
IB/hfi1: Correct MulticastMask/CollectiveMask info to SMA output
The FM uses the values of MulticastMask and CollectiveMask to determine the number of bits for net masks. The current values of 0 and 0 are incorrect. The values should be 4 and 1. Updated the necessary code to reflect the specified values. Reviewed-by: Sebastian Sanchez <sebastian.sanchez@intel.com> Signed-off-by: Michael J. Ruhl <michael.j.ruhl@intel.com> Signed-off-by: Dennis Dalessandro <dennis.dalessandro@intel.com> Signed-off-by: Doug Ledford <dledford@redhat.com>
This commit is contained in:
parent
20c7840a77
commit
72fb70f5a3
@ -338,6 +338,15 @@ struct diag_pkt {
|
||||
#define HFI1_BECN_MASK 1
|
||||
#define HFI1_BECN_SMASK BIT(HFI1_BECN_SHIFT)
|
||||
|
||||
/**
|
||||
* 0xF8 - 4 bits of multicast range and 1 bit for collective range
|
||||
* Example: For 24 bit LID space,
|
||||
* Multicast range: 0xF00000 to 0xF7FFFF
|
||||
* Collective range: 0xF80000 to 0xFFFFFE
|
||||
*/
|
||||
#define HFI1_MCAST_NR 0x4 /* Number of top bits set */
|
||||
#define HFI1_COLLECTIVE_NR 0x1 /* Number of bits after MCAST_NR */
|
||||
|
||||
#define HFI1_PSM_IOC_BASE_SEQ 0x0
|
||||
|
||||
static inline __u64 rhf_to_cpu(const __le32 *rbuf)
|
||||
|
@ -706,6 +706,11 @@ static int __subn_get_opa_portinfo(struct opa_smp *smp, u32 am, u8 *data,
|
||||
|
||||
pi->opa_cap_mask = cpu_to_be16(OPA_CAP_MASK3_IsSharedSpaceSupported |
|
||||
OPA_CAP_MASK3_IsEthOnFabricSupported);
|
||||
/* Driver does not support mcast/collective configuration */
|
||||
pi->opa_cap_mask &=
|
||||
cpu_to_be16(~OPA_CAP_MASK3_IsAddrRangeConfigSupported);
|
||||
pi->collectivemask_multicastmask = ((HFI1_COLLECTIVE_NR & 0x7)
|
||||
<< 3 | (HFI1_MCAST_NR & 0x7));
|
||||
|
||||
/* HFI supports a replay buffer 128 LTPs in size */
|
||||
pi->replay_depth.buffer = 0x80;
|
||||
|
Loading…
Reference in New Issue
Block a user