diff options
author | José Pekkarinen <jose.pekkarinen@nokia.com> | 2016-04-11 10:41:07 +0300 |
---|---|---|
committer | José Pekkarinen <jose.pekkarinen@nokia.com> | 2016-04-13 08:17:18 +0300 |
commit | e09b41010ba33a20a87472ee821fa407a5b8da36 (patch) | |
tree | d10dc367189862e7ca5c592f033dc3726e1df4e3 /kernel/drivers/video/fbdev/sis/sis_main.c | |
parent | f93b97fd65072de626c074dbe099a1fff05ce060 (diff) |
These changes are the raw update to linux-4.4.6-rt14. Kernel sources
are taken from kernel.org, and rt patch from the rt wiki download page.
During the rebasing, the following patch collided:
Force tick interrupt and get rid of softirq magic(I70131fb85).
Collisions have been removed because its logic was found on the
source already.
Change-Id: I7f57a4081d9deaa0d9ccfc41a6c8daccdee3b769
Signed-off-by: José Pekkarinen <jose.pekkarinen@nokia.com>
Diffstat (limited to 'kernel/drivers/video/fbdev/sis/sis_main.c')
-rw-r--r-- | kernel/drivers/video/fbdev/sis/sis_main.c | 27 |
1 files changed, 6 insertions, 21 deletions
diff --git a/kernel/drivers/video/fbdev/sis/sis_main.c b/kernel/drivers/video/fbdev/sis/sis_main.c index fcf610edf..e92303823 100644 --- a/kernel/drivers/video/fbdev/sis/sis_main.c +++ b/kernel/drivers/video/fbdev/sis/sis_main.c @@ -53,9 +53,6 @@ #include <linux/types.h> #include <linux/uaccess.h> #include <asm/io.h> -#ifdef CONFIG_MTRR -#include <asm/mtrr.h> -#endif #include "sis.h" #include "sis_main.h" @@ -4130,13 +4127,13 @@ static void sisfb_post_map_vram(struct sis_video_info *ivideo, if (*mapsize < (min << 20)) return; - ivideo->video_vbase = ioremap(ivideo->video_base, (*mapsize)); + ivideo->video_vbase = ioremap_wc(ivideo->video_base, (*mapsize)); if(!ivideo->video_vbase) { printk(KERN_ERR "sisfb: Unable to map maximum video RAM for size detection\n"); (*mapsize) >>= 1; - while((!(ivideo->video_vbase = ioremap(ivideo->video_base, (*mapsize))))) { + while((!(ivideo->video_vbase = ioremap_wc(ivideo->video_base, (*mapsize))))) { (*mapsize) >>= 1; if((*mapsize) < (min << 20)) break; @@ -6186,7 +6183,7 @@ static int sisfb_probe(struct pci_dev *pdev, const struct pci_device_id *ent) goto error_2; } - ivideo->video_vbase = ioremap(ivideo->video_base, ivideo->video_size); + ivideo->video_vbase = ioremap_wc(ivideo->video_base, ivideo->video_size); ivideo->SiS_Pr.VideoMemoryAddress = ivideo->video_vbase; if(!ivideo->video_vbase) { printk(KERN_ERR "sisfb: Fatal error: Unable to map framebuffer memory\n"); @@ -6254,8 +6251,6 @@ error_3: vfree(ivideo->bios_abase); ivideo->SiS_Pr.VideoMemoryAddress += ivideo->video_offset; ivideo->SiS_Pr.VideoMemorySize = ivideo->sisfb_mem; - ivideo->mtrr = -1; - ivideo->vbflags = 0; ivideo->lcddefmodeidx = DEFAULT_LCDMODE; ivideo->tvdefmodeidx = DEFAULT_TVMODE; @@ -6443,14 +6438,8 @@ error_3: vfree(ivideo->bios_abase); printk(KERN_DEBUG "sisfb: Initial vbflags 0x%x\n", (int)ivideo->vbflags); -#ifdef CONFIG_MTRR - ivideo->mtrr = mtrr_add(ivideo->video_base, ivideo->video_size, - MTRR_TYPE_WRCOMB, 1); - if(ivideo->mtrr < 0) { - printk(KERN_DEBUG "sisfb: Failed to add MTRRs\n"); - } -#endif - + ivideo->wc_cookie = arch_phys_wc_add(ivideo->video_base, + ivideo->video_size); if(register_framebuffer(sis_fb_info) < 0) { printk(KERN_ERR "sisfb: Fatal error: Failed to register framebuffer\n"); ret = -EINVAL; @@ -6507,11 +6496,7 @@ static void sisfb_remove(struct pci_dev *pdev) pci_dev_put(ivideo->nbridge); -#ifdef CONFIG_MTRR - /* Release MTRR region */ - if(ivideo->mtrr >= 0) - mtrr_del(ivideo->mtrr, ivideo->video_base, ivideo->video_size); -#endif + arch_phys_wc_del(ivideo->wc_cookie); /* If device was disabled when starting, disable * it when quitting. |