hmi: decode_malfunction fixes

Fix for nodes > 0.  No need to map to node and local chip id.  Just pass i as
chip id.  Remove unneccessary braces.

In set_capp_recoverable, return not recovered if phb not found.

Found by Milton Miller.

Signed-off-by: Ryan Grimm <grimm@linux.vnet.ibm.com>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Merge branch 'release-2.1.1'
plat/palmetto: Fix SIO UART vs UART setup and iBT setup

The AMI images use the virtual UART, not the SIO UART, so configuring
the SIO the way we do is incorrect. Additionally, they don't configure
the interrupts properly (bad polarity for VUART and bad number for iBT).

This reworks the inits to fix that up:

 - All SIO interrupts are set to level low

 - Check if VUART is enabled. If yes, configure and use it (and disable
SIO UART which hostboot might have left enabled).

 - Else, reconfigure VUART LPC address and IRQ properly

 - Configure iBT LPC address and IRQ properly

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
ipmi/bt: Rework iBT register access

The bits in the control register are mostly write-1-to-clear, so
the rmw sequences in bt_setmask() and bt_clearmask() don't work.

Additionally, H_BUSY is weird as it's a write-1-to-toggle, so let's
write a "safe" function that sets it to the desired state based on
its previous state. (We can optimize that further later).

Also enable interrupt operations.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>