Missatge de Rajat Jain <raja...@google.com> del dia dj., 4 d’abr. 2019
a les 20:40:
>
> On Wed, Apr 3, 2019 at 2:34 PM Evan Green <evgr...@chromium.org> wrote:
> >
> > Introduce the command and response structures for the second revision
> > of the host sleep event. These structures are part of a new EC change
> > that enables detection of failure to enter S0ix. The EC waits a
> > kernel-specified timeout (or a default amount of time) for the S0_SLP
> > pin to change, and wakes the system if that change does not occur in
> > time.
> >
> > Signed-off-by: Evan Green <evgr...@chromium.org>
> Reviewed-by: Rajat Jain <raja...@chromium.org>

Acked-by: Enric Balletbo i Serra <enric.balle...@collabora.com>

>
> >
> > ---
> >
> > Changes in v3: None
> > Changes in v2:
> > - Made unions anonymous
> > - Replaced reserved union members with a comment
> >
> >  include/linux/mfd/cros_ec_commands.h | 57 ++++++++++++++++++++++++++++
> >  1 file changed, 57 insertions(+)
> >
> > diff --git a/include/linux/mfd/cros_ec_commands.h 
> > b/include/linux/mfd/cros_ec_commands.h
> > index fc91082d4c35..1cdb07c0ece1 100644
> > --- a/include/linux/mfd/cros_ec_commands.h
> > +++ b/include/linux/mfd/cros_ec_commands.h
> > @@ -2729,6 +2729,63 @@ struct ec_params_host_sleep_event {
> >         uint8_t sleep_event;
> >  } __packed;
> >
> > +/*
> > + * Use a default timeout value (CONFIG_SLEEP_TIMEOUT_MS) for detecting 
> > sleep
> > + * transition failures
> > + */
> > +#define EC_HOST_SLEEP_TIMEOUT_DEFAULT 0
> > +
> > +/* Disable timeout detection for this sleep transition */
> > +#define EC_HOST_SLEEP_TIMEOUT_INFINITE 0xFFFF
> > +
> > +struct ec_params_host_sleep_event_v1 {
> > +       /* The type of sleep being entered or exited. */
> > +       uint8_t sleep_event;
> > +
> > +       /* Padding */
> > +       uint8_t reserved;
> > +       union {
> > +               /* Parameters that apply for suspend messages. */
> > +               struct {
> > +                       /*
> > +                        * The timeout in milliseconds between when this 
> > message
> > +                        * is received and when the EC will declare sleep
> > +                        * transition failure if the sleep signal is not
> > +                        * asserted.
> > +                        */
> > +                       uint16_t sleep_timeout_ms;
> > +               } suspend_params;
> > +
> > +               /* No parameters for non-suspend messages. */
> > +       };
> > +} __packed;
> > +
> > +/* A timeout occurred when this bit is set */
> > +#define EC_HOST_RESUME_SLEEP_TIMEOUT 0x80000000
> > +
> > +/*
> > + * The mask defining which bits correspond to the number of sleep 
> > transitions,
> > + * as well as the maximum number of suspend line transitions that will be
> > + * reported back to the host.
> > + */
> > +#define EC_HOST_RESUME_SLEEP_TRANSITIONS_MASK 0x7FFFFFFF
> > +
> > +struct ec_response_host_sleep_event_v1 {
> > +       union {
> > +               /* Response fields that apply for resume messages. */
> > +               struct {
> > +                       /*
> > +                        * The number of sleep power signal transitions that
> > +                        * occurred since the suspend message. The high bit
> > +                        * indicates a timeout occurred.
> > +                        */
> > +                       uint32_t sleep_transitions;
> > +               } resume_response;
> > +
> > +               /* No response fields for non-resume messages. */
> > +       };
> > +} __packed;
> > +
> >  
> > /*****************************************************************************/
> >  /* Smart battery pass-through */
> >
> > --
> > 2.20.1
> >

Reply via email to