/* SPDX-License-Identifier: GPL-2.0 */
#ifndef __DRM_RANDOM_H__
#define __DRM_RANDOM_H__

/* This is a temporary home for a couple of utility functions that should
 * be transposed to lib/ at the earliest convenience.
 */

#include <linux/prandom.h>

#define DRM_RND_STATE_INITIALIZER(seed__) ({				\
	struct rnd_state state__;					\
	prandom_seed_state(&state__, (seed__));				\
	state__;							\
})

#define DRM_RND_STATE(name__, seed__) \
	struct rnd_state name__ = DRM_RND_STATE_INITIALIZER(seed__)

unsigned int *drm_random_order(unsigned int count,
			       struct rnd_state *state);
void drm_random_reorder(unsigned int *order,
			unsigned int count,
			struct rnd_state *state);
u32 drm_prandom_u32_max_state(u32 ep_ro,
			      struct rnd_state *state);

#endif /* !__DRM_RANDOM_H__ */
