Re: [PATCH] ACPI/PPTT: Handle architecturally unknown cache types

From: Sudeep Holla
Date: Wed Sep 12 2018 - 11:38:47 EST




On 12/09/18 16:27, Sudeep Holla wrote:
>
>
> On 12/09/18 15:41, Jeffrey Hugo wrote:

[...]

>>
>> Correct. However, what if you have a NOCACHE (not architecturally
>> specified), that is fully described in PPTT, as a non-unified cache
>> (data only)? Unlikely? Maybe. Still seem possible though, therefore I
>> feel this assumption is suspect.
>>
>
> Yes, we have other issues if the architecturally not specified cache is
> not unified irrespective of what PPTT says. So we may need to review and
> see if that assumption is removed everywhere.
>
> Until then why can't a simple change fix the issue you have:
>
> -->8
>
> diff --git i/drivers/acpi/pptt.c w/drivers/acpi/pptt.c
> index d1e26cb599bf..f74131201f5e 100644
> --- i/drivers/acpi/pptt.c
> +++ w/drivers/acpi/pptt.c
> @@ -406,7 +406,8 @@ static void update_cache_properties(struct cacheinfo
> *this_leaf,
> * update the cache type as well.
> */
> if (this_leaf->type == CACHE_TYPE_NOCACHE &&
> - valid_flags == PPTT_CHECKED_ATTRIBUTES)
> + (valid_flags == PPTT_CHECKED_ATTRIBUTES ||
> + found_cache->flags & ACPI_PPTT_CACHE_TYPE_VALID))

Looking at this again, if we are supporting just presence of cache type
and size(may be), then we can drop the whole valid_flags thing here.

> this_leaf->type = CACHE_TYPE_UNIFIED;
> }
>
--
Regards,
Sudeep