Hi Mark, On 16 September 2014 13:40, Mark Brown <broonie@xxxxxxxxxx> wrote: > On Wed, Sep 10, 2014 at 01:20:18PM -0400, Ashwin Chaugule wrote: > >> ACPI 5.0+ spec defines a generic mode of communication >> between the OS and a platform such as the BMC. This medium >> (PCC) is typically used by CPPC (ACPI CPU Performance management), >> RAS (ACPI reliability protocol) and MPST (ACPI Memory power >> states). > > This mostly looks good to me at a fairly high level, one small nit below > which I don't think should be a blocker to an initial merge but would be > good to fix. > > Reviewed-by: Mark Brown <broonie@xxxxxxxxxx> Much appreciated! > >> +static bool pcc_tx_done(struct mbox_chan *chan) >> +{ >> + struct acpi_pcct_subspace *pcct_ss = chan->con_priv; >> + struct acpi_pcct_shared_memory *generic_comm_base = >> + (struct acpi_pcct_shared_memory *) pcct_ss->base_address; >> + u16 cmd_delay = pcct_ss->min_turnaround_time; >> + >> + /* Wait for Platform to consume. */ >> + while (!(readw_relaxed(&generic_comm_base->status) & PCC_CMD_COMPLETE)) >> + udelay(cmd_delay); > > This will busy wait for ever if the controller dies. We're in big > trouble if that happens but it would be good to have some sort of > timeout and scream here. Agreed. I'll add this along with Lv's feedback. Cheers, Ashwin -- To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html