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