linux/drivers/platform/x86
Shyam Sundar S K c6ea14d557
platform/x86/amd/pmc: adjust getting DRAM size behavior
amd_pmc_get_dram_size() is used to get the DRAM size information. But
in the current code, mailbox command to get the DRAM size info is sent
based on the values of dev->major and dev->minor.

But dev->major and dev->minor will have either junk or zero assigned to
them until at least once a call to amd_pmc_get_smu_version() is made
which ideally populates dev->major and dev->minor.

However, adding a amd_pmc_get_smu_version() call to
amd_pmc_get_dram_size() has a downside of elevating the boot times.

After talking to the PMFW team, it's understood that the "get dram
size" mbox command would only be supported on specific platforms (like
Mendocino) and not all. So, adjust getting DRAM size behavior such
that,

- if running on Rembrandt or Mendocino and the underlying PMFW knows
how to execute the "get dram size" command it shall give the custom
dram size.

- if the underlying FW does not report the dram size, we just proceed
further and assign the default dram size.

The simplest way to address this is to remove amd_pmc_get_dram_size()
function and directly call the "get dram size" command in the
amd_pmc_s2d_init().

Reported-by: Mark Hasemeyer <markhas@chromium.org>
Fixes: be8325fb3d ("platform/x86/amd: pmc: Get STB DRAM size from PMFW")
Cc: stable@vger.kernel.org
Suggested-by: Sanket Goswami <Sanket.Goswami@amd.com>
Signed-off-by: Shyam Sundar S K <Shyam-sundar.S-k@amd.com>
Link: https://lore.kernel.org/r/20231116170121.3372222-1-Shyam-sundar.S-k@amd.com
Reviewed-by: Mario Limonciello <mario.limonciello@amd.com>
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
2023-11-17 12:04:01 +02:00
..
amd platform/x86/amd/pmc: adjust getting DRAM size behavior 2023-11-17 12:04:01 +02:00
dell Merge remote-tracking branch 'pdx86/fixes' into pdx86/for-next 2023-08-23 17:30:50 +02:00
hp platform/x86: hp-bioscfg: Remove unused obj in hp_add_other_attributes() 2023-11-15 14:45:41 +02:00
intel Major microcode loader restructuring, cleanup and improvements by Thomas 2023-11-04 08:46:37 -10:00
siemens platform/x86/siemens: simatic-ipc-batt-f7188x: Convert to platform remove callback returning void 2023-09-28 13:27:06 +03:00
x86-android-tablets platform/x86: x86-android-tablets: Fix Lenovo Yoga Tablet 2 830F/L vs 1050F/L detection 2023-09-21 18:31:18 +02:00
acer-wireless.c
acer-wmi.c platform/x86: acer-wmi: Remove void function return 2023-10-17 10:14:35 +03:00
acerhdf.c Thermal control updates for 6.4-rc1 2023-04-25 18:32:43 -07:00
adv_swbutton.c
amilo-rfkill.c
apple-gmux.c apple-gmux: Hard Code max brightness for MMIO gmux 2023-10-18 15:33:24 +02:00
asus-laptop.c
asus-nb-wmi.c platform-drivers-x86 for v6.7-1 2023-10-31 17:53:00 -10:00
asus-tf103c-dock.c platform/x86: asus-tf103c-dock: Switch back to use struct i2c_driver's .probe() 2023-06-13 12:32:45 +02:00
asus-wireless.c platform/x86: asus-wireless: Replace open coded acpi_match_acpi_device() 2023-10-12 16:34:09 +03:00
asus-wmi.c platform-drivers-x86 for v6.7-1 2023-10-31 17:53:00 -10:00
asus-wmi.h platform-drivers-x86 for v6.7-1 2023-10-31 17:53:00 -10:00
barco-p50-gpio.c
classmate-laptop.c
compal-laptop.c
dual_accel_detect.h
eeepc-laptop.c Fix nomenclature for USB and PCI wireless devices 2023-08-25 12:56:49 +03:00
eeepc-wmi.c
firmware_attributes_class.c
firmware_attributes_class.h
fujitsu-laptop.c
fujitsu-tablet.c
gigabyte-wmi.c platform/x86: gigabyte: constify pointers to hwmon_channel_info 2023-05-16 10:36:56 +02:00
gpd-pocket-fan.c
hdaps.c
huawei-wmi.c platform/x86: huawei-wmi: Silence ambient light sensor 2023-07-25 16:38:03 +02:00
ibm_rtl.c
ideapad-laptop.c platform/x86: ideapad-laptop: Set max_brightness before using it 2023-11-15 14:30:51 +02:00
ideapad-laptop.h
inspur_platform_profile.c platform/x86: inspur-platform-profile: Add platform profile support 2023-10-27 16:14:47 +03:00
intel_ips.c
intel_ips.h
intel_scu_ipc.c platform/x86: intel_scu_ipc: Fail IPC send if still busy 2023-09-18 15:15:15 +02:00
intel_scu_ipcutil.c
intel_scu_pcidrv.c platform/x86: intel_scu_pcidrv: Add back PCI ID for Medfield 2023-05-08 17:35:08 +02:00
intel_scu_pltdrv.c
intel_scu_wdt.c
Kconfig platform/x86: inspur-platform-profile: Add platform profile support 2023-10-27 16:14:47 +03:00
lenovo-ymc.c platform/x86: lenovo-ymc: Add Lenovo Yoga 7 14ACN6 to ec_trigger_quirk_dmi_table 2023-08-21 13:08:32 +02:00
lenovo-yogabook.c platform/x86: lenovo-yogabook: Rename lenovo-yogabook-wmi to lenovo-yogabook 2023-05-09 12:36:09 +02:00
lg-laptop.c
Makefile platform/x86: inspur-platform-profile: Add platform profile support 2023-10-27 16:14:47 +03:00
meraki-mx100.c
mlx-platform.c Merge branch 'pdx86/platform-drivers-x86-mellanox-init' into review-ilpo 2023-10-06 17:51:21 +03:00
msi-ec.c platform-drivers-x86 for v6.7-1 2023-10-31 17:53:00 -10:00
msi-ec.h platform/x86: msi-ec: rename fn_super_swap 2023-10-09 14:30:11 +03:00
msi-laptop.c platform/x86: msi-laptop: Fix rfkill out-of-sync on MSI Wind U100 2023-07-25 16:35:58 +02:00
msi-wmi.c
mxm-wmi.c
nvidia-wmi-ec-backlight.c
p2sb.c
panasonic-laptop.c
pcengines-apuv2.c
pmc_atom.c
samsung-laptop.c
samsung-q10.c
sel3350-platform.c platform/x86: sel3350-platform: Convert to platform remove callback returning void 2023-09-28 13:26:58 +03:00
serial-multi-instantiate.c ACPI: scan: Create platform device for CS35L56 2023-07-31 16:03:39 +02:00
sony-laptop.c x86: convert to new timestamp accessors 2023-10-18 13:26:16 +02:00
system76_acpi.c platform/x86: system76: Handle new KBLED ACPI methods 2023-07-26 11:00:07 +02:00
think-lmi.c platform-drivers-x86 for v6.7-1 2023-10-31 17:53:00 -10:00
think-lmi.h platform/x86: think-lmi: Add bulk save feature 2023-09-21 18:29:29 +02:00
thinkpad_acpi.c platform-drivers-x86 for v6.7-1 2023-10-31 17:53:00 -10:00
topstar-laptop.c
toshiba_acpi.c platform/x86: toshiba: constify pointers to hwmon_channel_info 2023-05-16 10:36:56 +02:00
toshiba_bluetooth.c
toshiba_haps.c
toshiba-wmi.c
touchscreen_dmi.c platform/x86: touchscreen_dmi: Add info for the Positivo C4128B 2023-10-05 21:07:59 +02:00
uv_sysfs.c
winmate-fm07-keys.c
wireless-hotkey.c
wmi-bmof.c platform/x86: wmi-bmof: Simplify read_bmof() 2023-07-31 16:07:41 +02:00
wmi.c platform/x86: wmi: Decouple WMI device removal from wmi_block_list 2023-10-25 12:46:42 +03:00
xiaomi-wmi.c
xo1-rfkill.c
xo15-ebook.c platform/x86: xo15-ebook: Replace open coded acpi_match_acpi_device() 2023-10-12 16:33:49 +03:00