Re: [PATCH 6/7] platform/chrome: cros_ec_typec: Parse partner PD ID VDOs

From: Prashant Malani
Date: Wed Oct 28 2020 - 21:22:16 EST


Hi Heikki,

Thanks a lot for reviewing the patch!

On Wed, Oct 28, 2020 at 03:16:33PM +0200, Heikki Krogerus wrote:
> > +
> > + /* Copy the remaining identity VDOs till a maximum of 6. */
> > + for (i = 3; i < sop_disc->identity_count && i < VDO_MAX_OBJECTS; i++)
> > + port->p_identity.vdo[i - 3] = sop_disc->discovery_vdo[i];
>
> Why do you need to put the product type VDOs in reverse order?

The Chrome EC returns all the Identity VDOs as an array of 6 VDOs (the
discovery_vdo[] array). The first three entries are assigned to the
pd_identity.{id_header,cert_stat,product} members.

This for loop assigns the next three discovery_vdo entries (i.e indices
3-5) to pd_identity.vdo[0-2] respectively.

The "i-3" is because discovery_vdo[3] corresponds to pd_identity.vdo[0]
and so on.

Does that help to clarify the for loop?

Best regards,

Prashant