From: Keller, Jacob E <jacob.e.keller@intel.com>
To: intel-wired-lan@osuosl.org
Subject: [Intel-wired-lan] [PATCH v1 03/13] ixgbevf: make use of BIT() macro to avoid shift of signed values
Date: Wed, 13 Apr 2016 21:47:06 +0000 [thread overview]
Message-ID: <1460584026.9106.37.camel@intel.com> (raw)
In-Reply-To: <CAKgT0Ueu4BumcLFdn6gxSQHCbf-_xdgjWSNesOVat_Totm+SgQ@mail.gmail.com>
On Wed, 2016-04-13 at 14:39 -0700, Alexander Duyck wrote:
> On Wed, Apr 13, 2016 at 2:31 PM, Jacob Keller <jacob.e.keller@intel.c
> om> wrote:
> >
> > Also cleanup a case where we're bit shifting a value into place,
> > and use
> > an unsigned constant.
> >
> > Signed-off-by: Jacob Keller <jacob.e.keller@intel.com>
> > ---
> > ?drivers/net/ethernet/intel/ixgbevf/defines.h??????| 22
> > +++++++++++-----------
> > ?drivers/net/ethernet/intel/ixgbevf/ethtool.c??????|??2 +-
> > ?drivers/net/ethernet/intel/ixgbevf/ixgbevf.h??????|??8 ++++----
> > ?drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c | 18 +++++++++
> > ---------
> > ?4 files changed, 25 insertions(+), 25 deletions(-)
> >
> > diff --git a/drivers/net/ethernet/intel/ixgbevf/defines.h
> > b/drivers/net/ethernet/intel/ixgbevf/defines.h
> > index 58434584b16d..74901f7ef391 100644
> > --- a/drivers/net/ethernet/intel/ixgbevf/defines.h
> > +++ b/drivers/net/ethernet/intel/ixgbevf/defines.h
> > @@ -74,7 +74,7 @@ typedef u32 ixgbe_link_speed;
> > ?#define IXGBE_RXDCTL_RLPML_EN??0x00008000
> >
> > ?/* DCA Control */
> > -#define IXGBE_DCA_TXCTRL_TX_WB_RO_EN (1 << 11) /* Tx Desc
> > writeback RO bit */
> > +#define IXGBE_DCA_TXCTRL_TX_WB_RO_EN BIT(11) /* Tx Desc writeback
> > RO bit */
> >
> > ?/* PSRTYPE bit definitions */
> > ?#define IXGBE_PSRTYPE_TCPHDR???0x00000010
> > @@ -296,16 +296,16 @@ struct ixgbe_adv_tx_context_desc {
> > ?#define IXGBE_TXDCTL_SWFLSH????????????0x04000000 /* Tx Desc. wr-
> > bk flushing */
> > ?#define IXGBE_TXDCTL_WTHRESH_SHIFT?????16?????????/* shift to
> > WTHRESH bits */
> >
> > -#define IXGBE_DCA_RXCTRL_DESC_DCA_EN???(1 << 5)??/* Rx Desc enable
> > */
> > -#define IXGBE_DCA_RXCTRL_HEAD_DCA_EN???(1 << 6)??/* Rx Desc header
> > ena */
> > -#define IXGBE_DCA_RXCTRL_DATA_DCA_EN???(1 << 7)??/* Rx Desc
> > payload ena */
> > -#define IXGBE_DCA_RXCTRL_DESC_RRO_EN???(1 << 9)??/* Rx rd Desc
> > Relax Order */
> > -#define IXGBE_DCA_RXCTRL_DATA_WRO_EN???(1 << 13) /* Rx wr data
> > Relax Order */
> > -#define IXGBE_DCA_RXCTRL_HEAD_WRO_EN???(1 << 15) /* Rx wr header
> > RO */
> > +#define IXGBE_DCA_RXCTRL_DESC_DCA_EN???BIT(5)??/* Rx Desc enable
> > */
> > +#define IXGBE_DCA_RXCTRL_HEAD_DCA_EN???BIT(6)??/* Rx Desc header
> > ena */
> > +#define IXGBE_DCA_RXCTRL_DATA_DCA_EN???BIT(7)??/* Rx Desc payload
> > ena */
> > +#define IXGBE_DCA_RXCTRL_DESC_RRO_EN???BIT(9)??/* Rx rd Desc Relax
> > Order */
> > +#define IXGBE_DCA_RXCTRL_DATA_WRO_EN???BIT(13) /* Rx wr data Relax
> > Order */
> > +#define IXGBE_DCA_RXCTRL_HEAD_WRO_EN???BIT(15) /* Rx wr header RO
> > */
> >
> > -#define IXGBE_DCA_TXCTRL_DESC_DCA_EN???(1 << 5)??/* DCA Tx Desc
> > enable */
> > -#define IXGBE_DCA_TXCTRL_DESC_RRO_EN???(1 << 9)??/* Tx rd Desc
> > Relax Order */
> > -#define IXGBE_DCA_TXCTRL_DESC_WRO_EN???(1 << 11) /* Tx Desc
> > writeback RO bit */
> > -#define IXGBE_DCA_TXCTRL_DATA_RRO_EN???(1 << 13) /* Tx rd data
> > Relax Order */
> > +#define IXGBE_DCA_TXCTRL_DESC_DCA_EN???BIT(5)??/* DCA Tx Desc
> > enable */
> > +#define IXGBE_DCA_TXCTRL_DESC_RRO_EN???BIT(9)??/* Tx rd Desc Relax
> > Order */
> > +#define IXGBE_DCA_TXCTRL_DESC_WRO_EN???BIT(11) /* Tx Desc
> > writeback RO bit */
> > +#define IXGBE_DCA_TXCTRL_DATA_RRO_EN???BIT(13) /* Tx rd data Relax
> > Order */
> >
> > ?#endif /* _IXGBEVF_DEFINES_H_ */
> > diff --git a/drivers/net/ethernet/intel/ixgbevf/ethtool.c
> > b/drivers/net/ethernet/intel/ixgbevf/ethtool.c
> > index 64d5c6e9343e..28954577fb59 100644
> > --- a/drivers/net/ethernet/intel/ixgbevf/ethtool.c
> > +++ b/drivers/net/ethernet/intel/ixgbevf/ethtool.c
> > @@ -166,7 +166,7 @@ static void ixgbevf_get_regs(struct net_device
> > *netdev,
> >
> > ????????memset(p, 0, regs_len);
> >
> > -???????regs->version = (1 << 24) | hw->revision_id << 16 | hw-
> > >device_id;
> > +???????regs->version = BIT(24) | hw->revision_id << 16 | hw-
> > >device_id;
> >
> > ????????/* General Registers */
> > ????????regs_buff[0] = IXGBE_READ_REG(hw, IXGBE_VFCTRL);
> So the question I would have is what did the (1 << 24) mean???I'm
> pretty sure it wasn't a bitmask.??It is supposed to be a version
> number.??You might want to restructure this bit so that it is more
> clear that what you are doing is converting the version, revision_id,
> and device_id into a version number for use by ethtool.
>
This probably needs work. I just used a regular expression to convert
the 1 << x@first and didn't notice this in the review. I am not
really sure what the best way to do that would be, but this defintily
is less confusing. I'll think about it a little.
> >
> > diff --git a/drivers/net/ethernet/intel/ixgbevf/ixgbevf.h
> > b/drivers/net/ethernet/intel/ixgbevf/ixgbevf.h
> > index 5ca3794aeb2e..aa28c4fb1a43 100644
> > --- a/drivers/net/ethernet/intel/ixgbevf/ixgbevf.h
> > +++ b/drivers/net/ethernet/intel/ixgbevf/ixgbevf.h
> > @@ -166,10 +166,10 @@ struct ixgbevf_ring {
> >
> > ?#define MAXIMUM_ETHERNET_VLAN_SIZE (VLAN_ETH_FRAME_LEN +
> > ETH_FCS_LEN)
> >
> > -#define IXGBE_TX_FLAGS_CSUM????????????(u32)(1)
> > -#define IXGBE_TX_FLAGS_VLAN????????????(u32)(1 << 1)
> > -#define IXGBE_TX_FLAGS_TSO?????????????(u32)(1 << 2)
> > -#define IXGBE_TX_FLAGS_IPV4????????????(u32)(1 << 3)
> > +#define IXGBE_TX_FLAGS_CSUM????????????BIT(0)
> > +#define IXGBE_TX_FLAGS_VLAN????????????BIT(1)
> > +#define IXGBE_TX_FLAGS_TSO?????????????BIT(2)
> > +#define IXGBE_TX_FLAGS_IPV4????????????BIT(3)
> > ?#define IXGBE_TX_FLAGS_VLAN_MASK???????0xffff0000
> > ?#define IXGBE_TX_FLAGS_VLAN_PRIO_MASK??0x0000e000
> > ?#define IXGBE_TX_FLAGS_VLAN_SHIFT??????16
> > diff --git a/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
> > b/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
> > index 007cbe094990..ef127f46de23 100644
> > --- a/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
> > +++ b/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
> > @@ -1056,7 +1056,7 @@ static int ixgbevf_poll(struct napi_struct
> > *napi, int budget)
> > ????????if (!test_bit(__IXGBEVF_DOWN, &adapter->state) &&
> > ????????????!test_bit(__IXGBEVF_REMOVING, &adapter->state))
> > ????????????????ixgbevf_irq_enable_queues(adapter,
> > -?????????????????????????????????????????1 << q_vector->v_idx);
> > +?????????????????????????????????????????BIT(q_vector->v_idx));
> >
> > ????????return 0;
> > ?}
> > @@ -1158,14 +1158,14 @@ static void ixgbevf_configure_msix(struct
> > ixgbevf_adapter *adapter)
> > ????????????????}
> >
> > ????????????????/* add q_vector eims value to global
> > eims_enable_mask */
> > -???????????????adapter->eims_enable_mask |= 1 << v_idx;
> > +???????????????adapter->eims_enable_mask |= BIT(v_idx);
> >
> > ????????????????ixgbevf_write_eitr(q_vector);
> > ????????}
> >
> > ????????ixgbevf_set_ivar(adapter, -1, 1, v_idx);
> > ????????/* setup eims_other and add value to global
> > eims_enable_mask */
> > -???????adapter->eims_other = 1 << v_idx;
> > +???????adapter->eims_other = BIT(v_idx);
> > ????????adapter->eims_enable_mask |= adapter->eims_other;
> > ?}
> >
> > @@ -1589,8 +1589,8 @@ static void ixgbevf_configure_tx_ring(struct
> > ixgbevf_adapter *adapter,
> > ????????txdctl |= (8 << 16);????/* WTHRESH = 8 */
> >
> > ????????/* Setting PTHRESH to 32 both improves performance */
> > -???????txdctl |= (1 << 8) |????/* HTHRESH = 1 */
> > -?????????????????32;??????????/* PTHRESH = 32 */
> > +???????txdctl |= (1u << 8) |????/* HTHRESH = 1 */
> > +??????????????????32;???????????/* PTHRESH = 32 */
> >
> > ????????clear_bit(__IXGBEVF_HANG_CHECK_ARMED, &ring->state);
> >
> > @@ -1646,7 +1646,7 @@ static void ixgbevf_setup_psrtype(struct
> > ixgbevf_adapter *adapter)
> > ??????????????????????IXGBE_PSRTYPE_L2HDR;
> >
> > ????????if (adapter->num_rx_queues > 1)
> > -???????????????psrtype |= 1 << 29;
> > +???????????????psrtype |= BIT(29);
> >
> > ????????IXGBE_WRITE_REG(hw, IXGBE_VFPSRTYPE, psrtype);
> > ?}
> > @@ -2797,7 +2797,7 @@ static void ixgbevf_check_hang_subtask(struct
> > ixgbevf_adapter *adapter)
> > ????????????????struct ixgbevf_q_vector *qv = adapter->q_vector[i];
> >
> > ????????????????if (qv->rx.ring || qv->tx.ring)
> > -???????????????????????eics |= 1 << i;
> > +???????????????????????eics |= BIT(i);
> > ????????}
> >
> > ????????/* Cause software interrupt to ensure rings are cleaned */
> > @@ -3325,7 +3325,7 @@ static int ixgbevf_tso(struct ixgbevf_ring
> > *tx_ring,
> > ????????/* mss_l4len_id: use 1 as index for TSO */
> > ????????mss_l4len_idx = l4len << IXGBE_ADVTXD_L4LEN_SHIFT;
> > ????????mss_l4len_idx |= skb_shinfo(skb)->gso_size <<
> > IXGBE_ADVTXD_MSS_SHIFT;
> > -???????mss_l4len_idx |= 1 << IXGBE_ADVTXD_IDX_SHIFT;
> > +???????mss_l4len_idx |= BIT(IXGBE_ADVTXD_IDX_SHIFT);
> >
> > ????????/* vlan_macip_lens: HEADLEN, MACLEN, VLAN tag */
> > ????????vlan_macip_lens = skb_network_header_len(skb);
> > @@ -3422,7 +3422,7 @@ static void ixgbevf_tx_olinfo_status(union
> > ixgbe_adv_tx_desc *tx_desc,
> >
> > ????????/* use index 1 context for TSO/FSO/FCOE */
> > ????????if (tx_flags & IXGBE_TX_FLAGS_TSO)
> > -???????????????olinfo_status |= cpu_to_le32(1 <<
> > IXGBE_ADVTXD_IDX_SHIFT);
> > +???????????????olinfo_status |=
> > cpu_to_le32(BIT(IXGBE_ADVTXD_IDX_SHIFT));
> Same here.???This is a index value shifted by
> ADVTXD_IDX_SHIFT.??Maybe
> you should just invent a new bit so that you have IXGBE_ADVTXD_IDX1.
> It would be much more readable than converting a shift into a bit
> index.
Yea this should just be "1u" instead of BIT.
Thanks,
Jake
next prev parent reply other threads:[~2016-04-13 21:47 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-04-13 21:31 [Intel-wired-lan] [PATCH v1 00/13] Fix several GCC6 warnings Jacob Keller
2016-04-13 21:31 ` [Intel-wired-lan] [PATCH v1 01/13] ixgbe: use BIT() macro Jacob Keller
2016-04-13 21:31 ` [Intel-wired-lan] [PATCH v1 02/13] ixgbe: resolve shift of negative value warning Jacob Keller
2016-04-13 21:31 ` [Intel-wired-lan] [PATCH v1 03/13] ixgbevf: make use of BIT() macro to avoid shift of signed values Jacob Keller
2016-04-13 21:39 ` Alexander Duyck
2016-04-13 21:47 ` Keller, Jacob E [this message]
2016-04-13 21:31 ` [Intel-wired-lan] [PATCH v1 04/13] i40e/i40evf: fix I40E_MASK signed shift overflow warnings Jacob Keller
2016-04-13 21:31 ` [Intel-wired-lan] [PATCH v1 05/13] i40e: make use of BIT() macro to prevent left shift of signed values Jacob Keller
2016-04-13 21:31 ` [Intel-wired-lan] [PATCH v1 06/13] i40evf: make use of BIT() macro to avoid signed left shift Jacob Keller
2016-04-13 21:31 ` [Intel-wired-lan] [PATCH v1 07/13] igb: use BIT() macro or unsigned prefix Jacob Keller
2016-04-13 21:31 ` [Intel-wired-lan] [PATCH v1 08/13] igb: make igb_update_pf_vlvf static Jacob Keller
2016-04-13 21:31 ` [Intel-wired-lan] [PATCH v1 09/13] igbvf: remove unused variable and dead code Jacob Keller
2016-04-13 21:31 ` [Intel-wired-lan] [PATCH v1 10/13] igbvf: use BIT() macro instead of shifts Jacob Keller
2016-04-13 21:44 ` Alexander Duyck
2016-04-13 21:31 ` [Intel-wired-lan] [PATCH v1 11/13] e1000e: use BIT() macro for bit defines Jacob Keller
2016-04-13 21:31 ` [Intel-wired-lan] [PATCH v1 12/13] e1000e: mark shifted values as unsigned Jacob Keller
2016-04-13 21:31 ` [Intel-wired-lan] [PATCH v1 13/13] e1000e: remove unused variable Jacob Keller
2016-04-13 21:39 ` Keller, Jacob E
2016-04-13 21:57 ` [Intel-wired-lan] [PATCH v1 00/13] Fix several GCC6 warnings Alexander Duyck
2016-04-13 22:32 ` Keller, Jacob E
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=1460584026.9106.37.camel@intel.com \
--to=jacob.e.keller@intel.com \
--cc=intel-wired-lan@osuosl.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox