Michael Wildt 80815f8469 net/bnxt: add TruFlow core session SRAM
- Add TruFlow session resource support functionality
- Add TruFlow session hw flush capability as well as
  sram support functions.
- Add resource definitions for session pools.

Signed-off-by: Michael Wildt <michael.wildt@broadcom.com>
Reviewed-by: Randy Schacher <stuart.schacher@broadcom.com>
Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
2020-04-21 13:57:08 +02:00

48 lines
804 B
C

/* SPDX-License-Identifier: BSD-3-Clause
* Copyright(c) 2019-2020 Broadcom
* All rights reserved.
*/
/* Random Number Functions */
#include <stdio.h>
#include <stdint.h>
#include "rand.h"
#define TF_RAND_LFSR_INIT_VALUE 0xACE1u
uint16_t lfsr = TF_RAND_LFSR_INIT_VALUE;
uint32_t bit;
/**
* Generates a 16 bit pseudo random number
*
* Returns:
* uint16_t number
*/
uint16_t rand16(void)
{
bit = ((lfsr >> 0) ^ (lfsr >> 2) ^ (lfsr >> 3) ^ (lfsr >> 5)) & 1;
return lfsr = (lfsr >> 1) | (bit << 15);
}
/**
* Generates a 32 bit pseudo random number
*
* Returns:
* uint32_t number
*/
uint32_t rand32(void)
{
return (rand16() << 16) | rand16();
}
/**
* Resets the seed used by the pseudo random number generator
*/
void rand_init(void)
{
lfsr = TF_RAND_LFSR_INIT_VALUE;
bit = 0;
}