linux-stable/drivers/video
Linus Torvalds 8ceafbfa91 Merge branch 'for-linus-dma-masks' of git://git.linaro.org/people/rmk/linux-arm
Pull DMA mask updates from Russell King:
 "This series cleans up the handling of DMA masks in a lot of drivers,
  fixing some bugs as we go.

  Some of the more serious errors include:
   - drivers which only set their coherent DMA mask if the attempt to
     set the streaming mask fails.
   - drivers which test for a NULL dma mask pointer, and then set the
     dma mask pointer to a location in their module .data section -
     which will cause problems if the module is reloaded.

  To counter these, I have introduced two helper functions:
   - dma_set_mask_and_coherent() takes care of setting both the
     streaming and coherent masks at the same time, with the correct
     error handling as specified by the API.
   - dma_coerce_mask_and_coherent() which resolves the problem of
     drivers forcefully setting DMA masks.  This is more a marker for
     future work to further clean these locations up - the code which
     creates the devices really should be initialising these, but to fix
     that in one go along with this change could potentially be very
     disruptive.

  The last thing this series does is prise away some of Linux's addition
  to "DMA addresses are physical addresses and RAM always starts at
  zero".  We have ARM LPAE systems where all system memory is above 4GB
  physical, hence having DMA masks interpreted by (eg) the block layers
  as describing physical addresses in the range 0..DMAMASK fails on
  these platforms.  Santosh Shilimkar addresses this in this series; the
  patches were copied to the appropriate people multiple times but were
  ignored.

  Fixing this also gets rid of some ARM weirdness in the setup of the
  max*pfn variables, and brings ARM into line with every other Linux
  architecture as far as those go"

* 'for-linus-dma-masks' of git://git.linaro.org/people/rmk/linux-arm: (52 commits)
  ARM: 7805/1: mm: change max*pfn to include the physical offset of memory
  ARM: 7797/1: mmc: Use dma_max_pfn(dev) helper for bounce_limit calculations
  ARM: 7796/1: scsi: Use dma_max_pfn(dev) helper for bounce_limit calculations
  ARM: 7795/1: mm: dma-mapping: Add dma_max_pfn(dev) helper function
  ARM: 7794/1: block: Rename parameter dma_mask to max_addr for blk_queue_bounce_limit()
  ARM: DMA-API: better handing of DMA masks for coherent allocations
  ARM: 7857/1: dma: imx-sdma: setup dma mask
  DMA-API: firmware/google/gsmi.c: avoid direct access to DMA masks
  DMA-API: dcdbas: update DMA mask handing
  DMA-API: dma: edma.c: no need to explicitly initialize DMA masks
  DMA-API: usb: musb: use platform_device_register_full() to avoid directly messing with dma masks
  DMA-API: crypto: remove last references to 'static struct device *dev'
  DMA-API: crypto: fix ixp4xx crypto platform device support
  DMA-API: others: use dma_set_coherent_mask()
  DMA-API: staging: use dma_set_coherent_mask()
  DMA-API: usb: use new dma_coerce_mask_and_coherent()
  DMA-API: usb: use dma_set_coherent_mask()
  DMA-API: parport: parport_pc.c: use dma_coerce_mask_and_coherent()
  DMA-API: net: octeon: use dma_coerce_mask_and_coherent()
  DMA-API: net: nxp/lpc_eth: use dma_coerce_mask_and_coherent()
  ...
2013-11-14 07:55:21 +09:00
..
aty fbdev/atyfb: fix recent breakage in correct_chipset() 2013-07-29 11:24:41 +03:00
backlight drivers/video/backlight/hx8357.c: remove redundant of_match_ptr 2013-11-13 12:09:22 +09:00
console parisc: sticon - unbreak on 64bit kernel 2013-11-07 22:46:20 +01:00
exynos video: exynos_dp: Use the generic PHY driver 2013-10-16 13:48:09 -07:00
geode build some drivers only when compile-testing 2013-06-24 16:41:32 -07:00
i810 Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
intelfb Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
kyro Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
logo Bye, bye, WfW flag 2013-09-11 19:55:12 -07:00
matrox matroxfb: replace kmalloc and memset with kzalloc. 2013-07-26 11:35:17 +03:00
mb862xx Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
mbx Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
mmp video: mmp: drop needless devm cleanup 2013-09-26 11:41:24 +03:00
msm ARM: msm: Move mach/board.h contents to common.h 2013-08-06 11:18:02 -07:00
nvidia Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
omap ARM: OMAP: remove "config FB_OMAP_CONSISTENT_DMA_SIZE" 2013-04-10 15:03:31 +03:00
omap2 OMAPDSS: Add missing dependency on backlight for DSI-CM panel drier 2013-09-26 11:38:10 +03:00
riva Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
savage Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
sis bitops: Introduce a more generic BITMASK macro 2013-10-21 15:12:01 -07:00
vermilion fbdev/vermillion: use vm_iomap_memory() 2013-04-24 08:41:42 +03:00
via viafb: rename display_timing to via_display_timing 2013-01-24 08:59:44 +01:00
68328fb.c
acornfb.c drivers/video/acornfb.c: use __free_reserved_page() to simplify the code 2013-11-13 12:09:03 +09:00
acornfb.h drivers/video/acornfb.c: remove dead code 2013-09-11 15:56:22 -07:00
amba-clcd.c DMA-API: video: clcd: add dma_set_mask_and_coherent() call 2013-10-31 14:48:42 +00:00
amifb.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2013-04-30 09:36:50 -07:00
arcfb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
arkfb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
asiliantfb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
atafb.c
atafb.h
atafb_iplan2p2.c
atafb_iplan2p4.c
atafb_iplan2p8.c
atafb_mfb.c
atafb_utils.h
atmel_lcdfb.c at91/avr32/atmel_lcdfb: prepare clk before calling enable 2013-08-30 10:17:35 +03:00
au1100fb.c Fix a few incorrectly checked [io_]remap_pfn_range() calls 2013-10-29 10:21:34 -07:00
au1100fb.h
au1200fb.c Fix a few incorrectly checked [io_]remap_pfn_range() calls 2013-10-29 10:21:34 -07:00
au1200fb.h
auo_k190x.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2013-04-30 09:36:50 -07:00
auo_k190x.h
auo_k1900fb.c AUO-K190x: add runtime-pm calls to controller init functions 2013-04-04 13:08:06 +03:00
auo_k1901fb.c AUO-K190x: add runtime-pm calls to controller init functions 2013-04-04 13:08:06 +03:00
bf54x-lq043fb.c video: remove unnecessary platform_set_drvdata() 2013-06-26 14:44:40 +03:00
bf537-lq035.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
bfin-lq035q1-fb.c fbdev: bfin-lq035q1-fb: Use dev_pm_ops 2013-06-26 16:16:26 +03:00
bfin-t350mcqb-fb.c video: remove unnecessary platform_set_drvdata() 2013-06-26 14:44:40 +03:00
bfin_adv7393fb.c procfs: new helper - PDE_DATA(inode) 2013-04-09 14:13:32 -04:00
bfin_adv7393fb.h
broadsheetfb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
bt431.h
bt455.h
bw2.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
c2p.h
c2p_core.h
c2p_iplan2.c
c2p_planar.c
carminefb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
carminefb.h
carminefb_regs.h
cfbcopyarea.c
cfbfillrect.c
cfbimgblt.c
cg3.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
cg6.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
cg14.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
chipsfb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
cirrusfb.c powerpc: remove PReP platform 2013-04-18 13:03:53 +10:00
clps711xfb.c ARM defconfigs: add missing inclusions of linux/platform_device.h 2013-02-14 15:14:32 -08:00
cobalt_lcdfb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
controlfb.c fbdev/controlfb: use vm_iomap_memory() 2013-04-24 08:41:41 +03:00
controlfb.h
cyber2000fb.c video: drop code for ARCH_SHARK in cyber2000fb 2013-09-25 15:25:24 +02:00
cyber2000fb.h
da8xx-fb.c video: da8xx-fb: fix the polarities of the hsync/vsync pulse 2013-08-30 14:51:30 +03:00
display_timing.c video: add display_timing and videomode 2013-01-24 09:03:04 +01:00
dnfb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
edid.h
efifb.c fbdev changes for 3.12: 2013-09-05 09:49:32 -07:00
ep93xx-fb.c video: remove unnecessary platform_set_drvdata() 2013-06-26 14:44:40 +03:00
fb-puv3.c fbdev/fb-puv3: use vm_iomap_memory() 2013-04-24 08:41:41 +03:00
fb_ddc.c
fb_defio.c new helper: file_inode(file) 2013-02-22 23:31:31 -05:00
fb_draw.h
fb_notify.c
fb_sys_fops.c
fbcmap.c drivers: video: fbcmap: remove the redundency and incorrect checkings 2013-08-30 11:41:24 +03:00
fbcvt.c
fbmem.c fbmem: move EXPORT_SYMBOL annotation next to symbol declarations 2013-08-30 11:44:24 +03:00
fbmon.c Merge branch '3.10/fb-mmap' into for-next 2013-04-26 09:14:47 +03:00
fbsysfs.c fb: rework locking to fix lock ordering on takeover 2013-02-08 12:02:40 +10:00
ffb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
fm2fb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
fsl-diu-fb.c drivers: clean-up prom.h implicit includes 2013-10-09 20:04:04 -05:00
g364fb.c
gbefb.c fbdev: improve fb_mmap bounds checks 2013-04-26 08:28:56 +03:00
goldfishfb.c treewide: Fix typos in printk 2013-03-20 16:26:32 +01:00
grvga.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
gxt4500.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
hdmi.c video/hdmi: Rename HDMI_IDENTIFIER to HDMI_IEEE_OUI 2013-08-30 08:42:01 +10:00
hecubafb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
hgafb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
hitfb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
hpfb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
hyperv_fb.c Drivers: hv: remove HV_DRV_VERSION 2013-08-02 11:34:30 +08:00
i740_reg.h
i740fb.c video: i740fb: Make i740fb_init static 2013-06-27 11:57:30 +03:00
igafb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
imsttfb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
imxfb.c video: imxfb: Add DT support 2013-07-08 16:36:49 +08:00
jz4740_fb.c video: remove unnecessary platform_set_drvdata() 2013-06-26 14:44:40 +03:00
Kconfig fbdev changes for 3.12: 2013-09-05 09:49:32 -07:00
leo.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
macfb.c
macmodes.c
macmodes.h
Makefile lib: Move fonts from drivers/video/console/ to lib/fonts/ 2013-06-28 10:28:22 +02:00
maxinefb.c
metronomefb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
modedb.c
mx3fb.c drivers/video/mx3fb.c: use NULL for pointer 2013-02-21 17:22:19 -08:00
mxsfb.c video: mxsfb: Add missing break 2013-09-26 15:33:23 +03:00
n411.c
neofb.c neofb: fix error return code in neofb_probe() 2013-09-26 11:45:16 +03:00
nuc900fb.c video: nuc900fb: fix to pass correct device identity to request_irq() 2013-07-26 10:55:39 +03:00
nuc900fb.h
of_display_timing.c video: of: display_timing: correct display-timings node finding 2013-09-26 12:31:42 +03:00
of_videomode.c videomode: videomode_from_timing work 2013-03-21 14:34:33 +02:00
offb.c
output.c video: output: convert class code to use dev_groups 2013-07-26 10:37:02 +03:00
p9100.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
platinumfb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
platinumfb.h
pm2fb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
pm3fb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
pmag-aa-fb.c
pmag-ba-fb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
pmagb-b-fb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
ps3fb.c fbdev/ps3fb: Fix section mismatch warning for ps3fb_probe 2013-09-11 11:39:39 +10:00
pvr2fb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
pxa3xx-gcu.c Various fbdev changes for 3.11 2013-07-09 15:51:32 -07:00
pxa3xx-gcu.h
pxa168fb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
pxa168fb.h
pxafb.c video: remove unnecessary platform_set_drvdata() 2013-06-26 14:44:40 +03:00
pxafb.h
q40fb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
s1d13xxxfb.c treewide: Fix typo in printks 2013-04-12 15:21:36 +02:00
s3c-fb.c video/s3c: move platform_data out of arch/arm 2013-04-11 14:49:20 +03:00
s3c2410fb.c video: remove unnecessary platform_set_drvdata() 2013-06-26 14:44:40 +03:00
s3c2410fb.h
s3fb.c s3fb: fix error return code in s3_pci_probe() 2013-09-26 11:45:15 +03:00
sa1100fb.c video: remove unnecessary platform_set_drvdata() 2013-06-26 14:44:40 +03:00
sa1100fb.h
sbuslib.c
sbuslib.h
sgivwfb.c fbdev/sgivwfb: fix compilation error in sgivwfb_mmap() 2013-07-26 11:27:53 +03:00
sh7760fb.c video: sh7760fb: fix to pass correct device identity to free_irq() 2013-07-29 11:25:03 +03:00
sh_mipi_dsi.c video: remove unnecessary platform_set_drvdata() 2013-06-26 14:44:40 +03:00
sh_mobile_hdmi.c drivers: video: use module_platform_driver_probe() 2013-04-10 15:03:31 +03:00
sh_mobile_lcdcfb.c fbdev: sh_mobile_lcdc: fixup B side hsync adjust settings 2013-03-27 22:47:24 +09:00
sh_mobile_lcdcfb.h
sh_mobile_meram.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
simplefb.c fbdev: simplefb: mark as fw and allocate apertures 2013-08-02 16:17:45 -07:00
skeletonfb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
sm501fb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
smscufx.c video: smscufx: Use NULL instead of 0 2013-06-26 14:50:53 +03:00
ssd1307fb.c video: ssd1307fb: Make use of horizontal addressing mode 2013-05-28 14:41:58 +03:00
sstfb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
sticore.h parisc: sticon - unbreak on 64bit kernel 2013-11-07 22:46:20 +01:00
stifb.c parisc: sticon - unbreak on 64bit kernel 2013-11-07 22:46:20 +01:00
sunxvr500.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
sunxvr1000.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
sunxvr2500.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
svgalib.c
syscopyarea.c
sysfillrect.c
sysimgblt.c
tcx.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
tdfxfb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
tgafb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
tmiofb.c video: remove unnecessary platform_set_drvdata() 2013-06-26 14:44:40 +03:00
tridentfb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
udlfb.c video: udlfb: Make local symbol static 2013-06-26 14:51:18 +03:00
uvesafb.c uvesafb: Really allow mtrr being 0, as documented and warn()ed 2013-07-16 10:24:28 +10:00
valkyriefb.c
valkyriefb.h
vesafb.c fbdev: vesafb: bind to platform-framebuffer device 2013-08-02 16:17:49 -07:00
vfb.c fbdev: improve fb_mmap bounds checks 2013-04-26 08:28:56 +03:00
vga16fb.c vga16fb: Remove unused variable 2013-07-26 10:28:50 +03:00
vgastate.c
videomode.c videomode: videomode_from_timing work 2013-03-21 14:34:33 +02:00
vt8500lcdfb.c video: remove unnecessary platform_set_drvdata() 2013-06-26 14:44:40 +03:00
vt8500lcdfb.h
vt8623fb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
w100fb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
w100fb.h
wm8505fb.c video: replace strict_strtoul() with kstrtoul() 2013-06-26 15:19:48 +03:00
wm8505fb_regs.h
wmt_ge_rops.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
wmt_ge_rops.h video: vt8500: Make wmt_ge_rops optional 2013-04-04 13:07:33 +03:00
xen-fbfront.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
xilinxfb.c fbdev changes for 3.12: 2013-09-05 09:49:32 -07:00