soc/intel/cmn/pcie: Allow SoC to overwrite snoop/non-snoop latency

The Intel SoC Meteor Lake requires a higher pcie max non-snoop and
snoop latency tolerance. Add config to let SoC overwrite the common
code settings if needed.

BUG=none
TEST=Boot google/rex and print/check if able to overwrite values.

Change-Id: Ic2b9a158d219e6c6e7f6e7f0ae0f093c1183b402
Signed-off-by: Bora Guvendik <bora.guvendik@intel.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/74141
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Kapil Porwal <kapilporwal@google.com>
Reviewed-by: Jérémy Compostella <jeremy.compostella@intel.com>
Reviewed-by: Subrata Banik <subratabanik@google.com>
Reviewed-by: Eric Lai <eric_lai@quanta.corp-partner.google.com>
This commit is contained in:
Bora Guvendik 2023-03-30 13:54:36 -07:00 committed by Felix Held
parent 15e7499cdd
commit 396201c1ef
2 changed files with 14 additions and 2 deletions

View File

@ -17,6 +17,18 @@ config PCIEXP_CLK_PM
config PCIEXP_L1_SUB_STATE config PCIEXP_L1_SUB_STATE
default y default y
config PCIE_LTR_MAX_SNOOP_LATENCY
hex
default 0x1003
help
Latency tolerance reporting, max snoop latency value defaults to 3.14 ms.
config PCIE_LTR_MAX_NO_SNOOP_LATENCY
hex
default 0x1003
help
Latency tolerance reporting, max non-snoop latency value defaults to 3.14 ms.
endif # SOC_INTEL_COMMON_BLOCK_PCIE endif # SOC_INTEL_COMMON_BLOCK_PCIE
config PCIE_DEBUG_INFO config PCIE_DEBUG_INFO

View File

@ -48,8 +48,8 @@ static void pch_pcie_init(struct device *dev)
static void pcie_get_ltr_max_latencies(u16 *max_snoop, u16 *max_nosnoop) static void pcie_get_ltr_max_latencies(u16 *max_snoop, u16 *max_nosnoop)
{ {
*max_snoop = PCIE_LTR_MAX_SNOOP_LATENCY_3146US; *max_snoop = CONFIG_PCIE_LTR_MAX_SNOOP_LATENCY;
*max_nosnoop = PCIE_LTR_MAX_NO_SNOOP_LATENCY_3146US; *max_nosnoop = CONFIG_PCIE_LTR_MAX_NO_SNOOP_LATENCY;
} }
static struct pci_operations pcie_ops = { static struct pci_operations pcie_ops = {