From: Greg Kroah-Hartman Date: Wed, 18 Dec 2013 19:21:55 +0000 (-0800) Subject: 3.4-stable patches X-Git-Tag: v3.4.75~26 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=9a895b8f39ccaf8ae58010c15e56c3673a628aac;p=thirdparty%2Fkernel%2Fstable-queue.git 3.4-stable patches added patches: drm-radeon-fixup-bad-vram-size-on-si.patch x86-efi-don-t-use-u-efi-time-services-on-32-bit.patch --- diff --git a/queue-3.4/drm-radeon-fixup-bad-vram-size-on-si.patch b/queue-3.4/drm-radeon-fixup-bad-vram-size-on-si.patch new file mode 100644 index 00000000000..6a47c8156d1 --- /dev/null +++ b/queue-3.4/drm-radeon-fixup-bad-vram-size-on-si.patch @@ -0,0 +1,41 @@ +From 0ca223b029a261e82fb2f50c52eb85d510f4260e Mon Sep 17 00:00:00 2001 +From: Alex Deucher +Date: Tue, 3 Dec 2013 09:24:30 -0500 +Subject: drm/radeon: fixup bad vram size on SI + +From: Alex Deucher + +commit 0ca223b029a261e82fb2f50c52eb85d510f4260e upstream. + +Some boards seem to have garbage in the upper +16 bits of the vram size register. Check for +this and clamp the size properly. Fixes +boards reporting bogus amounts of vram. + +Signed-off-by: Alex Deucher +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/gpu/drm/radeon/si.c | 11 +++++++++-- + 1 file changed, 9 insertions(+), 2 deletions(-) + +--- a/drivers/gpu/drm/radeon/si.c ++++ b/drivers/gpu/drm/radeon/si.c +@@ -2479,8 +2479,15 @@ static int si_mc_init(struct radeon_devi + rdev->mc.aper_base = pci_resource_start(rdev->pdev, 0); + rdev->mc.aper_size = pci_resource_len(rdev->pdev, 0); + /* size in MB on si */ +- rdev->mc.mc_vram_size = RREG32(CONFIG_MEMSIZE) * 1024ULL * 1024ULL; +- rdev->mc.real_vram_size = RREG32(CONFIG_MEMSIZE) * 1024ULL * 1024ULL; ++ tmp = RREG32(CONFIG_MEMSIZE); ++ /* some boards may have garbage in the upper 16 bits */ ++ if (tmp & 0xffff0000) { ++ DRM_INFO("Probable bad vram size: 0x%08x\n", tmp); ++ if (tmp & 0xffff) ++ tmp &= 0xffff; ++ } ++ rdev->mc.mc_vram_size = tmp * 1024ULL * 1024ULL; ++ rdev->mc.real_vram_size = rdev->mc.mc_vram_size; + rdev->mc.visible_vram_size = rdev->mc.aper_size; + si_vram_gtt_location(rdev, &rdev->mc); + radeon_update_bandwidth_info(rdev); diff --git a/queue-3.4/series b/queue-3.4/series index 2f1fb244e18..1cb943f856e 100644 --- a/queue-3.4/series +++ b/queue-3.4/series @@ -18,3 +18,5 @@ drivers-rtc-rtc-at91rm9200.c-correct-alarm-over-day-month-wrap.patch selinux-handle-tcp-syn-ack-packets-correctly-in-selinux_ip_output.patch selinux-handle-tcp-syn-ack-packets-correctly-in-selinux_ip_postroute.patch mac80211-don-t-attempt-to-reorder-multicast-frames.patch +drm-radeon-fixup-bad-vram-size-on-si.patch +x86-efi-don-t-use-u-efi-time-services-on-32-bit.patch diff --git a/queue-3.4/x86-efi-don-t-use-u-efi-time-services-on-32-bit.patch b/queue-3.4/x86-efi-don-t-use-u-efi-time-services-on-32-bit.patch new file mode 100644 index 00000000000..8bec6e125ee --- /dev/null +++ b/queue-3.4/x86-efi-don-t-use-u-efi-time-services-on-32-bit.patch @@ -0,0 +1,41 @@ +From 04bf9ba720fcc4fa313fa122b799ae0989b6cd50 Mon Sep 17 00:00:00 2001 +From: Matthew Garrett +Date: Fri, 29 Nov 2013 14:44:43 -0500 +Subject: x86, efi: Don't use (U)EFI time services on 32 bit + +From: Matthew Garrett + +commit 04bf9ba720fcc4fa313fa122b799ae0989b6cd50 upstream. + +UEFI time services are often broken once we're in virtual mode. We were +already refusing to use them on 64-bit systems, but it turns out that +they're also broken on some 32-bit firmware, including the Dell Venue. +Disable them for now, we can revisit once we have the 1:1 mappings code +incorporated. + +Signed-off-by: Matthew Garrett +Link: http://lkml.kernel.org/r/1385754283-2464-1-git-send-email-matthew.garrett@nebula.com +Cc: Matt Fleming +Signed-off-by: H. Peter Anvin +Signed-off-by: Greg Kroah-Hartman + +--- + arch/x86/platform/efi/efi.c | 7 ------- + 1 file changed, 7 deletions(-) + +--- a/arch/x86/platform/efi/efi.c ++++ b/arch/x86/platform/efi/efi.c +@@ -744,13 +744,6 @@ void __init efi_init(void) + + set_bit(EFI_MEMMAP, &x86_efi_facility); + +-#ifdef CONFIG_X86_32 +- if (efi_is_native()) { +- x86_platform.get_wallclock = efi_get_time; +- x86_platform.set_wallclock = efi_set_rtc_mmss; +- } +-#endif +- + #if EFI_DEBUG + print_efi_memmap(); + #endif