On Tue, Jan 4, 2022 at 10:12 AM Ruifeng Wang <ruifeng.w...@arm.com> wrote:
> > From: pbhagavat...@marvell.com <pbhagavat...@marvell.com>
[snip]
> > -/**
> > - * Use single crc32 instruction to perform a hash on a 2 bytes value.
> > - * Fall back to software crc32 implementation in case SSE4.2 is
> > - * not supported
> > - *
> > - * @param data
> > - *   Data to perform hash on.
> > - * @param init_val
> > - *   Value to initialise hash generator.
> > - * @return
> > - *   32bit calculated hash value.
> > - */
> > -static inline uint32_t
> > -rte_hash_crc_2byte(uint16_t data, uint32_t init_val) -{ -#if defined
> > RTE_ARCH_X86
> > -     if (likely(crc32_alg & CRC32_SSE42))
> > -             return crc32c_sse42_u16(data, init_val);
> > +#if defined RTE_ARCH_ARM64
> > +             RTE_LOG(WARNING, HASH,
> > +                     "Incorrect CRC32 algorithm requested setting best
> > available algorithm on the architecture\n");
> > +             rte_hash_crc_set_alg(CRC32_ARM64);
> > +#endif
> > +             break;
> > +     case CRC32_ARM64:
> > +#if defined RTE_ARCH_ARM64
> > +             if (rte_cpu_get_flag_enabled(RTE_CPUFLAG_CRC32))
> > +                     crc32_alg = CRC32_ARM64;
> >  #endif
> > + #if defined RTE_ARCH_X86
> > +             RTE_LOG(WARNING, HASH,
> > +                     "Incorrect CRC32 algorithm requested setting best
> > available algorithm on the architecture\n");
> > +             rte_hash_crc_set_alg(CRC32_SSE42_x64);
> >  #endif
> > +             break;
>
> I edited this part for readability.
> The 'break' need to be inside #if, so algorithm can fallback to CRC32_SW  
> when CRC32 feature is not available on hardware.

I marked this series in patchwork as changes requested.

Thanks.


-- 
David Marchand

Reply via email to