mirror of
https://github.com/torvalds/linux.git
synced 2024-11-18 18:11:56 +00:00
MIPS: OCTEON: reintroduce crypto features check
Reintroduce run-time check for crypto features. The old one was deleted because it was unreliable, now decide the crypto availability on early boot when the model string is constructed. Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
This commit is contained in:
parent
1e585ef51c
commit
011f3c6cbb
@ -27,6 +27,9 @@
|
||||
|
||||
#include <asm/octeon/octeon.h>
|
||||
|
||||
enum octeon_feature_bits __octeon_feature_bits __read_mostly;
|
||||
EXPORT_SYMBOL_GPL(__octeon_feature_bits);
|
||||
|
||||
/**
|
||||
* Read a byte of fuse data
|
||||
* @byte_addr: address to read
|
||||
@ -103,6 +106,9 @@ static const char *__init octeon_model_get_string_buffer(uint32_t chip_id,
|
||||
else
|
||||
suffix = "NSP";
|
||||
|
||||
if (!fus_dat2.s.nocrypto)
|
||||
__octeon_feature_bits |= OCTEON_HAS_CRYPTO;
|
||||
|
||||
/*
|
||||
* Assume pass number is encoded using <5:3><2:0>. Exceptions
|
||||
* will be fixed later.
|
||||
|
@ -46,8 +46,6 @@ enum octeon_feature {
|
||||
OCTEON_FEATURE_SAAD,
|
||||
/* Does this Octeon support the ZIP offload engine? */
|
||||
OCTEON_FEATURE_ZIP,
|
||||
/* Does this Octeon support crypto acceleration using COP2? */
|
||||
OCTEON_FEATURE_CRYPTO,
|
||||
OCTEON_FEATURE_DORM_CRYPTO,
|
||||
/* Does this Octeon support PCI express? */
|
||||
OCTEON_FEATURE_PCIE,
|
||||
@ -86,6 +84,21 @@ enum octeon_feature {
|
||||
OCTEON_MAX_FEATURE
|
||||
};
|
||||
|
||||
enum octeon_feature_bits {
|
||||
OCTEON_HAS_CRYPTO = 0x0001, /* Crypto acceleration using COP2 */
|
||||
};
|
||||
extern enum octeon_feature_bits __octeon_feature_bits;
|
||||
|
||||
/**
|
||||
* octeon_has_crypto() - Check if this OCTEON has crypto acceleration support.
|
||||
*
|
||||
* Returns: Non-zero if the feature exists. Zero if the feature does not exist.
|
||||
*/
|
||||
static inline int octeon_has_crypto(void)
|
||||
{
|
||||
return __octeon_feature_bits & OCTEON_HAS_CRYPTO;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine if the current Octeon supports a specific feature. These
|
||||
* checks have been optimized to be fairly quick, but they should still
|
||||
|
Loading…
Reference in New Issue
Block a user