mirror of
git://git.yoctoproject.org/linux-yocto.git
synced 2026-01-27 12:47:24 +01:00
RDMA/siw: use skb_crc32c() instead of __skb_checksum()
Instead of calling __skb_checksum() with a skb_checksum_ops struct that does CRC32C, just call the new function skb_crc32c(). This is faster and simpler. Acked-by: Leon Romanovsky <leon@kernel.org> Reviewed-by: Bernard Metzler <bmt@zurich.ibm.com> Signed-off-by: Eric Biggers <ebiggers@google.com> Reviewed-by: Hannes Reinecke <hare@suse.de> Link: https://patch.msgid.link/20250519175012.36581-5-ebiggers@kernel.org Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
parent
86edc94da1
commit
62673b7df9
|
|
@ -3,6 +3,7 @@ config RDMA_SIW
|
|||
depends on INET && INFINIBAND
|
||||
depends on INFINIBAND_VIRT_DMA
|
||||
select CRC32
|
||||
select NET_CRC32C
|
||||
help
|
||||
This driver implements the iWARP RDMA transport over
|
||||
the Linux TCP/IP network stack. It enables a system with a
|
||||
|
|
|
|||
|
|
@ -693,29 +693,9 @@ static inline void siw_crc_oneshot(const void *data, size_t len, u8 out[4])
|
|||
return siw_crc_final(&crc, out);
|
||||
}
|
||||
|
||||
static inline __wsum siw_csum_update(const void *buff, int len, __wsum sum)
|
||||
{
|
||||
return (__force __wsum)crc32c((__force __u32)sum, buff, len);
|
||||
}
|
||||
|
||||
static inline __wsum siw_csum_combine(__wsum csum, __wsum csum2, int offset,
|
||||
int len)
|
||||
{
|
||||
return (__force __wsum)crc32c_combine((__force __u32)csum,
|
||||
(__force __u32)csum2, len);
|
||||
}
|
||||
|
||||
static inline void siw_crc_skb(struct siw_rx_stream *srx, unsigned int len)
|
||||
{
|
||||
const struct skb_checksum_ops siw_cs_ops = {
|
||||
.update = siw_csum_update,
|
||||
.combine = siw_csum_combine,
|
||||
};
|
||||
__wsum crc = (__force __wsum)srx->mpa_crc;
|
||||
|
||||
crc = __skb_checksum(srx->skb, srx->skb_offset, len, crc,
|
||||
&siw_cs_ops);
|
||||
srx->mpa_crc = (__force u32)crc;
|
||||
srx->mpa_crc = skb_crc32c(srx->skb, srx->skb_offset, len, srx->mpa_crc);
|
||||
}
|
||||
|
||||
#define siw_dbg(ibdev, fmt, ...) \
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user