| 2f9514f0 | 31-May-2024 |
Srinivas Pandruvada <[email protected]> |
platform/x86: ISST: Use only TPMI interface when present
When the TPMI interface is present, use this interface instead of legacy. On some systems legacy IO device is also present. Using both interf
platform/x86: ISST: Use only TPMI interface when present
When the TPMI interface is present, use this interface instead of legacy. On some systems legacy IO device is also present. Using both interfaces together is confusing and may set the hardware in inconsistent state.
When TPMI interface is present, don't load legacy drivers.
Signed-off-by: Srinivas Pandruvada <[email protected]> Reviewed-by: Andy Shevchenko <[email protected]> Reviewed-by: Zhang Rui <[email protected]> Reviewed-by: Ilpo Järvinen <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Ilpo Järvinen <[email protected]>
show more ...
|
| 3ea025fb | 31-May-2024 |
Srinivas Pandruvada <[email protected]> |
platform/x86: ISST: Avoid some SkyLake server models
Some SkyLake server variants don't support any SST functionality. No use of providing any SST related interfaces on them.
All supported SkyLake
platform/x86: ISST: Avoid some SkyLake server models
Some SkyLake server variants don't support any SST functionality. No use of providing any SST related interfaces on them.
All supported SkyLake servers provide mailbox interface via MSR. So check for the presence of MSR 0xB0 and 0xB1. If not present don't load common module.
Move defines for MSR_OS_MAILBOX_INTERFACE and MSR_OS_MAILBOX_DATA to common header file to avoid duplicating them.
Signed-off-by: Srinivas Pandruvada <[email protected]> Link: https://lore.kernel.org/r/[email protected] Reviewed-by: Ilpo Järvinen <[email protected]> Signed-off-by: Ilpo Järvinen <[email protected]>
show more ...
|
| 76f09e22 | 30-Apr-2024 |
Srinivas Pandruvada <[email protected]> |
platform/x86: ISST: Support SST-BF and SST-TF per level
SST SST-BF and SST-TF can be enabled/disabled per SST-PP level. So return a mask of all levels, where the feature is supported, instead of jus
platform/x86: ISST: Support SST-BF and SST-TF per level
SST SST-BF and SST-TF can be enabled/disabled per SST-PP level. So return a mask of all levels, where the feature is supported, instead of just for level 0.
Since the return value returns all levels mask, not just level 0, update API version.
Signed-off-by: Srinivas Pandruvada <[email protected]> Reviewed-by: Zhang Rui <[email protected]> Link: https://lore.kernel.org/r/[email protected] Reviewed-by: Hans de Goede <[email protected]> Signed-off-by: Hans de Goede <[email protected]>
show more ...
|
| 9d1d3626 | 23-Apr-2024 |
Srinivas Pandruvada <[email protected]> |
platform/x86: ISST: Support partitioned systems
A partitioned system has two different PCI VSEC devices per package. A non-partitioned device has only one PCI VSEC device per package. The current im
platform/x86: ISST: Support partitioned systems
A partitioned system has two different PCI VSEC devices per package. A non-partitioned device has only one PCI VSEC device per package. The current implementation only supports non partitioned systems.
Each partition maps a set of power domains. Other than reading from different MMIO regions, there is no change in the SST functionality. The scope of SST control is still per power domain. Hence user space does not need to be aware of existence of partitions.
With partitions, existing per package information defined using struct tpmi_sst_struct is enhanced to store information for both partitions. A mapping function map_partition_power_domain_id() is introduced, which maps to correct partition and index. This mapping function is called in get_instance() and isst_if_clos_assoc(), before indexing into tpmi_sst_struct->power_domain_info[].
The TPMI core platform info provides partition id and compute die ID mask for each partition. Use this information to order power domains, so that compute dies are presented before IO dies to match hardware defined compute die ID for each CPU.
Signed-off-by: Srinivas Pandruvada <[email protected]> Reviewed-by: Zhang Rui <[email protected]> Reviewed-by: Ilpo Järvinen <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Hans de Goede <[email protected]>
show more ...
|
| fe4211d2 | 23-Apr-2024 |
Srinivas Pandruvada <[email protected]> |
platform/x86: ISST: Shorten the assignments for power_domain_info
Instead of long lines for assignment to tpmi_sst->power_domain_info, use a local variable pd_info and assign later. Also move the as
platform/x86: ISST: Shorten the assignments for power_domain_info
Instead of long lines for assignment to tpmi_sst->power_domain_info, use a local variable pd_info and assign later. Also move the assignment of number of resources after the assignment of pd_info.
No functional change is expected.
Signed-off-by: Srinivas Pandruvada <[email protected]> Reviewed-by: Ilpo Järvinen <[email protected]> Link: https://lore.kernel.org/r/[email protected] Reviewed-by: Hans de Goede <[email protected]> Signed-off-by: Hans de Goede <[email protected]>
show more ...
|
| 07510a59 | 03-Oct-2023 |
Srinivas Pandruvada <[email protected]> |
platform/x86: ISST: Ignore minor version change
The hardware definition of every TPMI feature contains a major and minor version. When there is a change in the MMIO offset or change in the definitio
platform/x86: ISST: Ignore minor version change
The hardware definition of every TPMI feature contains a major and minor version. When there is a change in the MMIO offset or change in the definition of a field, hardware will change major version. For addition of new fields without modifying existing MMIO offsets or fields, only the minor version is changed.
Driver is developed to support SST functionality for a major and minor version. If the hardware changes major version, since offsets and definitions are changed, driver cannot continue to provide SST interface to users. Driver can still function with a minor version change as it will just miss the new functionality added by the hardware. The current implementation doesn't ignore any version change.
If there is mismatch with the minor version, continue with an information log message. If there is mismatch with the major version, log error and exit.
Signed-off-by: Srinivas Pandruvada <[email protected]> Link: https://lore.kernel.org/r/[email protected] Reviewed-by: Ilpo Järvinen <[email protected]> Signed-off-by: Ilpo Järvinen <[email protected]>
show more ...
|