On Tue, Jan 28, 2020 at 03:59:15PM +0000, John Garry wrote: > On 28/01/2020 15:20, Sudeep Holla wrote: > [...] > Hi Sudeep, > > > What do you want to match this ? The same silicon can end up with > > different OEMs and this list just blows up soon for single SoC if > > used by different OEM/ODMs. I assume we get all the required info > > from the Type 2 table entry and hence can just rely on that. If > > PPTT has type 2 entry, just initialise this soc driver and expose > > the relevant information from the table entry. > > As before, the LEVEL_1_ID and LEVEL_2_ID table members are too open to > interpretation in the spec to generate a consistent form soc_id and > family_id for all platforms. > One of the argument I was making during evolution of SOC_ID is to have IDs like LEVEL_1_ID and LEVEL_2_ID in PPTT as they are 8 bytes long and can just be a string that is self-sufficient and can be exposed to user space as is instead of having to do some interpretation in the kernel. Remember this is ACPI table entry and is designed to work with multiple OS, we can at-least expect the strings to be as self-explanatory and need no further decoding in the kernel. > As such, I was trying to limit to known PPTT implementations and how they > should be interpreted. Obviously that's *far* from ideal. > I am saying not to take that path and just throw the strings as is at the user. If OEM/ODMs are serious about suggesting user-space to make use of it, they better put sane value there and don't expect kernel to do interpretation for them. > So what's your idea? Just always put LEVEL_1_ID and LEVEL_2_ID in soc driver > family_id and soc_id fields, respectively? > Yes, that's my opinion. It gets messy soon if kernel tries to interpret this for OEM/ODM, they must better get it right if they are serious about it. -- Regards, Sudeep