I was using the old .upos version ht_c[] and misconfigured the upos value, after fixed the value soft resets OK with ht_optimize_link(). Another needs_reset request comes from apply_cpu_errata_fixes().
Regards, Liu Tao
YhLu wrote:
It seems that you only have one CPU. Then without ht_optimize_link in in_conherent.c you even don't need to do soft_reset.
What's the value in you resource_map.c?
You need update that to
PCI_ADDR(0, 0x18, 1, 0xE0), 0x0000FC88, 0x06000203, // AMD
8131/8111 on
link0 of CPU 0 PCI_ADDR(0, 0x18, 1, 0xE4), 0x0000FC88, 0x09070003, // AMD 8131 on
link1
of CPU 0 PCI_ADDR(0, 0x18, 1, 0xE8), 0x0000FC88, 0x0c0a0003, // AMD 8131 on
link2
of CPU 0 PCI_ADDR(0, 0x18, 1, 0xEC), 0x0000FC88, 0x00000000,
In the auto.c
static const struct ht_chain ht_c[] = { { /* Link 0 of CPU0 */ .devreg = 0xe0, /* Preset bus num in resource map
*/ }, { /* Link 1 of CPU0 */ .devreg = 0xe4, /* Preset bus num in resource map */ }, { /* Link 2 of CPU0 */ .devreg = 0xe8, /* Preset bus num in resource map */ }, };