All of lore.kernel.org
 help / color / mirror / Atom feed
From: Sasha Khapyorsky <sashak-smomgflXvOZWk0Htik3J/w@public.gmane.org>
To: Hal Rosenstock <hnrose-Wuw85uim5zDR7s880joybQ@public.gmane.org>
Cc: linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: Re: [PATCH] opensm: Add infrastructure support for PortInfo IsMulticastPkeyTrapSuppressionSupported
Date: Mon, 12 Oct 2009 20:45:23 +0200	[thread overview]
Message-ID: <20091012184523.GC13830@me> (raw)
In-Reply-To: <20091009144659.GA17861-Wuw85uim5zDR7s880joybQ@public.gmane.org>

On 10:46 Fri 09 Oct     , Hal Rosenstock wrote:
> 
> Per published MgtWG errata RefID 4576
> 
> Signed-off-by: Hal Rosenstock <hal.rosenstock-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
> ---
> diff --git a/opensm/include/iba/ib_types.h b/opensm/include/iba/ib_types.h
> index 25ed35f..c820372 100644
> --- a/opensm/include/iba/ib_types.h
> +++ b/opensm/include/iba/ib_types.h
> @@ -4432,7 +4432,7 @@ typedef struct _ib_port_info {
>  	ib_net16_t p_key_violations;
>  	ib_net16_t q_key_violations;
>  	uint8_t guid_cap;
> -	uint8_t subnet_timeout;	/* cli_rereg(1b), resrv(2b), timeout(5b) */
> +	uint8_t subnet_timeout;	/* cli_rereg(1b), mcast_pkey_trap_suppr(1b), resrv(1b), timeout(5b) */
>  	uint8_t resp_time_value;
>  	uint8_t error_threshold; /* local phy errors(4b), overrun errors(4b) */
>  	ib_net16_t max_credit_hint;
> @@ -5282,7 +5282,7 @@ ib_port_info_set_timeout(IN ib_port_info_t * const p_pi,
>  {
>  	CL_ASSERT(timeout <= 0x1F);
>  	p_pi->subnet_timeout =
> -	    (uint8_t) ((p_pi->subnet_timeout & 0x80) | (timeout & 0x1F));
> +	    (uint8_t) ((p_pi->subnet_timeout & 0xC0) | (timeout & 0x1F));

Why not 'p_pi->subnet_timeout & 0xe0' then (IOW why to bother with
reserved bits reset)?

>  }
>  
>  /*
> @@ -5317,7 +5317,7 @@ ib_port_info_set_client_rereg(IN ib_port_info_t * const p_pi,
>  	CL_ASSERT(client_rereg <= 0x1);
>  	p_pi->subnet_timeout =
>  	    (uint8_t) ((p_pi->
> -			subnet_timeout & 0x1F) | ((client_rereg << 7) & 0x80));
> +			subnet_timeout & 0x5F) | ((client_rereg << 7) & 0x80));

Ditto.

>  }
>  
>  /*
> @@ -5336,6 +5336,43 @@ ib_port_info_set_client_rereg(IN ib_port_info_t * const p_pi,
>  * SEE ALSO
>  *********/
>  
> +/****f* IBA Base: Types/ib_port_info_set_mcast_pkey_trap_suppress
> +* NAME
> +*	ib_port_info_set_mcast_pkey_trap_suppress
> +*
> +* DESCRIPTION
> +*	Sets the encoded multicast pkey trap suppresion enabled bit value
> +*	in the PortInfo attribute.
> +*
> +* SYNOPSIS
> +*/
> +static inline void OSM_API
> +ib_port_info_set_mcast_pkey_trap_suppress(IN ib_port_info_t * const p_pi,
> +					  IN const uint8_t trap_suppress)
> +{
> +	CL_ASSERT(trap_suppress <= 0x1);
> +	p_pi->subnet_timeout =
> +	    (uint8_t) ((p_pi->
> +			subnet_timeout & 0x9F) | ((trap_suppress << 6) & 0x40));

Ditto.

And whoudn't this:

	p_pi->subnet_timeout = (p_pi->subnet_timeout & 0xbf) |
		(trap_suppress << 6)

just work?

Sasha

> +}
> +
> +/*
> +* PARAMETERS
> +*	p_pi
> +*		[in] Pointer to a PortInfo attribute.
> +*
> +*	trap_suppress
> +*		[in] Multicast pkey trap suppresion enabled value to set
> +*		     (either 1 or 0).
> +*
> +* RETURN VALUES
> +*	None.
> +*
> +* NOTES
> +*
> +* SEE ALSO
> +*********/
> +
>  /****f* IBA Base: Types/ib_port_info_get_timeout
>  * NAME
>  *	ib_port_info_get_timeout
> @@ -5392,6 +5429,35 @@ ib_port_info_get_client_rereg(IN ib_port_info_t const *p_pi)
>  * SEE ALSO
>  *********/
>  
> +/****f* IBA Base: Types/ib_port_info_get_mcast_pkey_trap_suppress
> +* NAME
> +*	ib_port_info_get_mcast_pkey_trap_suppress
> +*
> +* DESCRIPTION
> +*	Gets the encoded multicast pkey trap suppresion enabled bit value
> +*	in the PortInfo attribute.
> +*
> +* SYNOPSIS
> +*/
> +static inline uint8_t OSM_API
> +ib_port_info_get_mcast_pkey_trap_suppress(IN ib_port_info_t const *p_pi)
> +{
> +	return ((p_pi->subnet_timeout & 0x40) >> 6);
> +}
> +
> +/*
> +* PARAMETERS
> +*	p_pi
> +*		[in] Pointer to a PortInfo attribute.
> +*
> +* RETURN VALUES
> +*	Multicast PKey trap suppression enabled value (either 1 or 0).
> +*
> +* NOTES
> +*
> +* SEE ALSO
> +*********/
> +
>  /****f* IBA Base: Types/ib_port_info_set_hoq_lifetime
>  * NAME
>  *	ib_port_info_set_hoq_lifetime
> diff --git a/opensm/opensm/osm_helper.c b/opensm/opensm/osm_helper.c
> index 2b3dced..417c256 100644
> --- a/opensm/opensm/osm_helper.c
> +++ b/opensm/opensm/osm_helper.c
> @@ -823,6 +823,7 @@ void osm_dump_port_info(IN osm_log_t * p_log, IN ib_net64_t node_guid,
>  			"\t\t\t\tq_key_violations........0x%X\n"
>  			"\t\t\t\tguid_cap................0x%X\n"
>  			"\t\t\t\tclient_reregister.......0x%X\n"
> +			"\t\t\t\tmcast_pkey_trap_suppr...0x%X\n"
>  			"\t\t\t\tsubnet_timeout..........0x%X\n"
>  			"\t\t\t\tresp_time_value.........0x%X\n"
>  			"\t\t\t\terror_threshold.........0x%X\n"
> @@ -854,6 +855,7 @@ void osm_dump_port_info(IN osm_log_t * p_log, IN ib_net64_t node_guid,
>  			cl_ntoh16(p_pi->p_key_violations),
>  			cl_ntoh16(p_pi->q_key_violations), p_pi->guid_cap,
>  			ib_port_info_get_client_rereg(p_pi),
> +			ib_port_info_get_mcast_pkey_trap_suppress(p_pi),
>  			ib_port_info_get_timeout(p_pi), p_pi->resp_time_value,
>  			p_pi->error_threshold, cl_ntoh16(p_pi->max_credit_hint),
>  			cl_ntoh32(p_pi->link_rt_latency));
> 
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

  parent reply	other threads:[~2009-10-12 18:45 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-10-09 14:46 [PATCH] opensm: Add infrastructure support for PortInfo IsMulticastPkeyTrapSuppressionSupported Hal Rosenstock
     [not found] ` <20091009144659.GA17861-Wuw85uim5zDR7s880joybQ@public.gmane.org>
2009-10-12 18:45   ` Sasha Khapyorsky [this message]
2009-10-13 13:15     ` Hal Rosenstock
     [not found]       ` <f0e08f230910130615of844fc4lb02265e5eaf25717-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2009-10-13 15:56         ` Sasha Khapyorsky
2009-10-13 17:37           ` Hal Rosenstock

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20091012184523.GC13830@me \
    --to=sashak-smomgflxvozwk0htik3j/w@public.gmane.org \
    --cc=hnrose-Wuw85uim5zDR7s880joybQ@public.gmane.org \
    --cc=linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.