F3
(F3(2, 0x02) | IMMED | RS1(REG) | ((K) & 0x3ff) | RD(REG))
#define ADD F3(2, 0x00)
#define AND F3(2, 0x01)
#define ANDCC F3(2, 0x11)
#define OR F3(2, 0x02)
#define XOR F3(2, 0x03)
#define SUB F3(2, 0x04)
#define SUBCC F3(2, 0x14)
#define MUL F3(2, 0x0a) /* umul */
#define DIV F3(2, 0x0e) /* udiv */
#define SLL F3(2, 0x25)
#define SRL F3(2, 0x26)
#define JMPL F3(2, 0x38)
#define RD_Y F3(2, 0x28)
#define WR_Y F3(2, 0x30)
#define LD32 F3(3, 0x00)
#define LD8 F3(3, 0x01)
#define LD16 F3(3, 0x02)
#define LD64 F3(3, 0x0b)
#define ST32 F3(3, 0x04)
(F3(2, 0x02) | IMMED | RS1(REG) | ((K) & 0x3ff) | RD(REG))
#define ADD F3(2, 0x00)
#define AND F3(2, 0x01)
#define ANDCC F3(2, 0x11)
#define OR F3(2, 0x02)
#define XOR F3(2, 0x03)
#define SUB F3(2, 0x04)
#define SUBCC F3(2, 0x14)
#define MUL F3(2, 0x0a)
#define MULX F3(2, 0x09)
#define UDIVX F3(2, 0x0d)
#define DIV F3(2, 0x0e)
#define SLL F3(2, 0x25)
#define SLLX (F3(2, 0x25)|(1<<12))
#define SRA F3(2, 0x27)
#define SRAX (F3(2, 0x27)|(1<<12))
#define SRL F3(2, 0x26)
#define SRLX (F3(2, 0x26)|(1<<12))
#define JMPL F3(2, 0x38)
#define SAVE F3(2, 0x3c)
#define RESTORE F3(2, 0x3d)
#define RD_Y F3(2, 0x28)
#define WR_Y F3(2, 0x30)
#define LD32 F3(3, 0x00)
#define LD8 F3(3, 0x01)
#define LD16 F3(3, 0x02)
#define LD64 F3(3, 0x0b)
#define LD64A F3(3, 0x1b)
#define ST8 F3(3, 0x05)
#define ST16 F3(3, 0x06)
#define ST32 F3(3, 0x04)
#define ST64 F3(3, 0x0e)
#define CAS F3(3, 0x3c)
#define CASX F3(3, 0x3e)
struct pci_dev *F3;
F3 = nb->misc;
if (!F3)
err = pci_read_config_dword(F3, NBCFG, &val);
__func__, PCI_FUNC(F3->devfn), NBCFG);
err = pci_write_config_dword(F3, NBCFG, val);
__func__, PCI_FUNC(F3->devfn), NBCFG);
t = l; l = r; r = t ^ F3(r, Km[2], Kr[2]);
t = l; l = r; r = t ^ F3(r, Km[5], Kr[5]);
t = l; l = r; r = t ^ F3(r, Km[8], Kr[8]);
t = l; l = r; r = t ^ F3(r, Km[11], Kr[11]);
t = l; l = r; r = t ^ F3(r, Km[14], Kr[14]);
t = l; l = r; r = t ^ F3(r, Km[14], Kr[14]);
t = l; l = r; r = t ^ F3(r, Km[11], Kr[11]);
t = l; l = r; r = t ^ F3(r, Km[8], Kr[8]);
t = l; l = r; r = t ^ F3(r, Km[5], Kr[5]);
t = l; l = r; r = t ^ F3(r, Km[2], Kr[2]);
key[1] ^= F3(key[2], Tr[i % 4][5], Tm[i][5]);
block[0] ^= F3(block[1], Kr[2], Km[2]);
block[0] ^= F3(block[1], Kr[2], Km[2]);
key[4] ^= F3(key[5], Tr[i % 4][2], Tm[i][2]);
ROUND(dd, ee, aa, bb, cc, F3, K3, in[3], 11);
ROUND(cc, dd, ee, aa, bb, F3, K3, in[10], 13);
ROUND(bb, cc, dd, ee, aa, F3, K3, in[14], 6);
ROUND(aa, bb, cc, dd, ee, F3, K3, in[4], 7);
ROUND(ee, aa, bb, cc, dd, F3, K3, in[9], 14);
ROUND(dd, ee, aa, bb, cc, F3, K3, in[15], 9);
ROUND(cc, dd, ee, aa, bb, F3, K3, in[8], 13);
ROUND(bb, cc, dd, ee, aa, F3, K3, in[1], 15);
ROUND(aa, bb, cc, dd, ee, F3, K3, in[2], 14);
ROUND(ee, aa, bb, cc, dd, F3, K3, in[7], 8);
ROUND(dd, ee, aa, bb, cc, F3, K3, in[0], 13);
ROUND(cc, dd, ee, aa, bb, F3, K3, in[6], 6);
ROUND(bb, cc, dd, ee, aa, F3, K3, in[13], 5);
ROUND(aa, bb, cc, dd, ee, F3, K3, in[11], 12);
ROUND(ee, aa, bb, cc, dd, F3, K3, in[5], 7);
ROUND(dd, ee, aa, bb, cc, F3, K3, in[12], 5);
ROUND(ddd, eee, aaa, bbb, ccc, F3, KK3, in[15], 9);
ROUND(ccc, ddd, eee, aaa, bbb, F3, KK3, in[5], 7);
ROUND(bbb, ccc, ddd, eee, aaa, F3, KK3, in[1], 15);
ROUND(aaa, bbb, ccc, ddd, eee, F3, KK3, in[3], 11);
ROUND(eee, aaa, bbb, ccc, ddd, F3, KK3, in[7], 8);
ROUND(ddd, eee, aaa, bbb, ccc, F3, KK3, in[14], 6);
ROUND(ccc, ddd, eee, aaa, bbb, F3, KK3, in[6], 6);
ROUND(bbb, ccc, ddd, eee, aaa, F3, KK3, in[9], 14);
ROUND(aaa, bbb, ccc, ddd, eee, F3, KK3, in[11], 12);
ROUND(eee, aaa, bbb, ccc, ddd, F3, KK3, in[8], 13);
ROUND(ddd, eee, aaa, bbb, ccc, F3, KK3, in[12], 5);
ROUND(ccc, ddd, eee, aaa, bbb, F3, KK3, in[2], 14);
ROUND(bbb, ccc, ddd, eee, aaa, F3, KK3, in[10], 13);
ROUND(aaa, bbb, ccc, ddd, eee, F3, KK3, in[0], 13);
ROUND(eee, aaa, bbb, ccc, ddd, F3, KK3, in[4], 7);
ROUND(ddd, eee, aaa, bbb, ccc, F3, KK3, in[13], 5);
if (pvt->F3->device != PCI_DEVICE_ID_AMD_MI200_DF_F3)
pci_write_bits32(pvt->F3, SCRCTRL, scrubval, 0x001F);
amd64_read_pci_cfg(pvt->F3, SCRCTRL, &scrubval);
amd64_read_pci_cfg(pvt->F3, SCRCTRL, &scrubval);
pvt->F1 = pci_get_related_function(pvt->F3->vendor, pci_id1, pvt->F3);
pvt->F2 = pci_get_related_function(pvt->F3->vendor, pci_id2, pvt->F3);
edac_dbg(1, "F3: %s\n", pci_name(pvt->F3));
amd64_read_pci_cfg(pvt->F3, EXT_NB_MCA_CFG, &tmp);
amd64_read_pci_cfg(pvt->F3, NBCAP, &pvt->nbcap);
amd64_read_pci_cfg(pvt->F3, F10_ONLINE_SPARE, &pvt->online_spare);
amd64_read_pci_cfg(pvt->F3, NBCFG, &val);
struct pci_dev *F3)
amd64_read_pci_cfg(F3, NBCTL, &value);
amd64_write_pci_cfg(F3, NBCTL, value);
amd64_read_pci_cfg(F3, NBCFG, &value);
amd64_write_pci_cfg(F3, NBCFG, value);
amd64_read_pci_cfg(F3, NBCFG, &value);
struct pci_dev *F3)
amd64_read_pci_cfg(F3, NBCTL, &value);
amd64_write_pci_cfg(F3, NBCTL, value);
amd64_read_pci_cfg(F3, NBCFG, &value);
amd64_write_pci_cfg(F3, NBCFG, value);
amd64_read_pci_cfg(pvt->F3, NBCFG, &value);
mci->dev_name = pci_name(pvt->F3);
mci->dev_name = pci_name(pvt->F3);
mci->dev_name = pci_name(pvt->F3);
if (pvt->F3->device == PCI_DEVICE_ID_AMD_MI200_DF_F3) {
mci->pdev = &pvt->F3->dev;
struct pci_dev *F3 = node_to_amd_nb(nid)->misc;
pvt->F3 = F3;
if (!enable_ecc_error_reporting(s, nid, F3))
restore_ecc_error_reporting(s, nid, F3);
struct pci_dev *F3 = node_to_amd_nb(nid)->misc;
mci = edac_mc_del_mc(&F3->dev);
restore_ecc_error_reporting(s, nid, F3);
amd64_write_pci_cfg(pvt->F3, F10_NB_ARRAY_ADDR, section);
amd64_write_pci_cfg(pvt->F3, F10_NB_ARRAY_DATA, word_bits);
amd64_write_pci_cfg(pvt->F3, F10_NB_ARRAY_ADDR, section);
amd64_write_pci_cfg(pvt->F3, F10_NB_ARRAY_DATA, word_bits);
amd64_read_pci_cfg(pvt->F3, F10_NB_ARRAY_DATA, &tmp);
struct pci_dev *F1, *F2, *F3;
func(F3) \
func(F3) \
ASPEED_PINCTRL_PIN(F3),
SIG_EXPR_LIST_DECL_SINGLE(F3, SDA8, I2C8, I2C8_DESC);
PIN_DECL_1(F3, GPIOK7, SDA8);
FUNC_GROUP_DECL(I2C8, G5, F3);
SIG_EXPR_LIST_DECL_SINGLE(F3, GPIOW4, GPIOW4, SIG_DESC_SET(SCUA0, 28));
SIG_EXPR_LIST_DECL_SINGLE(F3, ADC4, ADC4);
PIN_DECL_(F3, SIG_EXPR_LIST_PTR(F3, GPIOW4), SIG_EXPR_LIST_PTR(F3, ADC4));
FUNC_GROUP_DECL(ADC4, F3);
ASPEED_PINCTRL_PIN(F3),
ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_PULL_DOWN, F3, F3, SCUA8, 8),
ASPEED_SB_PINCONF(PIN_CONFIG_BIAS_DISABLE, F3, F3, SCUA8, 8),
PIC32_PINCTRL_GROUP(83, F3,
MD5STEP(F3, a, b, c, d, in[5] + 0xfffa3942, 4);
MD5STEP(F3, d, a, b, c, in[8] + 0x8771f681, 11);
MD5STEP(F3, c, d, a, b, in[11] + 0x6d9d6122, 16);
MD5STEP(F3, b, c, d, a, in[14] + 0xfde5380c, 23);
MD5STEP(F3, a, b, c, d, in[1] + 0xa4beea44, 4);
MD5STEP(F3, d, a, b, c, in[4] + 0x4bdecfa9, 11);
MD5STEP(F3, c, d, a, b, in[7] + 0xf6bb4b60, 16);
MD5STEP(F3, b, c, d, a, in[10] + 0xbebfbc70, 23);
MD5STEP(F3, a, b, c, d, in[13] + 0x289b7ec6, 4);
MD5STEP(F3, d, a, b, c, in[0] + 0xeaa127fa, 11);
MD5STEP(F3, c, d, a, b, in[3] + 0xd4ef3085, 16);
MD5STEP(F3, b, c, d, a, in[6] + 0x04881d05, 23);
MD5STEP(F3, a, b, c, d, in[9] + 0xd9d4d039, 4);
MD5STEP(F3, d, a, b, c, in[12] + 0xe6db99e5, 11);
MD5STEP(F3, c, d, a, b, in[15] + 0x1fa27cf8, 16);
MD5STEP(F3, b, c, d, a, in[2] + 0xc4ac5665, 23);