linux-input.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v3 00/16] Introduce PMF Smart PC Solution Builder Feature
@ 2023-10-10 12:59 Shyam Sundar S K
  2023-10-10 12:59 ` [PATCH v3 01/16] platform/x86/amd/pmf: Add PMF TEE interface Shyam Sundar S K
                   ` (15 more replies)
  0 siblings, 16 replies; 30+ messages in thread
From: Shyam Sundar S K @ 2023-10-10 12:59 UTC (permalink / raw)
  To: hdegoede, markgross, ilpo.jarvinen, basavaraj.natikar, jikos,
	benjamin.tissoires, alexander.deucher, christian.koenig,
	Xinhui.Pan, airlied, daniel
  Cc: Patil.Reddy, mario.limonciello, platform-driver-x86, linux-input,
	amd-gfx, dri-devel, Shyam Sundar S K

Smart PC Solutions Builder allows for OEM to define a large number of
custom system states to dynamically switch to. The system states are
referred to as policies, and multiple policies can be loaded onto the
system at any given time, however only one policy can be active at a
given time.

Policy is a combination of PMF input and output capabilities. The inputs
are the incoming information from the other kernel subsystems like LID
state, Sensor info, GPU info etc and the actions are the updating the 
power limits of SMU etc.

The policy binary is signed and encrypted by a special key from AMD. This
policy binary shall have the inputs and outputs which the OEMs can build
for the platform customization that can enhance the user experience and
system behavior.

This series adds the initial support for Smart PC solution to PMF driver.

Note that, on platforms where CnQF and Smart PC is advertised, Smart PC
shall have higher precedence and same applies for Auto Mode.

v2->v3:
---------
- Remove pci_get_device() for getting gpu handle
- add .suspend handler for pmf driver
- remove unwanted type caste
- Align comments, spaces etc.
- add wrapper for print_hex_dump_debug()
- Remove lkp tags in commit-msg
- Add macros for magic numbers
- use right format specifiers for printing
- propagate error codes back to the caller
- remove unwanted comments


v1->v2:
---------
- Remove __func__ macros
- Remove manual function names inside prints
- Handle tee_shm_get_va() failure
- Remove double _
- Add meaningful prints
- pass amd_pmf_set_dram_addr() failure errors
- Add more information to commit messages
- use right format specifiers
- use devm_ioremap() instead of ioremap()
- address unsigned long vs u32 problems
- Fix lkp reported issues
- Add amd_pmf_remove_pb() to remove the debugfs files created(if any).
- Make amd_pmf_open_pb() as static.
- Add cooling device APIs for controlling amdgpu backlight
- handle amd_pmf_apply_policies() failures
- Split v1 14/15 into 2 patches further
- use linux/units.h for better handling
- add "depends on" AMD_SFH_HID for interaction with SFH
- other cosmetic remarks

Basavaraj Natikar (3):
  HID: amd_sfh: rename float_to_int() to amd_sfh_float_to_int()
  platform/x86/amd/pmf: Add PMF-AMDSFH interface for HPD
  platform/x86/amd/pmf: Add PMF-AMDSFH interface for ALS

Shyam Sundar S K (13):
  platform/x86/amd/pmf: Add PMF TEE interface
  platform/x86/amd/pmf: Add support PMF-TA interaction
  platform/x86/amd/pmf: Change return type of amd_pmf_set_dram_addr()
  platform/x86/amd/pmf: Add support for PMF Policy Binary
  platform/x86/amd/pmf: change amd_pmf_init_features() call sequence
  platform/x86/amd/pmf: Add support to get inputs from other subsystems
  platform/x86/amd/pmf: Add support update p3t limit
  platform/x86/amd/pmf: Add support to update system state
  platform/x86/amd/pmf: Add facility to dump TA inputs
  platform/x86/amd/pmf: Add capability to sideload of policy binary
  platform/x86/amd/pmf: dump policy binary data
  platform/x86/amd/pmf: Add PMF-AMDGPU get interface
  platform/x86/amd/pmf: Add PMF-AMDGPU set interface

 Documentation/admin-guide/index.rst           |   1 +
 Documentation/admin-guide/pmf.rst             |  25 +
 drivers/gpu/drm/amd/amdgpu/Makefile           |   2 +
 drivers/gpu/drm/amd/amdgpu/amdgpu.h           |   1 +
 drivers/gpu/drm/amd/amdgpu/amdgpu_pmf.c       | 154 ++++++
 drivers/hid/amd-sfh-hid/amd_sfh_common.h      |   6 +
 drivers/hid/amd-sfh-hid/sfh1_1/amd_sfh_desc.c |  22 +-
 drivers/hid/amd-sfh-hid/sfh1_1/amd_sfh_init.c |  17 +
 .../amd-sfh-hid/sfh1_1/amd_sfh_interface.c    |  48 ++
 .../amd-sfh-hid/sfh1_1/amd_sfh_interface.h    |   1 +
 drivers/platform/x86/amd/pmf/Kconfig          |   3 +
 drivers/platform/x86/amd/pmf/Makefile         |   3 +-
 drivers/platform/x86/amd/pmf/acpi.c           |  37 ++
 drivers/platform/x86/amd/pmf/core.c           |  68 ++-
 drivers/platform/x86/amd/pmf/pmf.h            | 202 +++++++
 drivers/platform/x86/amd/pmf/spc.c            | 197 +++++++
 drivers/platform/x86/amd/pmf/sps.c            |   2 +-
 drivers/platform/x86/amd/pmf/tee-if.c         | 507 ++++++++++++++++++
 include/linux/amd-pmf-io.h                    |  55 ++
 19 files changed, 1324 insertions(+), 27 deletions(-)
 create mode 100644 Documentation/admin-guide/pmf.rst
 create mode 100644 drivers/gpu/drm/amd/amdgpu/amdgpu_pmf.c
 create mode 100644 drivers/platform/x86/amd/pmf/spc.c
 create mode 100644 drivers/platform/x86/amd/pmf/tee-if.c
 create mode 100644 include/linux/amd-pmf-io.h

-- 
2.25.1


^ permalink raw reply	[flat|nested] 30+ messages in thread

end of thread, other threads:[~2023-10-15 10:06 UTC | newest]

Thread overview: 30+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-10-10 12:59 [PATCH v3 00/16] Introduce PMF Smart PC Solution Builder Feature Shyam Sundar S K
2023-10-10 12:59 ` [PATCH v3 01/16] platform/x86/amd/pmf: Add PMF TEE interface Shyam Sundar S K
2023-10-10 12:59 ` [PATCH v3 02/16] platform/x86/amd/pmf: Add support PMF-TA interaction Shyam Sundar S K
2023-10-10 12:59 ` [PATCH v3 03/16] platform/x86/amd/pmf: Change return type of amd_pmf_set_dram_addr() Shyam Sundar S K
2023-10-10 12:59 ` [PATCH v3 04/16] platform/x86/amd/pmf: Add support for PMF Policy Binary Shyam Sundar S K
2023-10-10 16:26   ` Mario Limonciello
2023-10-11  3:17     ` Shyam Sundar S K
2023-10-13  6:13       ` Shyam Sundar S K
2023-10-10 12:59 ` [PATCH v3 05/16] platform/x86/amd/pmf: change amd_pmf_init_features() call sequence Shyam Sundar S K
2023-10-10 12:59 ` [PATCH v3 06/16] platform/x86/amd/pmf: Add support to get inputs from other subsystems Shyam Sundar S K
2023-10-13 12:08   ` Ilpo Järvinen
2023-10-10 12:59 ` [PATCH v3 07/16] platform/x86/amd/pmf: Add support update p3t limit Shyam Sundar S K
2023-10-10 12:59 ` [PATCH v3 08/16] platform/x86/amd/pmf: Add support to update system state Shyam Sundar S K
2023-10-10 16:03   ` Mario Limonciello
2023-10-11  3:05     ` Shyam Sundar S K
2023-10-10 12:59 ` [PATCH v3 09/16] platform/x86/amd/pmf: Add facility to dump TA inputs Shyam Sundar S K
2023-10-14  4:16   ` kernel test robot
2023-10-15 10:05   ` kernel test robot
2023-10-10 12:59 ` [PATCH v3 10/16] platform/x86/amd/pmf: Add capability to sideload of policy binary Shyam Sundar S K
2023-10-10 12:59 ` [PATCH v3 11/16] platform/x86/amd/pmf: dump policy binary data Shyam Sundar S K
2023-10-10 13:08   ` Ilpo Järvinen
2023-10-10 13:38     ` Shyam Sundar S K
2023-10-10 14:03       ` Ilpo Järvinen
2023-10-10 16:00   ` Mario Limonciello
2023-10-10 12:59 ` [PATCH v3 12/16] platform/x86/amd/pmf: Add PMF-AMDGPU get interface Shyam Sundar S K
2023-10-10 12:59 ` [PATCH v3 13/16] platform/x86/amd/pmf: Add PMF-AMDGPU set interface Shyam Sundar S K
2023-10-10 12:59 ` [PATCH v3 14/16] HID: amd_sfh: rename float_to_int() to amd_sfh_float_to_int() Shyam Sundar S K
2023-10-10 12:59 ` [PATCH v3 15/16] platform/x86/amd/pmf: Add PMF-AMDSFH interface for HPD Shyam Sundar S K
2023-10-10 12:59 ` [PATCH v3 16/16] platform/x86/amd/pmf: Add PMF-AMDSFH interface for ALS Shyam Sundar S K
2023-10-10 15:59   ` Mario Limonciello

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).