Merge branch 'enetc-clean-endianness-warnings-up'

Claudiu Manoil says:

====================
enetc: Clean endianness warnings up

Cleanup patches to address the outstanding endianness issues
in the driver reported by sparse.
====================

Link: https://lore.kernel.org/r/20201119101215.19223-1-claudiu.manoil@nxp.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
Jakub Kicinski 2020-11-19 22:05:44 -08:00
commit 4082c502bf
2 changed files with 43 additions and 49 deletions

View file

@ -575,10 +575,10 @@ struct enetc_cmd_rfse {
u8 smac_m[6];
u8 dmac_h[6];
u8 dmac_m[6];
u32 sip_h[4];
u32 sip_m[4];
u32 dip_h[4];
u32 dip_m[4];
__be32 sip_h[4];
__be32 sip_m[4];
__be32 dip_h[4];
__be32 dip_m[4];
u16 ethtype_h;
u16 ethtype_m;
u16 ethtype4_h;

View file

@ -128,8 +128,8 @@ static int enetc_setup_taprio(struct net_device *ndev,
return -ENOMEM;
}
cbd.addr[0] = lower_32_bits(dma);
cbd.addr[1] = upper_32_bits(dma);
cbd.addr[0] = cpu_to_le32(lower_32_bits(dma));
cbd.addr[1] = cpu_to_le32(upper_32_bits(dma));
cbd.cls = BDCR_CMD_PORT_GCL;
cbd.status_flags = 0;
@ -506,16 +506,15 @@ static int enetc_streamid_hw_set(struct enetc_ndev_priv *priv,
return -ENOMEM;
}
cbd.addr[0] = lower_32_bits(dma);
cbd.addr[1] = upper_32_bits(dma);
cbd.addr[0] = cpu_to_le32(lower_32_bits(dma));
cbd.addr[1] = cpu_to_le32(upper_32_bits(dma));
eth_broadcast_addr(si_data->dmac);
si_data->vid_vidm_tg =
cpu_to_le16(ENETC_CBDR_SID_VID_MASK
+ ((0x3 << 14) | ENETC_CBDR_SID_VIDM));
si_data->vid_vidm_tg = (ENETC_CBDR_SID_VID_MASK
+ ((0x3 << 14) | ENETC_CBDR_SID_VIDM));
si_conf = &cbd.sid_set;
/* Only one port supported for one entry, set itself */
si_conf->iports = 1 << enetc_get_port(priv);
si_conf->iports = cpu_to_le32(1 << enetc_get_port(priv));
si_conf->id_type = 1;
si_conf->oui[2] = 0x0;
si_conf->oui[1] = 0x80;
@ -540,7 +539,7 @@ static int enetc_streamid_hw_set(struct enetc_ndev_priv *priv,
si_conf->en = 0x80;
si_conf->stream_handle = cpu_to_le32(sid->handle);
si_conf->iports = 1 << enetc_get_port(priv);
si_conf->iports = cpu_to_le32(1 << enetc_get_port(priv));
si_conf->id_type = sid->filtertype;
si_conf->oui[2] = 0x0;
si_conf->oui[1] = 0x80;
@ -550,8 +549,8 @@ static int enetc_streamid_hw_set(struct enetc_ndev_priv *priv,
cbd.length = cpu_to_le16(data_size);
cbd.addr[0] = lower_32_bits(dma);
cbd.addr[1] = upper_32_bits(dma);
cbd.addr[0] = cpu_to_le32(lower_32_bits(dma));
cbd.addr[1] = cpu_to_le32(upper_32_bits(dma));
/* VIDM default to be 1.
* VID Match. If set (b1) then the VID must match, otherwise
@ -560,16 +559,14 @@ static int enetc_streamid_hw_set(struct enetc_ndev_priv *priv,
*/
if (si_conf->id_type == STREAMID_TYPE_NULL) {
ether_addr_copy(si_data->dmac, sid->dst_mac);
si_data->vid_vidm_tg =
cpu_to_le16((sid->vid & ENETC_CBDR_SID_VID_MASK) +
((((u16)(sid->tagged) & 0x3) << 14)
| ENETC_CBDR_SID_VIDM));
si_data->vid_vidm_tg = (sid->vid & ENETC_CBDR_SID_VID_MASK) +
((((u16)(sid->tagged) & 0x3) << 14)
| ENETC_CBDR_SID_VIDM);
} else if (si_conf->id_type == STREAMID_TYPE_SMAC) {
ether_addr_copy(si_data->smac, sid->src_mac);
si_data->vid_vidm_tg =
cpu_to_le16((sid->vid & ENETC_CBDR_SID_VID_MASK) +
((((u16)(sid->tagged) & 0x3) << 14)
| ENETC_CBDR_SID_VIDM));
si_data->vid_vidm_tg = (sid->vid & ENETC_CBDR_SID_VID_MASK) +
((((u16)(sid->tagged) & 0x3) << 14)
| ENETC_CBDR_SID_VIDM);
}
err = enetc_send_cmd(priv->si, &cbd);
@ -604,7 +601,7 @@ static int enetc_streamfilter_hw_set(struct enetc_ndev_priv *priv,
}
sfi_config->sg_inst_table_index = cpu_to_le16(sfi->gate_id);
sfi_config->input_ports = 1 << enetc_get_port(priv);
sfi_config->input_ports = cpu_to_le32(1 << enetc_get_port(priv));
/* The priority value which may be matched against the
* frames priority value to determine a match for this entry.
@ -658,8 +655,8 @@ static int enetc_streamcounter_hw_get(struct enetc_ndev_priv *priv,
err = -ENOMEM;
goto exit;
}
cbd.addr[0] = lower_32_bits(dma);
cbd.addr[1] = upper_32_bits(dma);
cbd.addr[0] = cpu_to_le32(lower_32_bits(dma));
cbd.addr[1] = cpu_to_le32(upper_32_bits(dma));
cbd.length = cpu_to_le16(data_size);
@ -667,28 +664,25 @@ static int enetc_streamcounter_hw_get(struct enetc_ndev_priv *priv,
if (err)
goto exit;
cnt->matching_frames_count =
((u64)le32_to_cpu(data_buf->matchh) << 32)
+ data_buf->matchl;
cnt->matching_frames_count = ((u64)data_buf->matchh << 32) +
data_buf->matchl;
cnt->not_passing_sdu_count =
((u64)le32_to_cpu(data_buf->msdu_droph) << 32)
+ data_buf->msdu_dropl;
cnt->not_passing_sdu_count = ((u64)data_buf->msdu_droph << 32) +
data_buf->msdu_dropl;
cnt->passing_sdu_count = cnt->matching_frames_count
- cnt->not_passing_sdu_count;
cnt->not_passing_frames_count =
((u64)le32_to_cpu(data_buf->stream_gate_droph) << 32)
+ le32_to_cpu(data_buf->stream_gate_dropl);
((u64)data_buf->stream_gate_droph << 32) +
data_buf->stream_gate_dropl;
cnt->passing_frames_count = cnt->matching_frames_count
- cnt->not_passing_sdu_count
- cnt->not_passing_frames_count;
cnt->passing_frames_count = cnt->matching_frames_count -
cnt->not_passing_sdu_count -
cnt->not_passing_frames_count;
cnt->red_frames_count =
((u64)le32_to_cpu(data_buf->flow_meter_droph) << 32)
+ le32_to_cpu(data_buf->flow_meter_dropl);
cnt->red_frames_count = ((u64)data_buf->flow_meter_droph << 32) +
data_buf->flow_meter_dropl;
exit:
kfree(data_buf);
@ -795,15 +789,15 @@ static int enetc_streamgate_hw_set(struct enetc_ndev_priv *priv,
return -ENOMEM;
}
cbd.addr[0] = lower_32_bits(dma);
cbd.addr[1] = upper_32_bits(dma);
cbd.addr[0] = cpu_to_le32(lower_32_bits(dma));
cbd.addr[1] = cpu_to_le32(upper_32_bits(dma));
sgce = &sgcl_data->sgcl[0];
sgcl_config->agtst = 0x80;
sgcl_data->ct = cpu_to_le32(sgi->cycletime);
sgcl_data->cte = cpu_to_le32(sgi->cycletimext);
sgcl_data->ct = sgi->cycletime;
sgcl_data->cte = sgi->cycletimext;
if (sgi->init_ipv >= 0)
sgcl_config->aipv = (sgi->init_ipv & 0x7) | 0x8;
@ -825,7 +819,7 @@ static int enetc_streamgate_hw_set(struct enetc_ndev_priv *priv,
to->msdu[2] = (from->maxoctets >> 16) & 0xFF;
}
to->interval = cpu_to_le32(from->interval);
to->interval = from->interval;
}
/* If basetime is less than now, calculate start time */
@ -837,15 +831,15 @@ static int enetc_streamgate_hw_set(struct enetc_ndev_priv *priv,
err = get_start_ns(now, sgi->cycletime, &start);
if (err)
goto exit;
sgcl_data->btl = cpu_to_le32(lower_32_bits(start));
sgcl_data->bth = cpu_to_le32(upper_32_bits(start));
sgcl_data->btl = lower_32_bits(start);
sgcl_data->bth = upper_32_bits(start);
} else {
u32 hi, lo;
hi = upper_32_bits(sgi->basetime);
lo = lower_32_bits(sgi->basetime);
sgcl_data->bth = cpu_to_le32(hi);
sgcl_data->btl = cpu_to_le32(lo);
sgcl_data->bth = hi;
sgcl_data->btl = lo;
}
err = enetc_send_cmd(priv->si, &cbd);