Skip to content

Commit

Permalink
Merge branch 'enetc-clean-endianness-warnings-up'
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Jakub Kicinski committed Nov 20, 2020
2 parents 6b13d8f + 0dfd294 commit 4082c50
Show file tree
Hide file tree
Showing 2 changed files with 43 additions and 49 deletions.
8 changes: 4 additions & 4 deletions drivers/net/ethernet/freescale/enetc/enetc_hw.h
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
84 changes: 39 additions & 45 deletions drivers/net/ethernet/freescale/enetc/enetc_qos.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;

Expand Down Expand Up @@ -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;
Expand All @@ -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;
Expand All @@ -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
Expand All @@ -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);
Expand Down Expand Up @@ -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
* frame’s priority value to determine a match for this entry.
Expand Down Expand Up @@ -658,37 +655,34 @@ 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);

err = enetc_send_cmd(priv->si, &cbd);
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);
Expand Down Expand Up @@ -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;
Expand All @@ -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 */
Expand All @@ -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);
Expand Down

0 comments on commit 4082c50

Please sign in to comment.