Re: [PATCH] [v9] platform/chrome: cros_ec_lpc: Move host command to prepare/complete

From: Tim Van Patten
Date: Fri May 19 2023 - 11:33:07 EST


On Thu, May 18, 2023 at 7:55 PM Tzung-Bi Shih <tzungbi@xxxxxxxxxx> wrote:
>
> On Thu, May 18, 2023 at 10:47:23AM -0600, Tim Van Patten wrote:
> > On Wed, May 17, 2023 at 7:38 PM Tzung-Bi Shih <tzungbi@xxxxxxxxxx> wrote:
> > > On Wed, May 17, 2023 at 09:56:59AM -0600, Tim Van Patten wrote:
> > > > The issue is that we need the EC aware of the AP being in the process
> > > > of suspend/resume from start to finish, so we can accurately
> > > > determine:
> > > > - How long the process took to better gauge we're meeting ChromeOS requirements.
> > > > - When the AP failed to complete the process, so we can collect data
> > > > and perform error recovery.
> [...]
> > > How could the *error* recovery do?
> >
> > I don't understand what this is asking.
>
> Given that you said "we can collect data and perform error recovery" if the
> suspend-resume takes more/less time than expected. I'm trying to understand
> what does "error recovery" mean. What recovery it could take?

Currently, for AMD, the EC will trigger data collection and either
reset the AP or send a host event to attempt to trigger the AP into
it's own recovery. Intel is looking into adding error recovery as
well.

> > > > > What about other interfaces (i2c, spi, uart)? Do they also need to change
> > > > the callbacks?
> > > >
> > > > We aren't concerned about those devices, because they aren't being
> > > > used on the devices we're seeing issues with. If devices using those
> > > > ECs want this change, they can pick it up as well, but we don't have
> > > > any way to test changes on those devices (whatever they may be).
> > >
> > > This doesn't sound good. As I would suppose you are adding some new EC FW
> > > features regarding to EC_CMD_HOST_SLEEP_EVENT, you should consider the
> > > existing systems too.
> >
> > Again, why are you assuming there is new EC FW for this? This is only
> > changing when an already-existing host command is being sent. Nothing
> > is being added or removed.
>
> I see. There is no EC changes.
>
> Specifically, do you see any crashes, or premature events, or mal-functions
> regarding to the measurement is not that accurate?

No, we don't see any issues with the current or new timings of sending
these commands.

> Also, we wouldn't want it to be LPC-specialized. Please consider other
> interfaces.

I'm intentionally excluding those interfaces because we don't have any
way to test/validate this change on those devices. Additionally, we
don't have any devices that use this suspend/resume tracking logic
using those interfaces, so there's no reason to introduce any risk by
changing devices that don't need it.