From e09b41010ba33a20a87472ee821fa407a5b8da36 Mon Sep 17 00:00:00 2001 From: José Pekkarinen Date: Mon, 11 Apr 2016 10:41:07 +0300 Subject: 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. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 --- kernel/drivers/video/fbdev/Kconfig | 33 +- kernel/drivers/video/fbdev/Makefile | 2 +- kernel/drivers/video/fbdev/amifb.c | 8 +- kernel/drivers/video/fbdev/arkfb.c | 36 +- kernel/drivers/video/fbdev/atafb.c | 3 +- kernel/drivers/video/fbdev/atmel_lcdfb.c | 6 +- kernel/drivers/video/fbdev/aty/aty128fb.c | 36 +- kernel/drivers/video/fbdev/aty/atyfb.h | 5 +- kernel/drivers/video/fbdev/aty/atyfb_base.c | 109 +- kernel/drivers/video/fbdev/aty/radeon_base.c | 162 +- kernel/drivers/video/fbdev/aty/radeonfb.h | 146 +- kernel/drivers/video/fbdev/broadsheetfb.c | 8 +- kernel/drivers/video/fbdev/core/Makefile | 2 +- kernel/drivers/video/fbdev/core/fb_ddc.c | 28 +- kernel/drivers/video/fbdev/core/fb_defio.c | 2 - kernel/drivers/video/fbdev/core/fbmon.c | 8 +- kernel/drivers/video/fbdev/core/fbsysfs.c | 2 +- kernel/drivers/video/fbdev/core/modedb.c | 2 +- kernel/drivers/video/fbdev/efifb.c | 24 +- kernel/drivers/video/fbdev/ep93xx-fb.c | 30 +- kernel/drivers/video/fbdev/fsl-diu-fb.c | 22 +- kernel/drivers/video/fbdev/gbefb.c | 25 +- kernel/drivers/video/fbdev/geode/gxfb_core.c | 3 +- kernel/drivers/video/fbdev/gxt4500.c | 27 +- kernel/drivers/video/fbdev/hpfb.c | 4 +- kernel/drivers/video/fbdev/hyperv_fb.c | 46 +- kernel/drivers/video/fbdev/i740fb.c | 35 +- kernel/drivers/video/fbdev/i810/i810.h | 3 +- kernel/drivers/video/fbdev/i810/i810_main.c | 11 +- kernel/drivers/video/fbdev/i810/i810_main.h | 26 - kernel/drivers/video/fbdev/imxfb.c | 2 +- kernel/drivers/video/fbdev/intelfb/intelfb.h | 4 +- kernel/drivers/video/fbdev/intelfb/intelfbdrv.c | 38 +- kernel/drivers/video/fbdev/kyro/fbdev.c | 33 +- kernel/drivers/video/fbdev/matrox/matroxfb_base.c | 42 +- kernel/drivers/video/fbdev/matrox/matroxfb_base.h | 27 +- kernel/drivers/video/fbdev/mb862xx/mb862xxfbdrv.c | 1 + .../video/fbdev/mmp/panel/tpo_tj032md01bw.c | 1 - kernel/drivers/video/fbdev/msm/Makefile | 19 - kernel/drivers/video/fbdev/msm/mddi.c | 821 ---------- kernel/drivers/video/fbdev/msm/mddi_client_dummy.c | 85 - .../drivers/video/fbdev/msm/mddi_client_nt35399.c | 252 --- .../drivers/video/fbdev/msm/mddi_client_toshiba.c | 280 ---- kernel/drivers/video/fbdev/msm/mddi_hw.h | 305 ---- kernel/drivers/video/fbdev/msm/mdp.c | 520 ------ kernel/drivers/video/fbdev/msm/mdp_csc_table.h | 582 ------- kernel/drivers/video/fbdev/msm/mdp_hw.h | 627 -------- kernel/drivers/video/fbdev/msm/mdp_ppp.c | 731 --------- kernel/drivers/video/fbdev/msm/mdp_scale_tables.c | 766 --------- kernel/drivers/video/fbdev/msm/mdp_scale_tables.h | 38 - kernel/drivers/video/fbdev/msm/msm_fb.c | 659 -------- kernel/drivers/video/fbdev/mxsfb.c | 2 +- kernel/drivers/video/fbdev/neofb.c | 26 +- kernel/drivers/video/fbdev/nvidia/nv_type.h | 7 +- kernel/drivers/video/fbdev/nvidia/nvidia.c | 37 +- kernel/drivers/video/fbdev/ocfb.c | 1 - kernel/drivers/video/fbdev/omap/Kconfig | 2 +- kernel/drivers/video/fbdev/omap/lcd_mipid.c | 1 - kernel/drivers/video/fbdev/omap/omapfb_main.c | 5 - .../video/fbdev/omap2/displays-new/connector-dvi.c | 2 +- .../fbdev/omap2/displays-new/encoder-opa362.c | 13 +- .../video/fbdev/omap2/displays-new/panel-dpi.c | 13 +- .../omap2/displays-new/panel-lgphilips-lb035q02.c | 8 +- .../omap2/displays-new/panel-nec-nl8048hl11.c | 1 - .../omap2/displays-new/panel-sharp-ls037v7dw01.c | 9 +- .../omap2/displays-new/panel-sony-acx565akm.c | 2 +- .../omap2/displays-new/panel-tpo-td028ttec1.c | 1 - .../omap2/displays-new/panel-tpo-td043mtea1.c | 1 - kernel/drivers/video/fbdev/omap2/dss/core.c | 80 +- kernel/drivers/video/fbdev/omap2/dss/dispc.c | 156 +- .../drivers/video/fbdev/omap2/dss/display-sysfs.c | 2 +- kernel/drivers/video/fbdev/omap2/dss/dpi.c | 36 +- kernel/drivers/video/fbdev/omap2/dss/dsi.c | 27 +- kernel/drivers/video/fbdev/omap2/dss/dss-of.c | 4 +- kernel/drivers/video/fbdev/omap2/dss/dss.c | 232 ++- kernel/drivers/video/fbdev/omap2/dss/dss.h | 32 +- kernel/drivers/video/fbdev/omap2/dss/hdmi.h | 9 +- kernel/drivers/video/fbdev/omap2/dss/hdmi4.c | 96 +- kernel/drivers/video/fbdev/omap2/dss/hdmi4_core.c | 12 +- kernel/drivers/video/fbdev/omap2/dss/hdmi5.c | 103 +- kernel/drivers/video/fbdev/omap2/dss/hdmi5_core.c | 5 +- kernel/drivers/video/fbdev/omap2/dss/hdmi_wp.c | 16 + kernel/drivers/video/fbdev/omap2/dss/rfbi.c | 32 +- kernel/drivers/video/fbdev/omap2/dss/sdi.c | 35 +- kernel/drivers/video/fbdev/omap2/dss/venc.c | 43 +- .../drivers/video/fbdev/omap2/omapfb/omapfb-main.c | 2 +- kernel/drivers/video/fbdev/pm2fb.c | 31 +- kernel/drivers/video/fbdev/pm3fb.c | 30 +- kernel/drivers/video/fbdev/pxa168fb.c | 14 +- kernel/drivers/video/fbdev/pxa3xx-gcu.c | 4 +- kernel/drivers/video/fbdev/pxafb.c | 1 - kernel/drivers/video/fbdev/riva/fbdev.c | 39 +- kernel/drivers/video/fbdev/riva/rivafb.h | 4 +- kernel/drivers/video/fbdev/s1d13xxxfb.c | 3 +- kernel/drivers/video/fbdev/s3c-fb.c | 2 +- kernel/drivers/video/fbdev/s3fb.c | 35 +- kernel/drivers/video/fbdev/sa1100fb.c | 1 - kernel/drivers/video/fbdev/savage/savagefb.h | 4 +- .../drivers/video/fbdev/savage/savagefb_driver.c | 17 +- kernel/drivers/video/fbdev/simplefb.c | 1 + kernel/drivers/video/fbdev/sis/sis.h | 2 +- kernel/drivers/video/fbdev/sis/sis_main.c | 27 +- kernel/drivers/video/fbdev/sm712.h | 116 ++ kernel/drivers/video/fbdev/sm712fb.c | 1653 ++++++++++++++++++++ kernel/drivers/video/fbdev/ssd1307fb.c | 312 ++-- kernel/drivers/video/fbdev/stifb.c | 41 +- kernel/drivers/video/fbdev/tdfxfb.c | 41 +- kernel/drivers/video/fbdev/tridentfb.c | 194 ++- kernel/drivers/video/fbdev/udlfb.c | 10 +- kernel/drivers/video/fbdev/uvesafb.c | 2 +- kernel/drivers/video/fbdev/vermilion/vermilion.c | 2 +- kernel/drivers/video/fbdev/vesafb.c | 80 +- kernel/drivers/video/fbdev/vfb.c | 17 +- kernel/drivers/video/fbdev/vt8623fb.c | 35 +- kernel/drivers/video/fbdev/xen-fbfront.c | 20 +- 115 files changed, 3463 insertions(+), 7015 deletions(-) delete mode 100644 kernel/drivers/video/fbdev/msm/Makefile delete mode 100644 kernel/drivers/video/fbdev/msm/mddi.c delete mode 100644 kernel/drivers/video/fbdev/msm/mddi_client_dummy.c delete mode 100644 kernel/drivers/video/fbdev/msm/mddi_client_nt35399.c delete mode 100644 kernel/drivers/video/fbdev/msm/mddi_client_toshiba.c delete mode 100644 kernel/drivers/video/fbdev/msm/mddi_hw.h delete mode 100644 kernel/drivers/video/fbdev/msm/mdp.c delete mode 100644 kernel/drivers/video/fbdev/msm/mdp_csc_table.h delete mode 100644 kernel/drivers/video/fbdev/msm/mdp_hw.h delete mode 100644 kernel/drivers/video/fbdev/msm/mdp_ppp.c delete mode 100644 kernel/drivers/video/fbdev/msm/mdp_scale_tables.c delete mode 100644 kernel/drivers/video/fbdev/msm/mdp_scale_tables.h delete mode 100644 kernel/drivers/video/fbdev/msm/msm_fb.c create mode 100644 kernel/drivers/video/fbdev/sm712.h create mode 100644 kernel/drivers/video/fbdev/sm712fb.c (limited to 'kernel/drivers/video/fbdev') diff --git a/kernel/drivers/video/fbdev/Kconfig b/kernel/drivers/video/fbdev/Kconfig index 109462303..e6d16d65e 100644 --- a/kernel/drivers/video/fbdev/Kconfig +++ b/kernel/drivers/video/fbdev/Kconfig @@ -298,7 +298,7 @@ config FB_ARMCLCD # Helper logic selected only by the ARM Versatile platform family. config PLAT_VERSATILE_CLCD - def_bool ARCH_VERSATILE || ARCH_REALVIEW || ARCH_VEXPRESS + def_bool ARCH_VERSATILE || ARCH_REALVIEW || ARCH_VEXPRESS || ARCH_INTEGRATOR depends on ARM depends on FB_ARMCLCD && FB=y @@ -1666,6 +1666,8 @@ config FB_TRIDENT select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT + select FB_DDC + select FB_MODE_HELPERS ---help--- This is the frame buffer device driver for Trident PCI/AGP chipsets. Supported chipset families are TGUI 9440/96XX, 3DImage, Blade3D @@ -2132,7 +2134,7 @@ config FB_UDL config FB_IBM_GXT4500 tristate "Framebuffer support for IBM GXT4000P/4500P/6000P/6500P adaptors" - depends on FB && PPC + depends on FB select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT @@ -2140,7 +2142,8 @@ config FB_IBM_GXT4500 Say Y here to enable support for the IBM GXT4000P/6000P and GXT4500P/6500P display adaptor based on Raster Engine RC1000, found on some IBM System P (pSeries) machines. This driver - doesn't use Geometry Engine GT1000. + doesn't use Geometry Engine GT1000. This driver also supports + AGP Fire GL2/3/4 cards on x86. config FB_PS3 tristate "PS3 GPU framebuffer driver" @@ -2326,13 +2329,6 @@ config FB_PRE_INIT_FB Select this option if display contents should be inherited as set by the bootloader. -config FB_MSM - tristate "MSM Framebuffer support" - depends on FB && ARCH_MSM - select FB_CFB_FILLRECT - select FB_CFB_COPYAREA - select FB_CFB_IMAGEBLIT - config FB_MX3 tristate "MX3 Framebuffer support" depends on FB && MX3_IPU @@ -2471,13 +2467,28 @@ config FB_SSD1307 tristate "Solomon SSD1307 framebuffer support" depends on FB && I2C depends on OF - depends on GPIOLIB + depends on GPIOLIB || COMPILE_TEST select FB_SYS_FOPS select FB_SYS_FILLRECT select FB_SYS_COPYAREA select FB_SYS_IMAGEBLIT select FB_DEFERRED_IO select PWM + select FB_BACKLIGHT help This driver implements support for the Solomon SSD1307 OLED controller over I2C. + +config FB_SM712 + tristate "Silicon Motion SM712 framebuffer support" + depends on FB && PCI + select FB_CFB_FILLRECT + select FB_CFB_COPYAREA + select FB_CFB_IMAGEBLIT + help + Frame buffer driver for the Silicon Motion SM710, SM712, SM721 + and SM722 chips. + + This driver is also available as a module. The module will be + called sm712fb. If you want to compile it as a module, say M + here and read . diff --git a/kernel/drivers/video/fbdev/Makefile b/kernel/drivers/video/fbdev/Makefile index 1979afffc..50ed1b4fc 100644 --- a/kernel/drivers/video/fbdev/Makefile +++ b/kernel/drivers/video/fbdev/Makefile @@ -126,12 +126,12 @@ obj-y += omap2/ obj-$(CONFIG_XEN_FBDEV_FRONTEND) += xen-fbfront.o obj-$(CONFIG_FB_CARMINE) += carminefb.o obj-$(CONFIG_FB_MB862XX) += mb862xx/ -obj-$(CONFIG_FB_MSM) += msm/ obj-$(CONFIG_FB_NUC900) += nuc900fb.o obj-$(CONFIG_FB_JZ4740) += jz4740_fb.o obj-$(CONFIG_FB_PUV3_UNIGFX) += fb-puv3.o obj-$(CONFIG_FB_HYPERV) += hyperv_fb.o obj-$(CONFIG_FB_OPENCORES) += ocfb.o +obj-$(CONFIG_FB_SM712) += sm712fb.o # Platform or fallback drivers go here obj-$(CONFIG_FB_UVESA) += uvesafb.o diff --git a/kernel/drivers/video/fbdev/amifb.c b/kernel/drivers/video/fbdev/amifb.c index 35f7900a0..1d702e13a 100644 --- a/kernel/drivers/video/fbdev/amifb.c +++ b/kernel/drivers/video/fbdev/amifb.c @@ -2052,7 +2052,7 @@ static void ami_set_sprite(const struct amifb_par *par) { copins *copl, *cops; u_short hs, vs, ve; - u_long pl, ps, pt; + u_long pl, ps; short mx, my; cops = copdisplay.list[currentcop][0]; @@ -2078,7 +2078,7 @@ static void ami_set_sprite(const struct amifb_par *par) if (mod2(vs)) { lofsprite[1 << par->crsr.fmode] = spr2hw_ctl(vs, hs, ve); shfsprite[1 << par->crsr.fmode] = spr2hw_ctl(vs + 1, hs, ve + 1); - pt = pl; pl = ps; ps = pt; + swap(pl, ps); } else { lofsprite[1 << par->crsr.fmode] = spr2hw_ctl(vs, hs, ve + 1); shfsprite[1 << par->crsr.fmode] = spr2hw_ctl(vs + 1, hs, ve); @@ -3705,8 +3705,8 @@ default_chipset: * access the videomem with writethrough cache */ info->fix.smem_start = (u_long)ZTWO_PADDR(videomemory); - videomemory = (u_long)ioremap_writethrough(info->fix.smem_start, - info->fix.smem_len); + videomemory = (u_long)ioremap_wt(info->fix.smem_start, + info->fix.smem_len); if (!videomemory) { dev_warn(&pdev->dev, "Unable to map videomem cached writethrough\n"); diff --git a/kernel/drivers/video/fbdev/arkfb.c b/kernel/drivers/video/fbdev/arkfb.c index b305a1e7c..6a317de70 100644 --- a/kernel/drivers/video/fbdev/arkfb.c +++ b/kernel/drivers/video/fbdev/arkfb.c @@ -26,13 +26,9 @@ #include /* Why should fb driver call console functions? because console_lock() */ #include