Linux v3.4-10115-g829f51d
This commit is contained in:
parent
940afcbf92
commit
d0633aed96
@ -2662,6 +2662,7 @@ CONFIG_FB=y
|
|||||||
# CONFIG_FB_ATY_CT is not set
|
# CONFIG_FB_ATY_CT is not set
|
||||||
# CONFIG_FB_ATY_GX is not set
|
# CONFIG_FB_ATY_GX is not set
|
||||||
# CONFIG_FB_ASILIANT is not set
|
# CONFIG_FB_ASILIANT is not set
|
||||||
|
# CONFIG_FB_AUO_K190X is not set
|
||||||
# CONFIG_FB_CARMINE is not set
|
# CONFIG_FB_CARMINE is not set
|
||||||
# CONFIG_FB_CIRRUS is not set
|
# CONFIG_FB_CIRRUS is not set
|
||||||
# CONFIG_FB_CYBER2000 is not set
|
# CONFIG_FB_CYBER2000 is not set
|
||||||
@ -3631,17 +3632,17 @@ CONFIG_NLS_ISO8859_14=m
|
|||||||
CONFIG_NLS_ISO8859_15=m
|
CONFIG_NLS_ISO8859_15=m
|
||||||
CONFIG_NLS_KOI8_R=m
|
CONFIG_NLS_KOI8_R=m
|
||||||
CONFIG_NLS_KOI8_U=m
|
CONFIG_NLS_KOI8_U=m
|
||||||
CONFIG_NLS_CODEPAGE_MACROMAN=m
|
CONFIG_NLS_MAC_ROMAN=m
|
||||||
CONFIG_NLS_CODEPAGE_MACCELTIC=m
|
CONFIG_NLS_MAC_CELTIC=m
|
||||||
CONFIG_NLS_CODEPAGE_MACCENTEURO=m
|
CONFIG_NLS_MAC_CENTEURO=m
|
||||||
CONFIG_NLS_CODEPAGE_MACCROATIAN=m
|
CONFIG_NLS_MAC_CROATIAN=m
|
||||||
CONFIG_NLS_CODEPAGE_MACCYRILLIC=m
|
CONFIG_NLS_MAC_CYRILLIC=m
|
||||||
CONFIG_NLS_CODEPAGE_MACGAELIC=m
|
CONFIG_NLS_MAC_GAELIC=m
|
||||||
CONFIG_NLS_CODEPAGE_MACGREEK=m
|
CONFIG_NLS_MAC_GREEK=m
|
||||||
CONFIG_NLS_CODEPAGE_MACICELAND=m
|
CONFIG_NLS_MAC_ICELAND=m
|
||||||
CONFIG_NLS_CODEPAGE_MACINUIT=m
|
CONFIG_NLS_MAC_INUIT=m
|
||||||
CONFIG_NLS_CODEPAGE_MACROMANIAN=m
|
CONFIG_NLS_MAC_ROMANIAN=m
|
||||||
CONFIG_NLS_CODEPAGE_MACTURKISH=m
|
CONFIG_NLS_MAC_TURKISH=m
|
||||||
CONFIG_NLS_UTF8=m
|
CONFIG_NLS_UTF8=m
|
||||||
CONFIG_NLS_ASCII=y
|
CONFIG_NLS_ASCII=y
|
||||||
|
|
||||||
|
@ -1,101 +0,0 @@
|
|||||||
diff --git a/drivers/gpu/drm/cirrus/cirrus_drv.c b/drivers/gpu/drm/cirrus/cirrus_drv.c
|
|
||||||
index d703823..7053140 100644
|
|
||||||
--- a/drivers/gpu/drm/cirrus/cirrus_drv.c
|
|
||||||
+++ b/drivers/gpu/drm/cirrus/cirrus_drv.c
|
|
||||||
@@ -35,9 +35,28 @@ static DEFINE_PCI_DEVICE_TABLE(pciidlist) = {
|
|
||||||
{0,}
|
|
||||||
};
|
|
||||||
|
|
||||||
+
|
|
||||||
+static void cirrus_kick_out_firmware_fb(struct pci_dev *pdev)
|
|
||||||
+{
|
|
||||||
+ struct apertures_struct *ap;
|
|
||||||
+ bool primary = false;
|
|
||||||
+
|
|
||||||
+ ap = alloc_apertures(1);
|
|
||||||
+ ap->ranges[0].base = pci_resource_start(pdev, 0);
|
|
||||||
+ ap->ranges[0].size = pci_resource_len(pdev, 0);
|
|
||||||
+
|
|
||||||
+#ifdef CONFIG_X86
|
|
||||||
+ primary = pdev->resource[PCI_ROM_RESOURCE].flags & IORESOURCE_ROM_SHADOW;
|
|
||||||
+#endif
|
|
||||||
+ remove_conflicting_framebuffers(ap, "cirrusdrmfb", primary);
|
|
||||||
+ kfree(ap);
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
static int __devinit
|
|
||||||
cirrus_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
|
|
||||||
{
|
|
||||||
+ cirrus_kick_out_firmware_fb(pdev);
|
|
||||||
+
|
|
||||||
return drm_get_pci_dev(pdev, ent, &driver);
|
|
||||||
}
|
|
||||||
|
|
||||||
diff --git a/drivers/gpu/drm/cirrus/cirrus_drv.h b/drivers/gpu/drm/cirrus/cirrus_drv.h
|
|
||||||
index 21bdfa8..64ea597 100644
|
|
||||||
--- a/drivers/gpu/drm/cirrus/cirrus_drv.h
|
|
||||||
+++ b/drivers/gpu/drm/cirrus/cirrus_drv.h
|
|
||||||
@@ -145,7 +145,7 @@ struct cirrus_device {
|
|
||||||
struct ttm_bo_device bdev;
|
|
||||||
atomic_t validate_sequence;
|
|
||||||
} ttm;
|
|
||||||
-
|
|
||||||
+ bool mm_inited;
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
diff --git a/drivers/gpu/drm/cirrus/cirrus_ttm.c b/drivers/gpu/drm/cirrus/cirrus_ttm.c
|
|
||||||
index 2ebcd11..50e170f 100644
|
|
||||||
--- a/drivers/gpu/drm/cirrus/cirrus_ttm.c
|
|
||||||
+++ b/drivers/gpu/drm/cirrus/cirrus_ttm.c
|
|
||||||
@@ -275,12 +275,17 @@ int cirrus_mm_init(struct cirrus_device *cirrus)
|
|
||||||
pci_resource_len(dev->pdev, 0),
|
|
||||||
DRM_MTRR_WC);
|
|
||||||
|
|
||||||
+ cirrus->mm_inited = true;
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
void cirrus_mm_fini(struct cirrus_device *cirrus)
|
|
||||||
{
|
|
||||||
struct drm_device *dev = cirrus->dev;
|
|
||||||
+
|
|
||||||
+ if (!cirrus->mm_inited)
|
|
||||||
+ return;
|
|
||||||
+
|
|
||||||
ttm_bo_device_release(&cirrus->ttm.bdev);
|
|
||||||
|
|
||||||
cirrus_ttm_global_release(cirrus);
|
|
||||||
diff --git a/drivers/gpu/drm/mgag200/mgag200_drv.c b/drivers/gpu/drm/mgag200/mgag200_drv.c
|
|
||||||
index 3c8e04f..93e832d 100644
|
|
||||||
--- a/drivers/gpu/drm/mgag200/mgag200_drv.c
|
|
||||||
+++ b/drivers/gpu/drm/mgag200/mgag200_drv.c
|
|
||||||
@@ -41,9 +41,28 @@ static DEFINE_PCI_DEVICE_TABLE(pciidlist) = {
|
|
||||||
|
|
||||||
MODULE_DEVICE_TABLE(pci, pciidlist);
|
|
||||||
|
|
||||||
+static void mgag200_kick_out_firmware_fb(struct pci_dev *pdev)
|
|
||||||
+{
|
|
||||||
+ struct apertures_struct *ap;
|
|
||||||
+ bool primary = false;
|
|
||||||
+
|
|
||||||
+ ap = alloc_apertures(1);
|
|
||||||
+ ap->ranges[0].base = pci_resource_start(pdev, 0);
|
|
||||||
+ ap->ranges[0].size = pci_resource_len(pdev, 0);
|
|
||||||
+
|
|
||||||
+#ifdef CONFIG_X86
|
|
||||||
+ primary = pdev->resource[PCI_ROM_RESOURCE].flags & IORESOURCE_ROM_SHADOW;
|
|
||||||
+#endif
|
|
||||||
+ remove_conflicting_framebuffers(ap, "mgag200drmfb", primary);
|
|
||||||
+ kfree(ap);
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+
|
|
||||||
static int __devinit
|
|
||||||
mga_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
|
|
||||||
{
|
|
||||||
+ mgag200_kick_out_firmware_fb(pdev);
|
|
||||||
+
|
|
||||||
return drm_get_pci_dev(pdev, ent, &driver);
|
|
||||||
}
|
|
||||||
|
|
11
kernel.spec
11
kernel.spec
@ -95,7 +95,7 @@ Summary: The Linux kernel
|
|||||||
# The rc snapshot level
|
# The rc snapshot level
|
||||||
%define rcrev 0
|
%define rcrev 0
|
||||||
# The git snapshot level
|
# The git snapshot level
|
||||||
%define gitrev 11
|
%define gitrev 12
|
||||||
# Set rpm version accordingly
|
# Set rpm version accordingly
|
||||||
%define rpmversion 3.%{upstream_sublevel}.0
|
%define rpmversion 3.%{upstream_sublevel}.0
|
||||||
%endif
|
%endif
|
||||||
@ -747,9 +747,6 @@ Patch22000: weird-root-dentry-name-debug.patch
|
|||||||
#selinux ptrace child permissions
|
#selinux ptrace child permissions
|
||||||
Patch22001: selinux-apply-different-permission-to-ptrace-child.patch
|
Patch22001: selinux-apply-different-permission-to-ptrace-child.patch
|
||||||
|
|
||||||
#rhbz 826983
|
|
||||||
Patch22002: drm-cirrus-qemu-fix-crash.patch
|
|
||||||
|
|
||||||
# END OF PATCH DEFINITIONS
|
# END OF PATCH DEFINITIONS
|
||||||
|
|
||||||
%endif
|
%endif
|
||||||
@ -1443,9 +1440,6 @@ ApplyPatch selinux-apply-different-permission-to-ptrace-child.patch
|
|||||||
#Highbank clock functions
|
#Highbank clock functions
|
||||||
ApplyPatch highbank-export-clock-functions.patch
|
ApplyPatch highbank-export-clock-functions.patch
|
||||||
|
|
||||||
# rhbz 826983
|
|
||||||
ApplyPatch drm-cirrus-qemu-fix-crash.patch
|
|
||||||
|
|
||||||
# END OF PATCH APPLICATIONS
|
# END OF PATCH APPLICATIONS
|
||||||
|
|
||||||
%endif
|
%endif
|
||||||
@ -2296,6 +2290,9 @@ fi
|
|||||||
# ||----w |
|
# ||----w |
|
||||||
# || ||
|
# || ||
|
||||||
%changelog
|
%changelog
|
||||||
|
* Sat Jun 02 2012 Josh Boyer <jwboyer@redhat.com> - 3.5.0-0.rc0.git12.1
|
||||||
|
- Linux v3.4-10115-g829f51d
|
||||||
|
|
||||||
* Fri Jun 01 2012 Josh Boyer <jwboyer@redhat.com> - 3.5.0-0.rc0.git11.1
|
* Fri Jun 01 2012 Josh Boyer <jwboyer@redhat.com> - 3.5.0-0.rc0.git11.1
|
||||||
- Linux v3.4-9547-gfb21aff
|
- Linux v3.4-9547-gfb21aff
|
||||||
|
|
||||||
|
@ -51,10 +51,10 @@ index 66e6d93..b80cde7 100644
|
|||||||
ret = addr;
|
ret = addr;
|
||||||
goto up_fail;
|
goto up_fail;
|
||||||
diff --git a/include/linux/mm.h b/include/linux/mm.h
|
diff --git a/include/linux/mm.h b/include/linux/mm.h
|
||||||
index 7d5c37f..92cb90d 100644
|
index b36d08c..91e573d 100644
|
||||||
--- a/include/linux/mm.h
|
--- a/include/linux/mm.h
|
||||||
+++ b/include/linux/mm.h
|
+++ b/include/linux/mm.h
|
||||||
@@ -1389,7 +1389,13 @@ extern int install_special_mapping(struct mm_struct *mm,
|
@@ -1387,7 +1387,13 @@ extern int install_special_mapping(struct mm_struct *mm,
|
||||||
unsigned long addr, unsigned long len,
|
unsigned long addr, unsigned long len,
|
||||||
unsigned long flags, struct page **pages);
|
unsigned long flags, struct page **pages);
|
||||||
|
|
||||||
@ -70,7 +70,7 @@ index 7d5c37f..92cb90d 100644
|
|||||||
extern unsigned long mmap_region(struct file *file, unsigned long addr,
|
extern unsigned long mmap_region(struct file *file, unsigned long addr,
|
||||||
unsigned long len, unsigned long flags,
|
unsigned long len, unsigned long flags,
|
||||||
diff --git a/include/linux/mm_types.h b/include/linux/mm_types.h
|
diff --git a/include/linux/mm_types.h b/include/linux/mm_types.h
|
||||||
index 26574c7..54a063d 100644
|
index dad95bd..01a150c 100644
|
||||||
--- a/include/linux/mm_types.h
|
--- a/include/linux/mm_types.h
|
||||||
+++ b/include/linux/mm_types.h
|
+++ b/include/linux/mm_types.h
|
||||||
@@ -294,6 +294,9 @@ struct mm_struct {
|
@@ -294,6 +294,9 @@ struct mm_struct {
|
||||||
@ -84,7 +84,7 @@ index 26574c7..54a063d 100644
|
|||||||
#endif
|
#endif
|
||||||
unsigned long mmap_base; /* base of mmap area */
|
unsigned long mmap_base; /* base of mmap area */
|
||||||
diff --git a/include/linux/sched.h b/include/linux/sched.h
|
diff --git a/include/linux/sched.h b/include/linux/sched.h
|
||||||
index f45c0b2..7234f1d 100644
|
index f34437e..12fe177 100644
|
||||||
--- a/include/linux/sched.h
|
--- a/include/linux/sched.h
|
||||||
+++ b/include/linux/sched.h
|
+++ b/include/linux/sched.h
|
||||||
@@ -391,6 +391,10 @@ extern void arch_pick_mmap_layout(struct mm_struct *mm);
|
@@ -391,6 +391,10 @@ extern void arch_pick_mmap_layout(struct mm_struct *mm);
|
||||||
@ -99,7 +99,7 @@ index f45c0b2..7234f1d 100644
|
|||||||
arch_get_unmapped_area_topdown(struct file *filp, unsigned long addr,
|
arch_get_unmapped_area_topdown(struct file *filp, unsigned long addr,
|
||||||
unsigned long len, unsigned long pgoff,
|
unsigned long len, unsigned long pgoff,
|
||||||
diff --git a/mm/mmap.c b/mm/mmap.c
|
diff --git a/mm/mmap.c b/mm/mmap.c
|
||||||
index e8dcfc7..4bb6ac9 100644
|
index 3edfcdf..076ec09 100644
|
||||||
--- a/mm/mmap.c
|
--- a/mm/mmap.c
|
||||||
+++ b/mm/mmap.c
|
+++ b/mm/mmap.c
|
||||||
@@ -31,6 +31,7 @@
|
@@ -31,6 +31,7 @@
|
||||||
@ -110,7 +110,7 @@ index e8dcfc7..4bb6ac9 100644
|
|||||||
|
|
||||||
#include <asm/uaccess.h>
|
#include <asm/uaccess.h>
|
||||||
#include <asm/cacheflush.h>
|
#include <asm/cacheflush.h>
|
||||||
@@ -1013,7 +1014,8 @@ static unsigned long do_mmap_pgoff(struct file *file, unsigned long addr,
|
@@ -1011,7 +1012,8 @@ unsigned long do_mmap_pgoff(struct file *file, unsigned long addr,
|
||||||
/* Obtain the address to map to. we verify (or select) it and ensure
|
/* Obtain the address to map to. we verify (or select) it and ensure
|
||||||
* that it represents a valid section of the address space.
|
* that it represents a valid section of the address space.
|
||||||
*/
|
*/
|
||||||
@ -120,7 +120,7 @@ index e8dcfc7..4bb6ac9 100644
|
|||||||
if (addr & ~PAGE_MASK)
|
if (addr & ~PAGE_MASK)
|
||||||
return addr;
|
return addr;
|
||||||
|
|
||||||
@@ -1603,8 +1605,8 @@ void arch_unmap_area_topdown(struct mm_struct *mm, unsigned long addr)
|
@@ -1568,8 +1570,8 @@ void arch_unmap_area_topdown(struct mm_struct *mm, unsigned long addr)
|
||||||
}
|
}
|
||||||
|
|
||||||
unsigned long
|
unsigned long
|
||||||
@ -131,7 +131,7 @@ index e8dcfc7..4bb6ac9 100644
|
|||||||
{
|
{
|
||||||
unsigned long (*get_area)(struct file *, unsigned long,
|
unsigned long (*get_area)(struct file *, unsigned long,
|
||||||
unsigned long, unsigned long, unsigned long);
|
unsigned long, unsigned long, unsigned long);
|
||||||
@@ -1617,7 +1619,11 @@ get_unmapped_area(struct file *file, unsigned long addr, unsigned long len,
|
@@ -1582,7 +1584,11 @@ get_unmapped_area(struct file *file, unsigned long addr, unsigned long len,
|
||||||
if (len > TASK_SIZE)
|
if (len > TASK_SIZE)
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
|
|
||||||
@ -144,9 +144,9 @@ index e8dcfc7..4bb6ac9 100644
|
|||||||
if (file && file->f_op && file->f_op->get_unmapped_area)
|
if (file && file->f_op && file->f_op->get_unmapped_area)
|
||||||
get_area = file->f_op->get_unmapped_area;
|
get_area = file->f_op->get_unmapped_area;
|
||||||
addr = get_area(file, addr, len, pgoff, flags);
|
addr = get_area(file, addr, len, pgoff, flags);
|
||||||
@@ -1631,8 +1637,83 @@ get_unmapped_area(struct file *file, unsigned long addr, unsigned long len,
|
@@ -1598,8 +1604,83 @@ get_unmapped_area(struct file *file, unsigned long addr, unsigned long len,
|
||||||
|
error = security_mmap_addr(addr);
|
||||||
return arch_rebalance_pgtables(addr, len);
|
return error ? error : addr;
|
||||||
}
|
}
|
||||||
+EXPORT_SYMBOL(get_unmapped_area_prot);
|
+EXPORT_SYMBOL(get_unmapped_area_prot);
|
||||||
+
|
+
|
||||||
@ -230,10 +230,10 @@ index e8dcfc7..4bb6ac9 100644
|
|||||||
/* Look up the first VMA which satisfies addr < vm_end, NULL if none. */
|
/* Look up the first VMA which satisfies addr < vm_end, NULL if none. */
|
||||||
struct vm_area_struct *find_vma(struct mm_struct *mm, unsigned long addr)
|
struct vm_area_struct *find_vma(struct mm_struct *mm, unsigned long addr)
|
||||||
diff --git a/mm/mremap.c b/mm/mremap.c
|
diff --git a/mm/mremap.c b/mm/mremap.c
|
||||||
index db8d983..3a2d940 100644
|
index 21fed20..a3de1ee 100644
|
||||||
--- a/mm/mremap.c
|
--- a/mm/mremap.c
|
||||||
+++ b/mm/mremap.c
|
+++ b/mm/mremap.c
|
||||||
@@ -521,10 +521,10 @@ unsigned long do_mremap(unsigned long addr,
|
@@ -519,10 +519,10 @@ SYSCALL_DEFINE5(mremap, unsigned long, addr, unsigned long, old_len,
|
||||||
if (vma->vm_flags & VM_MAYSHARE)
|
if (vma->vm_flags & VM_MAYSHARE)
|
||||||
map_flags |= MAP_SHARED;
|
map_flags |= MAP_SHARED;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user