sb,soc/amd: Drop OSFL method in ASL
Variable OSVR had a static value of 3 and OSFL() did not actually call _OSI or _OS methods. The conditional in HDA _INI method of OSVR is dropped and use of DMA NoSnoop attribute remains disabled to retain previous behaviour. For soc/amd/picasso a different decision was made in CB:40782 as HDA _INI method was just dropped and default configuration enables use of DMA NoSnoop attribute. Change-Id: I967b7b2afbb43253cccb4b77f6c44db45e2989e4 Signed-off-by: Kyösti Mälkki <kyosti.malkki@gmail.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/50592 Reviewed-by: Furquan Shaikh <furquan@google.com> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
This commit is contained in:
		| @@ -8,6 +8,3 @@ Name(PBLN, 0x0)	/* Length of BIOS area */ | ||||
| Name(PCBA, CONFIG_MMCONF_BASE_ADDRESS)	/* Base address of PCIe config space */ | ||||
| Name(PCLN, Multiply(0x100000, CONFIG_MMCONF_BUS_NUMBER)) /* Length of PCIe config space, 1MB each bus */ | ||||
| Name(HPBA, 0xFED00000)	/* Base address of HPET table */ | ||||
|  | ||||
| /* Some global data */ | ||||
| Name(OSVR, 3)	/* Assume nothing. WinXp = 1, Vista = 2, Linux = 3, WinCE = 4 */ | ||||
|   | ||||
| @@ -9,9 +9,6 @@ Name(PCBA, CONFIG_MMCONF_BASE_ADDRESS)	/* Base address of PCIe config space */ | ||||
| Name(PCLN, Multiply(0x100000, CONFIG_MMCONF_BUS_NUMBER)) /* Length of PCIe config space, 1MB each bus */ | ||||
| Name(HPBA, 0xFED00000)	/* Base address of HPET table */ | ||||
|  | ||||
| /* Some global data */ | ||||
| Name(OSVR, 3)	/* Assume nothing. WinXp = 1, Vista = 2, Linux = 3, WinCE = 4 */ | ||||
|  | ||||
| /* AcpiGpe0Blk */ | ||||
| OperationRegion(GP0B, SystemMemory, 0xfed80814, 0x04) | ||||
| 	Field(GP0B, ByteAcc, NoLock, Preserve) { | ||||
|   | ||||
| @@ -8,6 +8,3 @@ Name(PBLN, 0x0)	/* Length of BIOS area */ | ||||
| Name(PCBA, CONFIG_MMCONF_BASE_ADDRESS)	/* Base address of PCIe config space */ | ||||
| Name(PCLN, Multiply(0x100000, CONFIG_MMCONF_BUS_NUMBER)) /* Length of PCIe config space, 1MB each bus */ | ||||
| Name(HPBA, 0xFED00000)	/* Base address of HPET table */ | ||||
|  | ||||
| /* Some global data */ | ||||
| Name(OSVR, 3)	/* Assume nothing. WinXp = 1, Vista = 2, Linux = 3, WinCE = 4 */ | ||||
|   | ||||
| @@ -11,9 +11,6 @@ | ||||
| 	Name(PCLN, Multiply(0x100000, CONFIG_MMCONF_BUS_NUMBER)) /* Length of PCIe config space, 1MB each bus */ | ||||
| 	Name(HPBA, 0xFED00000)	/* Base address of HPET table */ | ||||
|  | ||||
| 	/* Some global data */ | ||||
| 	Name(OSVR, 3)   /* Assume nothing. WinXp = 1, Vista = 2, Linux = 3, WinCE = 4 */ | ||||
|  | ||||
| 	/* AcpiGpe0Blk */ | ||||
| 	OperationRegion(GP0B, SystemMemory, 0xfed80814, 0x04) | ||||
| 		Field(GP0B, ByteAcc, NoLock, Preserve) { | ||||
|   | ||||
| @@ -11,9 +11,6 @@ | ||||
| 	Name(PCLN, Multiply(0x100000, CONFIG_MMCONF_BUS_NUMBER)) /* Length of PCIe config space, 1MB each bus */ | ||||
| 	Name(HPBA, 0xFED00000)	/* Base address of HPET table */ | ||||
|  | ||||
| 	/* Some global data */ | ||||
| 	Name(OSVR, 3)   /* Assume nothing. WinXp = 1, Vista = 2, Linux = 3, WinCE = 4 */ | ||||
|  | ||||
| 	/* AcpiGpe0Blk */ | ||||
| 	OperationRegion(GP0B, SystemMemory, 0xfed80814, 0x04) | ||||
| 		Field(GP0B, ByteAcc, NoLock, Preserve) { | ||||
|   | ||||
| @@ -9,9 +9,6 @@ Name(PCBA, CONFIG_MMCONF_BASE_ADDRESS)	/* Base address of PCIe config space */ | ||||
| Name(PCLN, Multiply(0x100000, CONFIG_MMCONF_BUS_NUMBER)) /* Length of PCIe config space, 1MB each bus */ | ||||
| Name(HPBA, 0xFED00000)	/* Base address of HPET table */ | ||||
|  | ||||
| /* Some global data */ | ||||
| Name(OSVR, 3)	/* Assume nothing. WinXp = 1, Vista = 2, Linux = 3, WinCE = 4 */ | ||||
|  | ||||
| /* AcpiGpe0Blk */ | ||||
| OperationRegion(GP0B, SystemMemory, 0xfed80814, 0x04) | ||||
| 	Field(GP0B, ByteAcc, NoLock, Preserve) { | ||||
|   | ||||
| @@ -13,6 +13,3 @@ | ||||
| 	Name(PCLN, Multiply(0x100000, CONFIG_MMCONF_BUS_NUMBER)) | ||||
| 	/* Base address of HPET table */ | ||||
| 	Name(HPBA, 0xFED00000) | ||||
|  | ||||
| 	/* Some global data */ | ||||
| 	Name(OSVR, 3)   /* Assume nothing. WinXp = 1, Vista = 2, Linux = 3, WinCE = 4 */ | ||||
|   | ||||
| @@ -9,9 +9,6 @@ Name(PCBA, CONFIG_MMCONF_BASE_ADDRESS)	/* Base address of PCIe config space */ | ||||
| Name(PCLN, Multiply(0x100000, CONFIG_MMCONF_BUS_NUMBER)) /* Length of PCIe config space, 1MB each bus */ | ||||
| Name(HPBA, 0xFED00000)	/* Base address of HPET table */ | ||||
|  | ||||
| /* Some global data */ | ||||
| Name(OSVR, 3)	/* Assume nothing. WinXp = 1, Vista = 2, Linux = 3, WinCE = 4 */ | ||||
|  | ||||
| /* AcpiGpe0Blk */ | ||||
| OperationRegion(GP0B, SystemMemory, 0xfed80814, 0x04) | ||||
| 	Field(GP0B, ByteAcc, NoLock, Preserve) { | ||||
|   | ||||
| @@ -10,6 +10,3 @@ | ||||
| 	Name(PCBA, CONFIG_MMCONF_BASE_ADDRESS)	/* Base address of PCIe config space */ | ||||
| 	Name(PCLN, Multiply(0x100000, CONFIG_MMCONF_BUS_NUMBER)) /* Length of PCIe config space, 1MB each bus */ | ||||
| 	Name(HPBA, 0xFED00000)	/* Base address of HPET table */ | ||||
|  | ||||
| 	/* Some global data */ | ||||
| 	Name(OSVR, 3)   /* Assume nothing. WinXp = 1, Vista = 2, Linux = 3, WinCE = 4 */ | ||||
|   | ||||
| @@ -9,9 +9,6 @@ Name(PCBA, CONFIG_MMCONF_BASE_ADDRESS)	/* Base address of PCIe config space */ | ||||
| Name(PCLN, Multiply(0x100000, CONFIG_MMCONF_BUS_NUMBER)) /* Length of PCIe config space, 1MB each bus */ | ||||
| Name(HPBA, 0xFED00000)	/* Base address of HPET table */ | ||||
|  | ||||
| /* Some global data */ | ||||
| Name(OSVR, 3)	/* Assume nothing. WinXp = 1, Vista = 2, Linux = 3, WinCE = 4 */ | ||||
|  | ||||
| /* AcpiGpe0Blk */ | ||||
| OperationRegion(GP0B, SystemMemory, 0xfed80814, 0x04) | ||||
| 	Field(GP0B, ByteAcc, NoLock, Preserve) { | ||||
|   | ||||
| @@ -9,9 +9,6 @@ Name(PCBA, CONFIG_MMCONF_BASE_ADDRESS)	/* Base address of PCIe config space */ | ||||
| Name(PCLN, Multiply(0x100000, CONFIG_MMCONF_BUS_NUMBER)) /* Length of PCIe config space, 1MB each bus */ | ||||
| Name(HPBA, 0xFED00000)	/* Base address of HPET table */ | ||||
|  | ||||
| /* Some global data */ | ||||
| Name(OSVR, 3)	/* Assume nothing. WinXp = 1, Vista = 2, Linux = 3, WinCE = 4 */ | ||||
|  | ||||
| /* AcpiGpe0Blk */ | ||||
| OperationRegion(GP0B, SystemMemory, 0xfed80814, 0x04) | ||||
| 	Field(GP0B, ByteAcc, NoLock, Preserve) { | ||||
|   | ||||
| @@ -9,9 +9,6 @@ Name(PCBA, CONFIG_MMCONF_BASE_ADDRESS)	/* Base address of PCIe config space */ | ||||
| Name(PCLN, Multiply(0x100000, CONFIG_MMCONF_BUS_NUMBER)) /* Length of PCIe config space, 1MB each bus */ | ||||
| Name(HPBA, 0xFED00000)	/* Base address of HPET table */ | ||||
|  | ||||
| /* Some global data */ | ||||
| Name(OSVR, 3)	/* Assume nothing. WinXp = 1, Vista = 2, Linux = 3, WinCE = 4 */ | ||||
|  | ||||
| /* AcpiGpe0Blk */ | ||||
| OperationRegion(GP0B, SystemMemory, 0xfed80814, 0x04) | ||||
| 	Field(GP0B, ByteAcc, NoLock, Preserve) { | ||||
|   | ||||
| @@ -9,9 +9,6 @@ Name(PCBA, CONFIG_MMCONF_BASE_ADDRESS)	/* Base address of PCIe config space */ | ||||
| Name(PCLN, Multiply(0x100000, CONFIG_MMCONF_BUS_NUMBER)) /* Length of PCIe config space, 1MB each bus */ | ||||
| Name(HPBA, 0xFED00000)	/* Base address of HPET table */ | ||||
|  | ||||
| /* Some global data */ | ||||
| Name(OSVR, 3)	/* Assume nothing. WinXp = 1, Vista = 2, Linux = 3, WinCE = 4 */ | ||||
|  | ||||
| /* AcpiGpe0Blk */ | ||||
| OperationRegion(GP0B, SystemMemory, 0xfed80814, 0x04) | ||||
| 	Field(GP0B, ByteAcc, NoLock, Preserve) { | ||||
|   | ||||
| @@ -13,6 +13,3 @@ Name (PCLN, Multiply(0x100000, CONFIG_MMCONF_BUS_NUMBER)) | ||||
|  | ||||
| /* Base address of HPET table */ | ||||
| Name (HPBA, 0xFED00000) | ||||
|  | ||||
| /* Global Data */ | ||||
| Name (OSVR, 3)		/* WinXp = 1, Vista = 2, Linux = 3, WinCE = 4 */ | ||||
|   | ||||
| @@ -9,9 +9,6 @@ Name(PCBA, CONFIG_MMCONF_BASE_ADDRESS)	/* Base address of PCIe config space */ | ||||
| Name(PCLN, Multiply(0x100000, CONFIG_MMCONF_BUS_NUMBER)) /* Length of PCIe config space, 1MB each bus */ | ||||
| Name(HPBA, 0xFED00000)	/* Base address of HPET table */ | ||||
|  | ||||
| /* Some global data */ | ||||
| Name(OSVR, 3)	/* Assume nothing. WinXp = 1, Vista = 2, Linux = 3, WinCE = 4 */ | ||||
|  | ||||
| /* AcpiGpe0Blk */ | ||||
| OperationRegion(GP0B, SystemMemory, 0xfed80814, 0x04) | ||||
| 	Field(GP0B, ByteAcc, NoLock, Preserve) { , 11, USBS, 1, } | ||||
|   | ||||
| @@ -11,9 +11,6 @@ | ||||
| 	Name(PCLN, Multiply(0x100000, CONFIG_MMCONF_BUS_NUMBER)) /* Length of PCIe config space, 1MB each bus */ | ||||
| 	Name(HPBA, 0xFED00000)	/* Base address of HPET table */ | ||||
|  | ||||
| 	/* Some global data */ | ||||
| 	Name(OSVR, 3)   /* Assume nothing. WinXp = 1, Vista = 2, Linux = 3, WinCE = 4 */ | ||||
|  | ||||
| 	/* AcpiGpe0Blk */ | ||||
| 	OperationRegion(GP0B, SystemMemory, 0xfed80814, 0x04) | ||||
| 		Field(GP0B, ByteAcc, NoLock, Preserve) { | ||||
|   | ||||
| @@ -11,9 +11,6 @@ | ||||
| 	Name(PCLN, Multiply(0x100000, CONFIG_MMCONF_BUS_NUMBER)) /* Length of PCIe config space, 1MB each bus */ | ||||
| 	Name(HPBA, 0xFED00000)	/* Base address of HPET table */ | ||||
|  | ||||
| 	/* Some global data */ | ||||
| 	Name(OSVR, 3)   /* Assume nothing. WinXp = 1, Vista = 2, Linux = 3, WinCE = 4 */ | ||||
|  | ||||
| 	/* AcpiGpe0Blk */ | ||||
| 	OperationRegion(GP0B, SystemMemory, 0xfed80814, 0x04) | ||||
| 		Field(GP0B, ByteAcc, NoLock, Preserve) { | ||||
|   | ||||
| @@ -10,6 +10,3 @@ | ||||
| 	Name(PCBA, CONFIG_MMCONF_BASE_ADDRESS)	/* Base address of PCIe config space */ | ||||
| 	Name(PCLN, Multiply(0x100000, CONFIG_MMCONF_BUS_NUMBER)) /* Length of PCIe config space, 1MB each bus */ | ||||
| 	Name(HPBA, 0xFED00000)	/* Base address of HPET table */ | ||||
|  | ||||
| 	/* Some global data */ | ||||
| 	Name(OSVR, 3)   /* Assume nothing. WinXp = 1, Vista = 2, Linux = 3, WinCE = 4 */ | ||||
|   | ||||
| @@ -9,9 +9,6 @@ Name(PCBA, CONFIG_MMCONF_BASE_ADDRESS)	/* Base address of PCIe config space */ | ||||
| Name(PCLN, Multiply(0x100000, CONFIG_MMCONF_BUS_NUMBER)) /* Length of PCIe config space, 1MB each bus */ | ||||
| Name(HPBA, 0xFED00000)	/* Base address of HPET table */ | ||||
|  | ||||
| /* Some global data */ | ||||
| Name(OSVR, 3)	/* Assume nothing. WinXp = 1, Vista = 2, Linux = 3, WinCE = 4 */ | ||||
|  | ||||
| /* AcpiGpe0Blk */ | ||||
| OperationRegion(GP0B, SystemMemory, 0xfed80814, 0x04) | ||||
| 	Field(GP0B, ByteAcc, NoLock, Preserve) { | ||||
|   | ||||
| @@ -134,9 +134,6 @@ Method(_INI, 0, Serialized) { | ||||
| 	/* DBGO(\_REV) */ | ||||
| 	/* DBGO("\n") */ | ||||
|  | ||||
| 	/* Determine the OS we're running on */ | ||||
| 	OSFL() | ||||
|  | ||||
| 	/* Send ALIB Function 1 the AC/DC state */ | ||||
| 	Name(F1BF, Buffer(0x03){}) | ||||
| 	CreateWordField(F1BF, 0, F1SZ) | ||||
| @@ -149,27 +146,6 @@ Method(_INI, 0, Serialized) { | ||||
|  | ||||
| } /* End Method(_SB._INI) */ | ||||
|  | ||||
| Method(OSFL, 0){ | ||||
|  | ||||
| 	if (OSVR != Ones) {Return (OSVR)}	/* OS version was already detected */ | ||||
|  | ||||
| 	if (CondRefOf(\_OSI)) | ||||
| 	{ | ||||
| 		OSVR = 1				/* Assume some form of XP */ | ||||
| 		if (\_OSI("Windows 2006"))		/* Vista */ | ||||
| 		{ | ||||
| 			OSVR = 2 | ||||
| 		} | ||||
| 	} else { | ||||
| 		If (WCMP(\_OS,"Linux")) { | ||||
| 			OSVR = 3			/* Linux */ | ||||
| 		} Else { | ||||
| 			OSVR = 4			/* Gotta be WinCE */ | ||||
| 		} | ||||
| 	} | ||||
| 	Return (OSVR) | ||||
| } | ||||
|  | ||||
| OperationRegion(SMIC, SystemMemory, 0xfed80000, 0x80000) | ||||
| Field( SMIC, ByteAcc, NoLock, Preserve) { | ||||
| 	/* MISC registers */ | ||||
|   | ||||
| @@ -519,23 +519,17 @@ void hda_soc_ssdt_quirks(const struct device *dev) | ||||
|  | ||||
| 	/* | ||||
| 	 * Method (_INI, 0, NotSerialized) { | ||||
| 	 *	If (LEqual (OSVR, 0x03)) { | ||||
| 	 *	Store (Zero, NSEN) | ||||
| 	 *	Store (One, NSDO) | ||||
| 	 *	Store (One, NSDI) | ||||
| 	 * } | ||||
| 	 * } | ||||
| 	 */ | ||||
| 	acpigen_write_method("_INI", 0); | ||||
|  | ||||
| 	acpigen_write_if_lequal_namestr_int("OSVR", 0x03); | ||||
|  | ||||
| 	acpigen_write_store_op_to_namestr(ZERO_OP, "NSEN"); | ||||
| 	acpigen_write_store_op_to_namestr(ONE_OP, "NSDO"); | ||||
| 	acpigen_write_store_op_to_namestr(ONE_OP, "NSDI"); | ||||
|  | ||||
| 	acpigen_pop_len(); /* If */ | ||||
|  | ||||
| 	acpigen_pop_len(); /* Method _INI */ | ||||
|  | ||||
| 	acpigen_pop_len(); /* Scope */ | ||||
|   | ||||
| @@ -27,12 +27,9 @@ Device(AZHD) {	/* 0:14.2 - HD Audio */ | ||||
| 	} | ||||
|  | ||||
| 	Method (_INI, 0, NotSerialized) | ||||
| 	{ | ||||
| 		If (OSVR == 0x03) | ||||
| 	{ | ||||
| 		NSEN = 0 | ||||
| 		NSDO = 1 | ||||
| 		NSDI = 1 | ||||
| 	} | ||||
| 	} | ||||
| } /* end AZHD */ | ||||
|   | ||||
| @@ -158,33 +158,9 @@ Method(_INI, 0) { | ||||
| 	/* DBGO(\_REV) */ | ||||
| 	/* DBGO("\n") */ | ||||
|  | ||||
| 	/* Determine the OS we're running on */ | ||||
| 	OSFL() | ||||
|  | ||||
| #if CONFIG(HUDSON_IMC_FWM) | ||||
| #if CONFIG(ACPI_ENABLE_THERMAL_ZONE) | ||||
| 	ITZE() /* enable IMC Fan Control*/ | ||||
| #endif | ||||
| #endif | ||||
| } /* End Method(_SB._INI) */ | ||||
|  | ||||
| Method(OSFL, 0){ | ||||
|  | ||||
| 	if (OSVR != Ones) {Return (OSVR)}	/* OS version was already detected */ | ||||
|  | ||||
| 	if (CondRefOf(\_OSI)) | ||||
| 	{ | ||||
| 		OSVR = 1				/* Assume some form of XP */ | ||||
| 		if (\_OSI("Windows 2006"))		/* Vista */ | ||||
| 		{ | ||||
| 			OSVR = 2 | ||||
| 		} | ||||
| 	} else { | ||||
| 		If (WCMP(\_OS,"Linux")) { | ||||
| 			OSVR = 3			/* Linux */ | ||||
| 		} Else { | ||||
| 			OSVR = 4			/* Gotta be WinCE */ | ||||
| 		} | ||||
| 	} | ||||
| 	Return (OSVR) | ||||
| } | ||||
|   | ||||
| @@ -27,12 +27,9 @@ Device(AZHD) {	/* 0:14.2 - HD Audio */ | ||||
| 	} | ||||
|  | ||||
| 	Method (_INI, 0, NotSerialized) | ||||
| 	{ | ||||
| 		If (OSVR == 0x03) | ||||
| 	{ | ||||
| 		NSEN = 0 | ||||
| 		NSDO = 1 | ||||
| 		NSDI = 1 | ||||
| 	} | ||||
| 	} | ||||
| } /* end AZHD */ | ||||
|   | ||||
| @@ -144,33 +144,9 @@ Method(_INI, 0) { | ||||
| 	/* DBGO(\_REV) */ | ||||
| 	/* DBGO("\n") */ | ||||
|  | ||||
| 	/* Determine the OS we're running on */ | ||||
| 	OSFL() | ||||
|  | ||||
| #if CONFIG(HUDSON_IMC_FWM) | ||||
| #if CONFIG(ACPI_ENABLE_THERMAL_ZONE) | ||||
| 	ITZE() /* enable IMC Fan Control*/ | ||||
| #endif | ||||
| #endif | ||||
| } /* End Method(_SB._INI) */ | ||||
|  | ||||
| Method(OSFL, 0){ | ||||
|  | ||||
| 	if (OSVR != Ones) {Return (OSVR)}	/* OS version was already detected */ | ||||
|  | ||||
| 	if (CondRefOf(\_OSI)) | ||||
| 	{ | ||||
| 		OSVR = 1				/* Assume some form of XP */ | ||||
| 		if (\_OSI("Windows 2006"))		/* Vista */ | ||||
| 		{ | ||||
| 			OSVR = 2 | ||||
| 		} | ||||
| 	} else { | ||||
| 		If (WCMP(\_OS,"Linux")) { | ||||
| 			OSVR = 3			/* Linux */ | ||||
| 		} Else { | ||||
| 			OSVR = 4			/* Gotta be WinCE */ | ||||
| 		} | ||||
| 	} | ||||
| 	Return (OSVR) | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user