Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 50d9a126 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
parents 29bd17af 946fef4e
Loading
Loading
Loading
Loading
+7 −1
Original line number Diff line number Diff line
@@ -88,10 +88,16 @@ config CRYPTO_DEV_HIFN_795X
	select CRYPTO_DES
	select CRYPTO_ALGAPI
	select CRYPTO_BLKCIPHER
	select HW_RANDOM if CRYPTO_DEV_HIFN_795X_RNG
	depends on PCI
	help
	  This option allows you to have support for HIFN 795x crypto adapters.


config CRYPTO_DEV_HIFN_795X_RNG
	bool "HIFN 795x random number generator"
	depends on CRYPTO_DEV_HIFN_795X
	help
	  Select this option if you want to enable the random number generator
	  on the HIFN 795x crypto adapters.

endif # CRYPTO_HW
+3 −3
Original line number Diff line number Diff line
@@ -463,7 +463,7 @@ struct hifn_device

	unsigned int		pk_clk_freq;

#if defined(CONFIG_HW_RANDOM) || defined(CONFIG_HW_RANDOM_MODULE)
#ifdef CRYPTO_DEV_HIFN_795X_RNG
	unsigned int		rng_wait_time;
	ktime_t			rngtime;
	struct hwrng		rng;
@@ -795,7 +795,7 @@ static struct pci2id {
	}
};

#if defined(CONFIG_HW_RANDOM) || defined(CONFIG_HW_RANDOM_MODULE)
#ifdef CRYPTO_DEV_HIFN_795X_RNG
static int hifn_rng_data_present(struct hwrng *rng, int wait)
{
	struct hifn_device *dev = (struct hifn_device *)rng->priv;
@@ -880,7 +880,7 @@ static int hifn_init_pubrng(struct hifn_device *dev)
	dprintk("Chip %s: RNG engine has been successfully initialised.\n",
			dev->name);

#if defined(CONFIG_HW_RANDOM) || defined(CONFIG_HW_RANDOM_MODULE)
#ifdef CRYPTO_DEV_HIFN_795X_RNG
	/* First value must be discarded */
	hifn_read_1(dev, HIFN_1_RNG_DATA);
	dev->rngtime = ktime_get();