Re: [PATCH v1 1/1] x86/platform/intel-mid: Run PWRMU command immediately

From: Ingo Molnar
Date: Thu Aug 18 2016 - 06:52:45 EST



* Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> wrote:

> On some firmwares we have to tell how exactly we want the command to be run.
> The default case for now is to run it immediately.
>
> Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
> ---
> arch/x86/platform/intel-mid/pwr.c | 6 +++++-
> 1 file changed, 5 insertions(+), 1 deletion(-)
>
> diff --git a/arch/x86/platform/intel-mid/pwr.c b/arch/x86/platform/intel-mid/pwr.c
> index c901a34..0548741 100644
> --- a/arch/x86/platform/intel-mid/pwr.c
> +++ b/arch/x86/platform/intel-mid/pwr.c
> @@ -44,6 +44,10 @@
> /* Bits in PM_CMD */
> #define PM_CMD_CMD(x) ((x) << 0)
> #define PM_CMD_IOC (1 << 8)
> +#define PM_CMD_CM_NOP (0 << 9)
> +#define PM_CMD_CM_IMMEDIATE (1 << 9)
> +#define PM_CMD_CM_DELAY (2 << 9)
> +#define PM_CMD_CM_TRIGGER (3 << 9)
> #define PM_CMD_D3cold (1 << 21)
>
> /* List of commands */
> @@ -137,7 +141,7 @@ static int mid_pwr_wait(struct mid_pwr *pwr)
>
> static int mid_pwr_wait_for_cmd(struct mid_pwr *pwr, u8 cmd)
> {
> - writel(PM_CMD_CMD(cmd), pwr->regs + PM_CMD);
> + writel(PM_CMD_CMD(cmd) | PM_CMD_CM_IMMEDIATE, pwr->regs + PM_CMD);
> return mid_pwr_wait(pwr);
> }

Does this fix a bug? If yes then please also add that to the changelog: what are
the symptoms of the bug - how does a user notice, etc.

Thanks,

Ingo