Unverified Commit ff5378ff authored by openeuler-ci-bot's avatar openeuler-ci-bot Committed by Gitee
Browse files

!12309 [OLK-5.10] AMD Genoa and Turin Crypto and Edac patches backport for OLK-5.10

Merge Pull Request from: @PvsNarasimha 
 
* AMD PSP I2C bus support
* Support for 0x15C7 , 0x156E and 0x17E0 PSP/CCP devices
* New PCI Device IDs support for AMD's 1Ah-based models 00h-1Fh, 20h and 40h-4Fh
* Thermal info support for AMD Family 1Ah-based models
* EDAC support for family 1Ah-based models 00h-1Fh and 40h-4Fh

**Unit tests**
----------------------------------------
 
### Crypto patches ** 
Added support for PCI device 0x156E and 0x17E0
     **lspci -vvv | grep 156e**       
        55:00.5 Encryption controller: Advanced Micro Devices, Inc. [AMD] Device 156e
        d1:00.5 Encryption controller: Advanced Micro Devices, Inc. [AMD] Device 156e
 
### Edac patches **
     **sudo dmesg | grep -i edac** 
[    8.542323] EDAC MC0: Giving out device to module amd64_edac controller F1Ah: DEV 0000:00:18.3 (INTERRUPT)
[    8.542325] EDAC amd64: F1Ah detected (node 0).
[    8.542331] EDAC MC: UMC0 chip selects:
[    8.542332] EDAC amd64: MC: 0: 32768MB 1: 32768MB
[    8.542333] EDAC amd64: MC: 2:     0MB 3:     0MB
[    8.542336] EDAC MC: UMC1 chip selects:
[    8.542336] EDAC amd64: MC: 0: 32768MB 1: 32768MB
[    8.542336] EDAC amd64: MC: 2:     0MB 3:     0MB
[    8.542339] EDAC MC: UMC2 chip selects:
[    8.542339] EDAC amd64: MC: 0: 32768MB 1: 32768MB
[    8.542340] EDAC amd64: MC: 2:     0MB 3:     0MB
[    8.542342] EDAC MC: UMC3 chip selects:
[    8.542342] EDAC amd64: MC: 0: 32768MB 1: 32768MB
[    8.542343] EDAC amd64: MC: 2:     0MB 3:     0MB
[    8.542345] EDAC MC: UMC4 chip selects:
[    8.542345] EDAC amd64: MC: 0: 32768MB 1: 32768MB
[    8.542346] EDAC amd64: MC: 2:     0MB 3:     0MB
[    8.542348] EDAC MC: UMC5 chip selects:
[    8.542349] EDAC amd64: MC: 0: 32768MB 1: 32768MB
[    8.542349] EDAC amd64: MC: 2:     0MB 3:     0MB 
 
Link:https://gitee.com/openeuler/kernel/pulls/12309 
parents c17394e0 b6c66f17
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -17074,6 +17074,7 @@ SYNOPSYS DESIGNWARE I2C DRIVER
M:	Jarkko Nikula <jarkko.nikula@linux.intel.com>
R:	Andy Shevchenko <andriy.shevchenko@linux.intel.com>
R:	Mika Westerberg <mika.westerberg@linux.intel.com>
R:	Jan Dabros <jsd@semihalf.com>
L:	linux-i2c@vger.kernel.org
S:	Maintained
F:	drivers/i2c/busses/i2c-designware-*
+1 −0
Original line number Diff line number Diff line
@@ -3731,6 +3731,7 @@ CONFIG_I2C_SCMI=m
CONFIG_I2C_DESIGNWARE_CORE=m
# CONFIG_I2C_DESIGNWARE_SLAVE is not set
CONFIG_I2C_DESIGNWARE_PLATFORM=m
CONFIG_I2C_DESIGNWARE_AMDPSP=y
CONFIG_I2C_DESIGNWARE_BAYTRAIL=y
# CONFIG_I2C_DESIGNWARE_PCI is not set
# CONFIG_I2C_EMEV2 is not set
+0 −1
Original line number Diff line number Diff line
@@ -24,7 +24,6 @@ extern int amd_set_subcaches(int, unsigned long);

extern int amd_smn_read(u16 node, u32 address, u32 *value);
extern int amd_smn_write(u16 node, u32 address, u32 value);
extern int amd_df_indirect_read(u16 node, u8 func, u16 reg, u8 instance_id, u32 *lo);

struct amd_l3_cache {
	unsigned indices;
+2 −2
Original line number Diff line number Diff line
@@ -144,7 +144,7 @@ static inline unsigned int x86_cpuid_family(void)
int __init microcode_init(void);
extern void __init load_ucode_bsp(void);
extern void load_ucode_ap(void);
void reload_early_microcode(void);
void reload_early_microcode(unsigned int cpu);
extern bool get_builtin_firmware(struct cpio_data *cd, const char *name);
extern bool initrd_gone;
void microcode_bsp_resume(void);
@@ -152,7 +152,7 @@ void microcode_bsp_resume(void);
static inline int __init microcode_init(void)			{ return 0; };
static inline void __init load_ucode_bsp(void)			{ }
static inline void load_ucode_ap(void)				{ }
static inline void reload_early_microcode(void)			{ }
static inline void reload_early_microcode(unsigned int cpu)	{ }
static inline void microcode_bsp_resume(void)			{ }
static inline bool
get_builtin_firmware(struct cpio_data *cd, const char *name)	{ return false; }
+4 −8
Original line number Diff line number Diff line
@@ -41,20 +41,16 @@ struct microcode_amd {
	unsigned int			mpb[0];
};

#define PATCH_MAX_SIZE (3 * PAGE_SIZE)

#ifdef CONFIG_MICROCODE_AMD
extern void __init load_ucode_amd_bsp(unsigned int family);
extern void load_ucode_amd_ap(unsigned int family);
extern void load_ucode_amd_early(unsigned int cpuid_1_eax);
extern int __init save_microcode_in_initrd_amd(unsigned int family);
void reload_ucode_amd(void);
void reload_ucode_amd(unsigned int cpu);
extern void amd_check_microcode(void);
#else
static inline void __init load_ucode_amd_bsp(unsigned int family) {}
static inline void load_ucode_amd_ap(unsigned int family) {}
static inline void load_ucode_amd_early(unsigned int cpuid_1_eax) {}
static inline int __init
save_microcode_in_initrd_amd(unsigned int family) { return -EINVAL; }
static inline void reload_ucode_amd(void) {}
static inline void reload_ucode_amd(unsigned int cpu) {}
static inline void amd_check_microcode(void) {}
#endif
#endif /* _ASM_X86_MICROCODE_AMD_H */
Loading