RE: [char-misc-next 2/2] mei: send OS type to the FW

From: Winkler, Tomas
Date: Thu Nov 10 2016 - 07:19:20 EST


>
> On Thu, Nov 10, 2016 at 12:00:29PM +0000, Winkler, Tomas wrote:
> >
> >
> > > -----Original Message-----
> > > From: Greg Kroah-Hartman [mailto:gregkh@xxxxxxxxxxxxxxxxxxx]
> > > Sent: Thursday, November 10, 2016 09:23
> > > To: Winkler, Tomas <tomas.winkler@xxxxxxxxx>
> > > Cc: Usyskin, Alexander <alexander.usyskin@xxxxxxxxx>; linux-
> > > kernel@xxxxxxxxxxxxxxx; Jarkko Sakkinen
> > > <jarkko.sakkinen@xxxxxxxxxxxxxxx>
> > > Subject: Re: [char-misc-next 2/2] mei: send OS type to the FW
> > >
> > > On Tue, Nov 08, 2016 at 06:26:09PM +0200, Tomas Winkler wrote:
> > > > From: Alexander Usyskin <alexander.usyskin@xxxxxxxxx>
> > > >
> > > > Tell the FW that we are running a sane OS and TPM2_ChangeEPS() is
> > > > supported. This workaround was added to support other broken OS
> > > > and we need to follow here. The command is sent just once at the boot
> time.
> > > >
> > > > Cc: Jarkko Sakkinen <jarkko.sakkinen@xxxxxxxxxxxxxxx>
> > > > Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx>
> > > > Signed-off-by: Alexander Usyskin <alexander.usyskin@xxxxxxxxx>
> > > > ---
> > > > drivers/misc/mei/bus-fixup.c | 98
> > > > ++++++++++++++++++++++++++++++++++++++++++++
> > > > 1 file changed, 98 insertions(+)
> > > >
> > > > diff --git a/drivers/misc/mei/bus-fixup.c
> > > > b/drivers/misc/mei/bus-fixup.c index 9e10d86e3887..344a0c99ee44
> > > > 100644
> > > > --- a/drivers/misc/mei/bus-fixup.c
> > > > +++ b/drivers/misc/mei/bus-fixup.c
> > > > @@ -38,6 +38,9 @@ static const uuid_le mei_nfc_info_guid =
> > > > MEI_UUID_NFC_INFO; #define MEI_UUID_WD UUID_LE(0x05B79A6F,
> > > 0x4628, 0x4D7F, \
> > > > 0x89, 0x9D, 0xA9, 0x15, 0x14, 0xCB, 0x32, 0xAB)
> > > >
> > > > +#define MEI_UUID_MKHIF_FIX UUID_LE(0x55213584, 0x9a29, 0x4916, \
> > > > + 0xba, 0xdf, 0xf, 0xb7, 0xed, 0x68, 0x2a, 0xeb)
> > > > +
> > > > #define MEI_UUID_ANY NULL_UUID_LE
> > > >
> > > > /**
> > > > @@ -69,6 +72,100 @@ static void blacklist(struct mei_cl_device *cldev)
> > > > cldev->do_match = 0;
> > > > }
> > > >
> > > > +#define OSTYPE_LINUX 2
> > > > +struct mei_os_ver {
> > > > + u16 build;
> > > > + u16 reserved1;
> > >
> > > Don't you need to specify the endian-type of these (well for build),
> > > as they get written to hardware?
> >
> > This is really x86 stuff only (depends on X86), the device lives in
> > PCH or SoC, you cannot really plug it into PowerPC. So we are
> > consciously not using endian-types in the HW interface.
>
> Then just mark them all as little endian and be done with it :)

Then I will have to run the leX_to_cpu all over the code, which will really do nothing. I think we already had this discussion in the past, need to search the archive.

Thanks
Tomas