forked from rpms/kernel
		
	Linux v4.15-rc3-86-g032b4cc8ff84
This commit is contained in:
		
							parent
							
								
									b59e92ed22
								
							
						
					
					
						commit
						8360c29f0b
					
				| @ -1,38 +0,0 @@ | ||||
| From 91990a4f966e1862f9747072c4f46946169e2d8b Mon Sep 17 00:00:00 2001 | ||||
| From: =?UTF-8?q?Christian=20K=C3=B6nig?= <christian.koenig@amd.com> | ||||
| Date: Tue, 21 Nov 2017 11:20:00 +0100 | ||||
| Subject: [PATCH 1/3] x86/PCI: fix infinity loop in search for 64bit BAR | ||||
|  placement | ||||
| MIME-Version: 1.0 | ||||
| Content-Type: text/plain; charset=UTF-8 | ||||
| Content-Transfer-Encoding: 8bit | ||||
| 
 | ||||
| Break the loop if we can't find some address space for a 64bit BAR. | ||||
| 
 | ||||
| Signed-off-by: Christian König <christian.koenig@amd.com> | ||||
| ---
 | ||||
|  arch/x86/pci/fixup.c | 7 ++++++- | ||||
|  1 file changed, 6 insertions(+), 1 deletion(-) | ||||
| 
 | ||||
| diff --git a/arch/x86/pci/fixup.c b/arch/x86/pci/fixup.c
 | ||||
| index e59378bf37d9..e857b3ac5755 100644
 | ||||
| --- a/arch/x86/pci/fixup.c
 | ||||
| +++ b/arch/x86/pci/fixup.c
 | ||||
| @@ -695,8 +695,13 @@ static void pci_amd_enable_64bit_bar(struct pci_dev *dev)
 | ||||
|  	res->end = 0xfd00000000ull - 1; | ||||
|   | ||||
|  	/* Just grab the free area behind system memory for this */ | ||||
| -	while ((conflict = request_resource_conflict(&iomem_resource, res)))
 | ||||
| +	while ((conflict = request_resource_conflict(&iomem_resource, res))) {
 | ||||
| +		if (conflict->end >= res->end) {
 | ||||
| +			kfree(res);
 | ||||
| +			return;
 | ||||
| +		}
 | ||||
|  		res->start = conflict->end + 1; | ||||
| +	}
 | ||||
|   | ||||
|  	dev_info(&dev->dev, "adding root bus resource %pR\n", res); | ||||
|   | ||||
| -- 
 | ||||
| 2.11.0 | ||||
| 
 | ||||
| @ -1,58 +0,0 @@ | ||||
| From 21ae889eaa7330b57f17cc86b6d0239300eb3f95 Mon Sep 17 00:00:00 2001 | ||||
| From: =?UTF-8?q?Christian=20K=C3=B6nig?= <christian.koenig@amd.com> | ||||
| Date: Tue, 21 Nov 2017 11:08:33 +0100 | ||||
| Subject: [PATCH 2/3] x86/PCI: only enable a 64bit BAR on single socket AMD | ||||
|  Family 15h systems | ||||
| MIME-Version: 1.0 | ||||
| Content-Type: text/plain; charset=UTF-8 | ||||
| Content-Transfer-Encoding: 8bit | ||||
| 
 | ||||
| When we have a multi socket system each CPU core needs the same setup. Since | ||||
| this is tricky to do in the fixup code disable enabling a 64bit BAR on multi | ||||
| socket systems for now. | ||||
| 
 | ||||
| Signed-off-by: Christian König <christian.koenig@amd.com> | ||||
| ---
 | ||||
|  arch/x86/pci/fixup.c | 20 +++++++++++++++----- | ||||
|  1 file changed, 15 insertions(+), 5 deletions(-) | ||||
| 
 | ||||
| diff --git a/arch/x86/pci/fixup.c b/arch/x86/pci/fixup.c
 | ||||
| index e857b3ac5755..c817ab85dc82 100644
 | ||||
| --- a/arch/x86/pci/fixup.c
 | ||||
| +++ b/arch/x86/pci/fixup.c
 | ||||
| @@ -664,6 +664,16 @@ static void pci_amd_enable_64bit_bar(struct pci_dev *dev)
 | ||||
|  	unsigned i; | ||||
|  	u32 base, limit, high; | ||||
|  	struct resource *res, *conflict; | ||||
| +	struct pci_dev *other;
 | ||||
| +
 | ||||
| +	/* Check that we are the only device of that type */
 | ||||
| +	other = pci_get_device(dev->vendor, dev->device, NULL);
 | ||||
| +	if (other != dev ||
 | ||||
| +	    (other = pci_get_device(dev->vendor, dev->device, other))) {
 | ||||
| +		/* This is a multi socket system, don't touch it for now */
 | ||||
| +		pci_dev_put(other);
 | ||||
| +		return;
 | ||||
| +	}
 | ||||
|   | ||||
|  	for (i = 0; i < 8; i++) { | ||||
|  		pci_read_config_dword(dev, AMD_141b_MMIO_BASE(i), &base); | ||||
| @@ -718,10 +728,10 @@ static void pci_amd_enable_64bit_bar(struct pci_dev *dev)
 | ||||
|   | ||||
|  	pci_bus_add_resource(dev->bus, res, 0); | ||||
|  } | ||||
| -DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_AMD, 0x1401, pci_amd_enable_64bit_bar);
 | ||||
| -DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_AMD, 0x141b, pci_amd_enable_64bit_bar);
 | ||||
| -DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_AMD, 0x1571, pci_amd_enable_64bit_bar);
 | ||||
| -DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_AMD, 0x15b1, pci_amd_enable_64bit_bar);
 | ||||
| -DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_AMD, 0x1601, pci_amd_enable_64bit_bar);
 | ||||
| +DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_AMD, 0x1401, pci_amd_enable_64bit_bar);
 | ||||
| +DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_AMD, 0x141b, pci_amd_enable_64bit_bar);
 | ||||
| +DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_AMD, 0x1571, pci_amd_enable_64bit_bar);
 | ||||
| +DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_AMD, 0x15b1, pci_amd_enable_64bit_bar);
 | ||||
| +DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_AMD, 0x1601, pci_amd_enable_64bit_bar);
 | ||||
|   | ||||
|  #endif | ||||
| -- 
 | ||||
| 2.11.0 | ||||
| 
 | ||||
							
								
								
									
										2
									
								
								gitrev
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								gitrev
									
									
									
									
									
								
							| @ -1 +1 @@ | ||||
| 7c5cac1bc7170bfc726a69eb64947c55658d16ad | ||||
| 032b4cc8ff84490c4bc7c4ef8c91e6d83a637538 | ||||
|  | ||||
| @ -69,7 +69,7 @@ Summary: The Linux kernel | ||||
| # The rc snapshot level | ||||
| %global rcrev 3 | ||||
| # The git snapshot level | ||||
| %define gitrev 3 | ||||
| %define gitrev 4 | ||||
| # Set rpm version accordingly | ||||
| %define rpmversion 4.%{upstream_sublevel}.0 | ||||
| %endif | ||||
| @ -637,8 +637,6 @@ Patch631: 0002-HID-multitouch-Only-look-at-non-touch-fields-in-firs.patch | ||||
| Patch632: 0003-HID-multitouch-Combine-all-left-button-events-in-a-f.patch | ||||
| 
 | ||||
| # Reported upstream | ||||
| Patch633: 0001-x86-PCI-fix-infinity-loop-in-search-for-64bit-BAR-pl.patch | ||||
| Patch634: 0002-x86-PCI-only-enable-a-64bit-BAR-on-single-socket-AMD.patch | ||||
| Patch635: 0003-x86-PCI-limit-the-size-of-the-64bit-BAR-to-256GB.patch | ||||
| 
 | ||||
| # END OF PATCH DEFINITIONS | ||||
| @ -2192,6 +2190,9 @@ fi | ||||
| # | ||||
| # | ||||
| %changelog | ||||
| * Fri Dec 15 2017 Laura Abbott <labbott@redhat.com> - 4.15.0-0.rc3.git4.1 | ||||
| - Linux v4.15-rc3-86-g032b4cc8ff84 | ||||
| 
 | ||||
| * Fri Dec 15 2017 Hans de Goede <jwrdegoede@fedoraproject.org> | ||||
| - Enable CONFIG_REGULATOR on x86_64, fixing USB PD charging on some devices | ||||
| 
 | ||||
|  | ||||
							
								
								
									
										2
									
								
								sources
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								sources
									
									
									
									
									
								
							| @ -1,4 +1,4 @@ | ||||
| SHA512 (linux-4.14.tar.xz) = 77e43a02d766c3d73b7e25c4aafb2e931d6b16e870510c22cef0cdb05c3acb7952b8908ebad12b10ef982c6efbe286364b1544586e715cf38390e483927904d8 | ||||
| SHA512 (perf-man-4.14.tar.gz) = 76a9d8adc284cdffd4b3fbb060e7f9a14109267707ce1d03f4c3239cd70d8d164f697da3a0f90a363fbcac42a61d3c378afbcc2a86f112c501b9cb5ce74ef9f8 | ||||
| SHA512 (patch-4.15-rc3.xz) = a29fbd30eebad701232aecb078a84591850702a95a66d5900c02ee95bae234e6a38b9d62029a4cb5aa286c326bce0ee47cce01bdafcaf2bc4e02b82ec046bcdd | ||||
| SHA512 (patch-4.15-rc3-git3.xz) = 0f21c77528eaaed1672daca4bf9e8c007e7055da37adc239d29f369e36201ccd5925d98277bc3f9e9297e310f828f23b480b49b732cc097467e4169159b2953e | ||||
| SHA512 (patch-4.15-rc3-git4.xz) = 5bca8ece2c1b2492203e60b537bb4de2fd509d87c7b9ea58370b555ed2049986d15ed0290a73971dd21720e9c579e12206bf8d38333f420baae3b240dc6d0c26 | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user