summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexandre Oliva <lxoliva@fsfla.org>2017-01-22 14:28:16 +0000
committerAlexandre Oliva <lxoliva@fsfla.org>2017-01-22 14:28:16 +0000
commit40c2c9c1f24eb0da71de8c5b46015cb65eb5cedc (patch)
treec9f0fa49c679ff9aeff192e6a29a038334799143
parente03a76df73d299bc3af8a2e2a258cae6b433cd37 (diff)
downloadlinux-libre-raptor-40c2c9c1f24eb0da71de8c5b46015cb65eb5cedc.tar.gz
linux-libre-raptor-40c2c9c1f24eb0da71de8c5b46015cb65eb5cedc.zip
4.9.4-201.fc25.gnu
-rw-r--r--freed-ora/current/f25/0001-efi-prune-invalid-memory-map-entries.patch141
-rw-r--r--freed-ora/current/f25/bcm283x-vc4-fixes.patch43
-rw-r--r--freed-ora/current/f25/drm-amdgpu-drop-verde-dpm-quirks.patch41
-rw-r--r--freed-ora/current/f25/drm-amdgpu-update-si-kicker-smc-firmware.patch102
-rw-r--r--freed-ora/current/f25/drm-radeon-drop-verde-dpm-quirks.patch44
-rw-r--r--freed-ora/current/f25/drm-radeon-update-smc-firmware-selection-for-si.patch116
-rw-r--r--freed-ora/current/f25/kernel.spec15
7 files changed, 317 insertions, 185 deletions
diff --git a/freed-ora/current/f25/0001-efi-prune-invalid-memory-map-entries.patch b/freed-ora/current/f25/0001-efi-prune-invalid-memory-map-entries.patch
deleted file mode 100644
index 4b65ef504..000000000
--- a/freed-ora/current/f25/0001-efi-prune-invalid-memory-map-entries.patch
+++ /dev/null
@@ -1,141 +0,0 @@
-From c7c7030a020405d5826c03839e38986e0f78f2ea Mon Sep 17 00:00:00 2001
-From: Peter Jones <pjones@redhat.com>
-Date: Tue, 13 Dec 2016 10:25:10 +0000
-Subject: [PATCH] efi: prune invalid memory map entries
-
-Some machines, such as the Lenovo ThinkPad W541 with firmware GNET80WW
-(2.28), include memory map entries with phys_addr=0x0 and num_pages=0.
-
-Currently the log output for this case (with efi=debug) looks like:
-
-[ 0.000000] efi: mem45: [Reserved | | | | | | | | | | | | ] range=[0x0000000000000000-0xffffffffffffffff] (0MB)
-
-This is clearly wrong, and also not as informative as it could be. This
-patch changes it so that if we find obviously invalid memory map
-entries, we print an error and those entries. It also detects the
-display of the address range calculation overflow, so the new output is:
-
-[ 0.000000] efi: [Firmware Bug]: Invalid EFI memory map entries:
-[ 0.000000] efi: mem45: [Reserved | | | | | | | | | | | | ] range=[0x0000000000000000-0x0000000000000000] (invalid)
-
-It also detects memory map sizes that would overflow the physical
-address, for example phys_addr=0xfffffffffffff000 and
-num_pages=0x0200000000000001, and prints:
-
-[ 0.000000] efi: [Firmware Bug]: Invalid EFI memory map entries:
-[ 0.000000] efi: mem45: [Reserved | | | | | | | | | | | | ] range=[phys_addr=0xfffffffffffff000-0x20ffffffffffffffff] (invalid)
-
-It then removes these entries from the memory map.
-
-Cc: Matt Fleming <matt@codeblueprint.co.uk>
-Signed-off-by: Peter Jones <pjones@redhat.com>
-[ardb: refactor for clarity with no functional changes, avoid PAGE_SHIFT]
-Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
----
- arch/x86/platform/efi/efi.c | 70 +++++++++++++++++++++++++++++++++++++++++++++
- include/linux/efi.h | 1 +
- 2 files changed, 71 insertions(+)
-
-diff --git a/arch/x86/platform/efi/efi.c b/arch/x86/platform/efi/efi.c
-index bf99aa7..0a1550b 100644
---- a/arch/x86/platform/efi/efi.c
-+++ b/arch/x86/platform/efi/efi.c
-@@ -210,6 +210,74 @@ int __init efi_memblock_x86_reserve_range(void)
- return 0;
- }
-
-+#define OVERFLOW_ADDR_SHIFT (64 - EFI_PAGE_SHIFT)
-+#define OVERFLOW_ADDR_MASK (U64_MAX << OVERFLOW_ADDR_SHIFT)
-+#define U64_HIGH_BIT (~(U64_MAX >> 1))
-+
-+static bool __init efi_memmap_entry_valid(const efi_memory_desc_t *md, int i)
-+{
-+ static __initdata bool once = true;
-+ u64 end = (md->num_pages << EFI_PAGE_SHIFT) + md->phys_addr - 1;
-+ u64 end_hi = 0;
-+ char buf[64];
-+
-+ if (md->num_pages == 0) {
-+ end = 0;
-+ } else if (md->num_pages > EFI_PAGES_MAX ||
-+ EFI_PAGES_MAX - md->num_pages <
-+ (md->phys_addr >> EFI_PAGE_SHIFT)) {
-+ end_hi = (md->num_pages & OVERFLOW_ADDR_MASK)
-+ >> OVERFLOW_ADDR_SHIFT;
-+
-+ if ((md->phys_addr & U64_HIGH_BIT) && !(end & U64_HIGH_BIT))
-+ end_hi += 1;
-+ } else {
-+ return true;
-+ }
-+
-+ if (once) {
-+ pr_warn(FW_BUG "Invalid EFI memory map entries:\n");
-+ once = false;
-+ }
-+
-+ if (end_hi) {
-+ pr_warn("mem%02u: %s range=[0x%016llx-0x%llx%016llx] (invalid)\n",
-+ i, efi_md_typeattr_format(buf, sizeof(buf), md),
-+ md->phys_addr, end_hi, end);
-+ } else {
-+ pr_warn("mem%02u: %s range=[0x%016llx-0x%016llx] (invalid)\n",
-+ i, efi_md_typeattr_format(buf, sizeof(buf), md),
-+ md->phys_addr, end);
-+ }
-+ return false;
-+}
-+
-+static void __init efi_clean_memmap(void)
-+{
-+ efi_memory_desc_t *out = efi.memmap.map;
-+ const efi_memory_desc_t *in = out;
-+ const efi_memory_desc_t *end = efi.memmap.map_end;
-+ int i, n_removal;
-+
-+ for (i = n_removal = 0; in < end; i++) {
-+ if (efi_memmap_entry_valid(in, i)) {
-+ if (out != in)
-+ memcpy(out, in, efi.memmap.desc_size);
-+ out = (void *)out + efi.memmap.desc_size;
-+ } else {
-+ n_removal++;
-+ }
-+ in = (void *)in + efi.memmap.desc_size;
-+ }
-+
-+ if (n_removal > 0) {
-+ u64 size = efi.memmap.nr_map - n_removal;
-+
-+ pr_warn("Removing %d invalid memory map entries.\n", n_removal);
-+ efi_memmap_install(efi.memmap.phys_map, size);
-+ }
-+}
-+
- void __init efi_print_memmap(void)
- {
- efi_memory_desc_t *md;
-@@ -472,6 +540,8 @@ void __init efi_init(void)
- }
- }
-
-+ efi_clean_memmap();
-+
- if (efi_enabled(EFI_DBG))
- efi_print_memmap();
- }
-diff --git a/include/linux/efi.h b/include/linux/efi.h
-index 4c1b3ea..712a3aa 100644
---- a/include/linux/efi.h
-+++ b/include/linux/efi.h
-@@ -103,6 +103,7 @@ typedef struct {
-
- #define EFI_PAGE_SHIFT 12
- #define EFI_PAGE_SIZE (1UL << EFI_PAGE_SHIFT)
-+#define EFI_PAGES_MAX (U64_MAX >> EFI_PAGE_SHIFT)
-
- typedef struct {
- u32 type;
---
-2.9.3
-
diff --git a/freed-ora/current/f25/bcm283x-vc4-fixes.patch b/freed-ora/current/f25/bcm283x-vc4-fixes.patch
deleted file mode 100644
index d42ceb62a..000000000
--- a/freed-ora/current/f25/bcm283x-vc4-fixes.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-From 30772942cc1095c3129eecfa182e2c568e566b9d Mon Sep 17 00:00:00 2001
-From: Dan Carpenter <dan.carpenter@oracle.com>
-Date: Thu, 13 Oct 2016 11:54:31 +0300
-Subject: [PATCH] drm/vc4: Fix a couple error codes in vc4_cl_lookup_bos()
-
-If the allocation fails the current code returns success. If
-copy_from_user() fails it returns the number of bytes remaining instead
-of -EFAULT.
-
-Fixes: d5b1a78a772f ("drm/vc4: Add support for drawing 3D frames.")
-Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
-Reviewed-by: Eric Anholt <eric@anholt.net>
----
- drivers/gpu/drm/vc4/vc4_gem.c | 9 +++++----
- 1 file changed, 5 insertions(+), 4 deletions(-)
-
-diff --git a/drivers/gpu/drm/vc4/vc4_gem.c b/drivers/gpu/drm/vc4/vc4_gem.c
-index ae1609e..4050540 100644
---- a/drivers/gpu/drm/vc4/vc4_gem.c
-+++ b/drivers/gpu/drm/vc4/vc4_gem.c
-@@ -548,14 +548,15 @@ vc4_cl_lookup_bos(struct drm_device *dev,
-
- handles = drm_malloc_ab(exec->bo_count, sizeof(uint32_t));
- if (!handles) {
-+ ret = -ENOMEM;
- DRM_ERROR("Failed to allocate incoming GEM handles\n");
- goto fail;
- }
-
-- ret = copy_from_user(handles,
-- (void __user *)(uintptr_t)args->bo_handles,
-- exec->bo_count * sizeof(uint32_t));
-- if (ret) {
-+ if (copy_from_user(handles,
-+ (void __user *)(uintptr_t)args->bo_handles,
-+ exec->bo_count * sizeof(uint32_t))) {
-+ ret = -EFAULT;
- DRM_ERROR("Failed to copy in GEM handles\n");
- goto fail;
- }
---
-2.9.3
-
diff --git a/freed-ora/current/f25/drm-amdgpu-drop-verde-dpm-quirks.patch b/freed-ora/current/f25/drm-amdgpu-drop-verde-dpm-quirks.patch
new file mode 100644
index 000000000..92df978cf
--- /dev/null
+++ b/freed-ora/current/f25/drm-amdgpu-drop-verde-dpm-quirks.patch
@@ -0,0 +1,41 @@
+From 7192c54a68013f6058b1bb505645fcd07015191c Mon Sep 17 00:00:00 2001
+From: Alex Deucher <alexander.deucher@amd.com>
+Date: Thu, 5 Jan 2017 13:02:37 -0500
+Subject: drm/amdgpu: drop verde dpm quirks
+
+From: Alex Deucher <alexander.deucher@amd.com>
+
+commit 7192c54a68013f6058b1bb505645fcd07015191c upstream.
+
+Port of radeon change to amdgpu.
+
+Acked-by: Edward O'Callaghan <funfunctor@folklore1984.net>
+Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/gpu/drm/amd/amdgpu/si_dpm.c | 13 -------------
+ 1 file changed, 13 deletions(-)
+
+--- a/drivers/gpu/drm/amd/amdgpu/si_dpm.c
++++ b/drivers/gpu/drm/amd/amdgpu/si_dpm.c
+@@ -3485,19 +3485,6 @@ static void si_apply_state_adjust_rules(
+ (adev->pdev->device == 0x6817) ||
+ (adev->pdev->device == 0x6806))
+ max_mclk = 120000;
+- } else if (adev->asic_type == CHIP_VERDE) {
+- if ((adev->pdev->revision == 0x81) ||
+- (adev->pdev->revision == 0x83) ||
+- (adev->pdev->revision == 0x87) ||
+- (adev->pdev->device == 0x6820) ||
+- (adev->pdev->device == 0x6821) ||
+- (adev->pdev->device == 0x6822) ||
+- (adev->pdev->device == 0x6823) ||
+- (adev->pdev->device == 0x682A) ||
+- (adev->pdev->device == 0x682B)) {
+- max_sclk = 75000;
+- max_mclk = 80000;
+- }
+ } else if (adev->asic_type == CHIP_OLAND) {
+ if ((adev->pdev->revision == 0xC7) ||
+ (adev->pdev->revision == 0x80) ||
diff --git a/freed-ora/current/f25/drm-amdgpu-update-si-kicker-smc-firmware.patch b/freed-ora/current/f25/drm-amdgpu-update-si-kicker-smc-firmware.patch
new file mode 100644
index 000000000..4741fc02d
--- /dev/null
+++ b/freed-ora/current/f25/drm-amdgpu-update-si-kicker-smc-firmware.patch
@@ -0,0 +1,102 @@
+From 5165484b02f2cbedb5bf3a41ff5e8ae16069016c Mon Sep 17 00:00:00 2001
+From: Flora Cui <Flora.Cui@amd.com>
+Date: Thu, 15 Dec 2016 13:43:59 +0800
+Subject: drm/amdgpu: update si kicker smc firmware
+
+From: Flora Cui <Flora.Cui@amd.com>
+
+commit 5165484b02f2cbedb5bf3a41ff5e8ae16069016c upstream.
+
+Use the appropriate smc firmware for each chip revision.
+Using the wrong one can cause stability issues.
+
+Acked-by: Edward O'Callaghan <funfunctor@folklore1984.net>
+Signed-off-by: Flora Cui <Flora.Cui@amd.com>
+Reviewed-by: Junwei Zhang <Jerry.Zhang@amd.com>
+Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/gpu/drm/amd/amdgpu/si_dpm.c | 57 +++++++++++++++++-------------------
+ 1 file changed, 28 insertions(+), 29 deletions(-)
+
+--- a/drivers/gpu/drm/amd/amdgpu/si_dpm.c
++++ b/drivers/gpu/drm/amd/amdgpu/si_dpm.c
+@@ -7685,49 +7684,49 @@ static int si_dpm_init_microcode(struct
+ chip_name = "tahiti";
+ break;
+ case CHIP_PITCAIRN:
+- if ((adev->pdev->revision == 0x81) ||
+- (adev->pdev->device == 0x6810) ||
+- (adev->pdev->device == 0x6811) ||
+- (adev->pdev->device == 0x6816) ||
+- (adev->pdev->device == 0x6817) ||
+- (adev->pdev->device == 0x6806))
++ if ((adev->pdev->revision == 0x81) &&
++ ((adev->pdev->device == 0x6810) ||
++ (adev->pdev->device == 0x6811)))
+ chip_name = "pitcairn_k";
+ else
+ chip_name = "pitcairn";
+ break;
+ case CHIP_VERDE:
+- if ((adev->pdev->revision == 0x81) ||
+- (adev->pdev->revision == 0x83) ||
+- (adev->pdev->revision == 0x87) ||
+- (adev->pdev->device == 0x6820) ||
+- (adev->pdev->device == 0x6821) ||
+- (adev->pdev->device == 0x6822) ||
+- (adev->pdev->device == 0x6823) ||
+- (adev->pdev->device == 0x682A) ||
+- (adev->pdev->device == 0x682B))
++ if (((adev->pdev->device == 0x6820) &&
++ ((adev->pdev->revision == 0x81) ||
++ (adev->pdev->revision == 0x83))) ||
++ ((adev->pdev->device == 0x6821) &&
++ ((adev->pdev->revision == 0x83) ||
++ (adev->pdev->revision == 0x87))) ||
++ ((adev->pdev->revision == 0x87) &&
++ ((adev->pdev->device == 0x6823) ||
++ (adev->pdev->device == 0x682b))))
+ chip_name = "verde_k";
+ else
+ chip_name = "verde";
+ break;
+ case CHIP_OLAND:
+- if ((adev->pdev->revision == 0xC7) ||
+- (adev->pdev->revision == 0x80) ||
+- (adev->pdev->revision == 0x81) ||
+- (adev->pdev->revision == 0x83) ||
+- (adev->pdev->revision == 0x87) ||
+- (adev->pdev->device == 0x6604) ||
+- (adev->pdev->device == 0x6605))
++ if (((adev->pdev->revision == 0x81) &&
++ ((adev->pdev->device == 0x6600) ||
++ (adev->pdev->device == 0x6604) ||
++ (adev->pdev->device == 0x6605) ||
++ (adev->pdev->device == 0x6610))) ||
++ ((adev->pdev->revision == 0x83) &&
++ (adev->pdev->device == 0x6610)))
+ chip_name = "oland_k";
+ else
+ chip_name = "oland";
+ break;
+ case CHIP_HAINAN:
+- if ((adev->pdev->revision == 0x81) ||
+- (adev->pdev->revision == 0x83) ||
+- (adev->pdev->revision == 0xC3) ||
+- (adev->pdev->device == 0x6664) ||
+- (adev->pdev->device == 0x6665) ||
+- (adev->pdev->device == 0x6667))
++ if (((adev->pdev->revision == 0x81) &&
++ (adev->pdev->device == 0x6660)) ||
++ ((adev->pdev->revision == 0x83) &&
++ ((adev->pdev->device == 0x6660) ||
++ (adev->pdev->device == 0x6663) ||
++ (adev->pdev->device == 0x6665) ||
++ (adev->pdev->device == 0x6667))) ||
++ ((adev->pdev->revision == 0xc3) &&
++ (adev->pdev->device == 0x6665)))
+ chip_name = "hainan_k";
+ else
+ chip_name = "hainan";
diff --git a/freed-ora/current/f25/drm-radeon-drop-verde-dpm-quirks.patch b/freed-ora/current/f25/drm-radeon-drop-verde-dpm-quirks.patch
new file mode 100644
index 000000000..ea736b2a1
--- /dev/null
+++ b/freed-ora/current/f25/drm-radeon-drop-verde-dpm-quirks.patch
@@ -0,0 +1,44 @@
+From 8a08403bcb39f5d0e733bcf59a8a74f16b538f6e Mon Sep 17 00:00:00 2001
+From: Alex Deucher <alexander.deucher@amd.com>
+Date: Thu, 5 Jan 2017 12:39:01 -0500
+Subject: drm/radeon: drop verde dpm quirks
+
+From: Alex Deucher <alexander.deucher@amd.com>
+
+commit 8a08403bcb39f5d0e733bcf59a8a74f16b538f6e upstream.
+
+fixes:
+https://bugs.freedesktop.org/show_bug.cgi?id=98897
+https://bugs.launchpad.net/bugs/1651981
+
+Acked-by: Edward O'Callaghan <funfunctor@folklore1984.net>
+Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
+Cc: Adrian Fiergolski <A.Fiergolski@gmail.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/gpu/drm/radeon/si_dpm.c | 13 -------------
+ 1 file changed, 13 deletions(-)
+
+--- a/drivers/gpu/drm/radeon/si_dpm.c
++++ b/drivers/gpu/drm/radeon/si_dpm.c
+@@ -3008,19 +3008,6 @@ static void si_apply_state_adjust_rules(
+ (rdev->pdev->device == 0x6817) ||
+ (rdev->pdev->device == 0x6806))
+ max_mclk = 120000;
+- } else if (rdev->family == CHIP_VERDE) {
+- if ((rdev->pdev->revision == 0x81) ||
+- (rdev->pdev->revision == 0x83) ||
+- (rdev->pdev->revision == 0x87) ||
+- (rdev->pdev->device == 0x6820) ||
+- (rdev->pdev->device == 0x6821) ||
+- (rdev->pdev->device == 0x6822) ||
+- (rdev->pdev->device == 0x6823) ||
+- (rdev->pdev->device == 0x682A) ||
+- (rdev->pdev->device == 0x682B)) {
+- max_sclk = 75000;
+- max_mclk = 80000;
+- }
+ } else if (rdev->family == CHIP_OLAND) {
+ if ((rdev->pdev->revision == 0xC7) ||
+ (rdev->pdev->revision == 0x80) ||
diff --git a/freed-ora/current/f25/drm-radeon-update-smc-firmware-selection-for-si.patch b/freed-ora/current/f25/drm-radeon-update-smc-firmware-selection-for-si.patch
new file mode 100644
index 000000000..47606562a
--- /dev/null
+++ b/freed-ora/current/f25/drm-radeon-update-smc-firmware-selection-for-si.patch
@@ -0,0 +1,116 @@
+From 6458bd4dfd9414cba5804eb9907fe2a824278c34 Mon Sep 17 00:00:00 2001
+From: Alex Deucher <alexander.deucher@amd.com>
+Date: Thu, 5 Jan 2017 12:15:52 -0500
+Subject: drm/radeon: update smc firmware selection for SI
+
+From: Alex Deucher <alexander.deucher@amd.com>
+
+commit 6458bd4dfd9414cba5804eb9907fe2a824278c34 upstream.
+
+Use the appropriate smc firmware for each chip revision.
+Using the wrong one can cause stability issues.
+
+Acked-by: Edward O'Callaghan <funfunctor@folklore1984.net>
+Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/gpu/drm/radeon/si.c | 60 ++++++++++++++++++++------------------------
+ 1 file changed, 28 insertions(+), 32 deletions(-)
+
+--- a/drivers/gpu/drm/radeon/si.c
++++ b/drivers/gpu/drm/radeon/si.c
+@@ -1657,9 +1656,6 @@ static int si_init_microcode(struct rade
+ switch (rdev->family) {
+ case CHIP_TAHITI:
+ chip_name = "TAHITI";
+- /* XXX: figure out which Tahitis need the new ucode */
+- if (0)
+- new_smc = true;
+ new_chip_name = "tahiti";
+ pfp_req_size = SI_PFP_UCODE_SIZE * 4;
+ me_req_size = SI_PM4_UCODE_SIZE * 4;
+@@ -1671,12 +1667,9 @@ static int si_init_microcode(struct rade
+ break;
+ case CHIP_PITCAIRN:
+ chip_name = "PITCAIRN";
+- if ((rdev->pdev->revision == 0x81) ||
+- (rdev->pdev->device == 0x6810) ||
+- (rdev->pdev->device == 0x6811) ||
+- (rdev->pdev->device == 0x6816) ||
+- (rdev->pdev->device == 0x6817) ||
+- (rdev->pdev->device == 0x6806))
++ if ((rdev->pdev->revision == 0x81) &&
++ ((rdev->pdev->device == 0x6810) ||
++ (rdev->pdev->device == 0x6811)))
+ new_smc = true;
+ new_chip_name = "pitcairn";
+ pfp_req_size = SI_PFP_UCODE_SIZE * 4;
+@@ -1689,15 +1682,15 @@ static int si_init_microcode(struct rade
+ break;
+ case CHIP_VERDE:
+ chip_name = "VERDE";
+- if ((rdev->pdev->revision == 0x81) ||
+- (rdev->pdev->revision == 0x83) ||
+- (rdev->pdev->revision == 0x87) ||
+- (rdev->pdev->device == 0x6820) ||
+- (rdev->pdev->device == 0x6821) ||
+- (rdev->pdev->device == 0x6822) ||
+- (rdev->pdev->device == 0x6823) ||
+- (rdev->pdev->device == 0x682A) ||
+- (rdev->pdev->device == 0x682B))
++ if (((rdev->pdev->device == 0x6820) &&
++ ((rdev->pdev->revision == 0x81) ||
++ (rdev->pdev->revision == 0x83))) ||
++ ((rdev->pdev->device == 0x6821) &&
++ ((rdev->pdev->revision == 0x83) ||
++ (rdev->pdev->revision == 0x87))) ||
++ ((rdev->pdev->revision == 0x87) &&
++ ((rdev->pdev->device == 0x6823) ||
++ (rdev->pdev->device == 0x682b))))
+ new_smc = true;
+ new_chip_name = "verde";
+ pfp_req_size = SI_PFP_UCODE_SIZE * 4;
+@@ -1710,13 +1703,13 @@ static int si_init_microcode(struct rade
+ break;
+ case CHIP_OLAND:
+ chip_name = "OLAND";
+- if ((rdev->pdev->revision == 0xC7) ||
+- (rdev->pdev->revision == 0x80) ||
+- (rdev->pdev->revision == 0x81) ||
+- (rdev->pdev->revision == 0x83) ||
+- (rdev->pdev->revision == 0x87) ||
+- (rdev->pdev->device == 0x6604) ||
+- (rdev->pdev->device == 0x6605))
++ if (((rdev->pdev->revision == 0x81) &&
++ ((rdev->pdev->device == 0x6600) ||
++ (rdev->pdev->device == 0x6604) ||
++ (rdev->pdev->device == 0x6605) ||
++ (rdev->pdev->device == 0x6610))) ||
++ ((rdev->pdev->revision == 0x83) &&
++ (rdev->pdev->device == 0x6610)))
+ new_smc = true;
+ new_chip_name = "oland";
+ pfp_req_size = SI_PFP_UCODE_SIZE * 4;
+@@ -1728,12 +1721,15 @@ static int si_init_microcode(struct rade
+ break;
+ case CHIP_HAINAN:
+ chip_name = "HAINAN";
+- if ((rdev->pdev->revision == 0x81) ||
+- (rdev->pdev->revision == 0x83) ||
+- (rdev->pdev->revision == 0xC3) ||
+- (rdev->pdev->device == 0x6664) ||
+- (rdev->pdev->device == 0x6665) ||
+- (rdev->pdev->device == 0x6667))
++ if (((rdev->pdev->revision == 0x81) &&
++ (rdev->pdev->device == 0x6660)) ||
++ ((rdev->pdev->revision == 0x83) &&
++ ((rdev->pdev->device == 0x6660) ||
++ (rdev->pdev->device == 0x6663) ||
++ (rdev->pdev->device == 0x6665) ||
++ (rdev->pdev->device == 0x6667))) ||
++ ((rdev->pdev->revision == 0xc3) &&
++ (rdev->pdev->device == 0x6665)))
+ new_smc = true;
+ new_chip_name = "hainan";
+ pfp_req_size = SI_PFP_UCODE_SIZE * 4;
diff --git a/freed-ora/current/f25/kernel.spec b/freed-ora/current/f25/kernel.spec
index 57bf2fdbf..cc569f8d3 100644
--- a/freed-ora/current/f25/kernel.spec
+++ b/freed-ora/current/f25/kernel.spec
@@ -42,7 +42,7 @@ Summary: The Linux kernel
# For non-released -rc kernels, this will be appended after the rcX and
# gitX tags, so a 3 here would become part of release "0.rcX.gitX.3"
#
-%global baserelease 200
+%global baserelease 201
%global fedora_build %{baserelease}
# base_sublevel is the kernel version we're starting with and patching
@@ -682,6 +682,12 @@ Patch851: selinux-namespace-fix.patch
#rhbz 1390308
Patch852: nouveau-add-maxwell-to-backlight-init.patch
+# Possible ATI fixes?
+Patch853: drm-amdgpu-drop-verde-dpm-quirks.patch
+Patch854: drm-amdgpu-update-si-kicker-smc-firmware.patch
+Patch855: drm-radeon-drop-verde-dpm-quirks.patch
+Patch856: drm-radeon-update-smc-firmware-selection-for-si.patch
+
# END OF PATCH DEFINITIONS
%endif
@@ -2327,6 +2333,13 @@ fi
#
#
%changelog
+* Fri Jan 20 2017 Alexandre Oliva <lxoliva@fsfla.org> -libre
+- Deblobbed drm-radeon-update-smc-firmware-selection-for-si.patch
+ and drm-amdgpu-update-si-kicker-smc-firmware.patch.
+
+* Tue Jan 17 2017 Laura Abbott <labbott@fedoraproject.org> - 4.9.4-201
+- Add possible ATI fixes
+
* Tue Jan 17 2017 Alexandre Oliva <lxoliva@fsfla.org> -libre
- GNU Linux-libre 4.9.4-gnu.
OpenPOWER on IntegriCloud