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
..
aacraid
aacraid: missing capable() check in compat ioctl
2013-10-30 12:24:49 -07:00
aic7xxx
[SCSI] aic7xxx: fix swapped arguments in ahc_find_pci_device
2013-09-10 14:48:16 -07:00
aic7xxx_old
scsi: Spelling hsot -> host
2013-05-28 12:02:12 +02:00
aic94xx
[SCSI] libsas: implement > 16 byte CDB support
2013-06-04 11:15:59 -07:00
arcmsr
workqueue: deprecate flush[_delayed]_work_sync()
2012-08-20 14:51:24 -07:00
arm
acornscsi: switch to ->show_info()
2013-04-09 14:13:27 -04:00
be2iscsi
drivers: avoid format strings in names passed to alloc_workqueue()
2013-07-03 16:07:41 -07:00
bfa
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial
2013-09-06 09:36:28 -07:00
bnx2fc
bnx2x, cnic, bnx2i, bnx2fc: Fix bnx2i and bnx2fc regressions.
2013-09-18 12:24:32 -04:00
bnx2i
bnx2x, cnic, bnx2i, bnx2fc: Fix bnx2i and bnx2fc regressions.
2013-09-18 12:24:32 -04:00
csiostor
[SCSI] csiostor: Retain default adapter configuration in absence of config file.
2013-06-04 11:16:28 -07:00
cxgbi
treewide: Add __GFP_NOWARN to k.alloc calls with v.alloc fallbacks
2013-08-20 13:06:40 +02:00
device_handler
[SCSI] scsi_dh_alua: Add module parameter to allow failover to non preferred path without STPG
2013-04-11 16:00:31 -07:00
dpt
esas2r
[SCSI] esas2r: Remove null test for stack allocated fw_coredump_buffer
2013-09-06 11:22:35 -07:00
fcoe
scsi: fcoe: fix build error
2013-09-26 16:15:02 -07:00
fnic
[SCSI] fnic: fnic Driver Tuneables Exposed through CLI
2013-09-11 15:59:25 -07:00
ibmvscsi
[SCSI] ibmvfc: Fix for offlining devices during error recovery
2013-09-06 11:41:34 -07:00
isci
[SCSI] isci: Fix a infinite loop.
2013-08-26 12:51:30 +04:00
libfc
A short series of fixes to libfc, libfcoe and fcoe.
2013-07-13 08:22:56 +04:00
libsas
[SCSI] libsas: implement > 16 byte CDB support
2013-06-04 11:15:59 -07:00
lpfc
SCSI misc on 20130915
2013-09-15 17:41:30 -04:00
megaraid
SCSI misc on 20130915
2013-09-15 17:41:30 -04:00
mpt2sas
[SCSI] mpt2sas: Remove phys on topology change.
2013-09-03 07:27:58 -07:00
mpt3sas
[SCSI] Allow MPT Fusion SAS 3.0 driver to be built into the kernel
2013-09-06 11:42:53 -07:00
mvsas
[SCSI] mvsas: Fix kernel panic on tile due to unaligned data access
2013-07-23 15:23:08 -07:00
osd
SCSI: OSD: convert class code to use dev_groups
2013-07-25 16:34:39 -07:00
pcmcia
nsp_cs: switch to ->show_info()
2013-04-09 14:13:21 -04:00
pm8001
SCSI misc on 20130903
2013-09-03 15:48:06 -07:00
qla2xxx
[SCSI] qla2xxx: Fix request queue null dereference.
2013-10-23 14:09:18 +01:00
qla4xxx
[SCSI] qla4xxx: Update driver version to 5.04.00-k1
2013-09-03 07:27:57 -07:00
sym53c8xx_2
sym53c8xx_2: switch to ->show_info()
2013-04-09 14:13:15 -04:00
ufs
[SCSI] ufs: configure the attribute for power mode
2013-09-06 16:08:37 -07:00
.gitignore
3w-9xxx.c
new helper: file_inode(file)
2013-02-22 23:31:31 -05:00
3w-9xxx.h
3w-sas.c
new helper: file_inode(file)
2013-02-22 23:31:31 -05:00
3w-sas.h
3w-xxxx.c
[SCSI] 3w-xxxx: Create sense buffer for unsupported commands
2013-06-24 16:32:22 -07:00
3w-xxxx.h
53c700.c
Remove all #inclusions of asm/system.h
2012-03-28 18:30:03 +01:00
53c700.h
53c700.scr
53c700_d.h_shipped
a100u2w.c
Drivers: scsi: remove __dev* attributes.
2013-01-03 15:57:01 -08:00
a100u2w.h
a2091.c
switch wd33c93 to ->show_info()
2013-04-09 14:13:15 -04:00
a2091.h
a3000.c
[SCSI] a3000: use module_platform_driver_probe()
2013-06-24 19:44:18 +02:00
a3000.h
a4000t.c
[SCSI] a4000t: use module_platform_driver_probe()
2013-06-24 19:44:18 +02:00
advansys.c
advansys: fix buggered formats - unsigned long != u32 on 64bit
2013-04-09 14:13:22 -04:00
aha152x.c
aha152x: switch to ->show_info()
2013-04-09 14:13:22 -04:00
aha152x.h
aha1542.c
treewide: Put a space between #include and FILE
2012-06-28 11:44:36 +02:00
aha1542.h
aha1740.c
aha1740: switch to ->show_info()
2013-04-09 14:13:23 -04:00
aha1740.h
aic7xxx_old.c
aix7xxx_old: switch to ->show_info()
2013-04-09 14:13:28 -04:00
atari_NCR5380.c
atari_scsi: switch to ->show_info()
2013-04-09 14:13:29 -04:00
atari_scsi.c
atari_scsi: switch to ->show_info()
2013-04-09 14:13:29 -04:00
atari_scsi.h
atari_scsi: switch to ->show_info()
2013-04-09 14:13:29 -04:00
atp870u.c
atp870u: switch to ->show_info()
2013-04-09 14:13:24 -04:00
atp870u.h
BusLogic.c
[SCSI] BusLogic: Fix an oops when intializing multimaster adapter
2013-10-16 13:57:14 +01:00
BusLogic.h
[SCSI] BusLogic: Port driver to 64-bit.
2013-06-26 18:32:47 -07:00
bvme6000_scsi.c
Drivers: scsi: remove __dev* attributes.
2013-01-03 15:57:01 -08:00
ch.c
scsi: convert to idr_alloc()
2013-02-27 19:10:18 -08:00
constants.c
[SCSI] scsi constants: command, sense key + additional sense strings
2013-07-09 22:52:29 +01:00
dc395x.c
dc395x: switch to ->show_info()
2013-04-09 14:13:24 -04:00
dc395x.h
dmx3191d.c
Drivers: scsi: remove __dev* attributes.
2013-01-03 15:57:01 -08:00
dpt_i2o.c
dpt_i2o: switch to ->show_info()
2013-04-09 14:13:24 -04:00
dpti.h
dtc.c
NCR5830: switch to ->show_info()
2013-04-09 14:13:17 -04:00
dtc.h
NCR5830: switch to ->show_info()
2013-04-09 14:13:17 -04:00
eata.c
eata_generic.h
eata_pio.c
[SCSI] eata_pio: off by one in eata_pio_detect()
2013-09-03 07:27:58 -07:00
eata_pio.h
esp_scsi.c
esp_scsi: Fix tag state corruption when autosensing.
2013-08-01 18:08:34 -07:00
esp_scsi.h
esp_scsi: Fix tag state corruption when autosensing.
2013-08-01 18:08:34 -07:00
fdomain.c
Drivers: scsi: remove __dev* attributes.
2013-01-03 15:57:01 -08:00
fdomain.h
FlashPoint.c
[SCSI] BusLogic: Port driver to 64-bit.
2013-06-26 18:32:47 -07:00
g_NCR5380.c
NCR5830: switch to ->show_info()
2013-04-09 14:13:17 -04:00
g_NCR5380.h
g_NCR5380_mmio.c
gdth.c
gdth: switch to ->show_info()
2013-04-09 14:13:16 -04:00
gdth.h
gdth: switch to ->show_info()
2013-04-09 14:13:16 -04:00
gdth_ioctl.h
gdth_proc.c
gdth: switch to ->show_info()
2013-04-09 14:13:16 -04:00
gdth_proc.h
gdth: switch to ->show_info()
2013-04-09 14:13:16 -04:00
gvp11.c
switch wd33c93 to ->show_info()
2013-04-09 14:13:15 -04:00
gvp11.h
hosts.c
driver-core: constify data for class_find_device()
2013-02-06 12:18:56 -08:00
hpsa.c
SCSI misc on 20130915
2013-09-15 17:41:30 -04:00
hpsa.h
[SCSI] hpsa: remove unneeded variable
2013-08-26 12:51:31 +04:00
hpsa_cmd.h
[SCSI] hpsa: dial down lockup detection during firmware flash
2012-05-10 09:19:39 +01:00
hptiop.c
Drivers: scsi: remove __dev* attributes.
2013-01-03 15:57:01 -08:00
hptiop.h
[SCSI] hptiop: Support HighPoint RR4520/RR4522 HBA
2012-11-27 08:59:43 +04:00
imm.c
imm: switch to ->show_info()
2013-04-09 14:13:16 -04:00
imm.h
in2000.c
in2000: switch to ->show_info()
2013-04-09 14:13:25 -04:00
in2000.h
initio.c
Drivers: scsi: remove __dev* attributes.
2013-01-03 15:57:01 -08:00
initio.h
ipr.c
[SCSI] ipr: Add sereral new CCIN definitions for new adapters support
2013-08-26 12:51:32 +04:00
ipr.h
[SCSI] ipr: Add sereral new CCIN definitions for new adapters support
2013-08-26 12:51:32 +04:00
ips.c
ips: fix format bugs exposed by previous commit
2013-04-09 14:13:27 -04:00
ips.h
ips: switch to ->show_info()
2013-04-09 14:13:27 -04:00
iscsi_boot_sysfs.c
iscsi_tcp.c
[SCSI] iscsi_tcp: support PF_MEMALLOC/__GFP_MEMALLOC
2013-04-11 16:55:04 -07:00
iscsi_tcp.h
jazz_esp.c
Drivers: scsi: remove __dev* attributes.
2013-01-03 15:57:01 -08:00
Kconfig
SCSI misc on 20130903
2013-09-03 15:48:06 -07:00
lasi700.c
Drivers: scsi: remove __dev* attributes.
2013-01-03 15:57:01 -08:00
libiscsi.c
[SCSI] IB/iser: Add Discovery support
2013-08-26 18:53:49 +04:00
libiscsi_tcp.c
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next
2013-07-09 18:24:39 -07:00
libsrp.c
mac53c94.c
Remove all #inclusions of asm/system.h
2012-03-28 18:30:03 +01:00
mac53c94.h
mac_esp.c
Drivers: scsi: remove __dev* attributes.
2013-01-03 15:57:01 -08:00
mac_scsi.c
NCR5830: switch to ->show_info()
2013-04-09 14:13:17 -04:00
mac_scsi.h
NCR5830: switch to ->show_info()
2013-04-09 14:13:17 -04:00
Makefile
[SCSI] esas2r: ATTO Technology ExpressSAS 6G SAS/SATA RAID Adapter Driver
2013-09-03 07:27:58 -07:00
megaraid.c
PCI: Convert alloc_pci_dev(void) to pci_alloc_dev(bus)
2013-06-05 13:49:36 -06:00
megaraid.h
megaraid: Don't use create_proc_read_entry()
2013-04-29 15:41:57 -04:00
mesh.c
Remove all #inclusions of asm/system.h
2012-03-28 18:30:03 +01:00
mesh.h
mvme16x_scsi.c
Drivers: scsi: remove __dev* attributes.
2013-01-03 15:57:01 -08:00
mvme147.c
switch wd33c93 to ->show_info()
2013-04-09 14:13:15 -04:00
mvme147.h
mvumi.c
[SCSI] mvumi: Use PCI_VENDOR_ID_MARVELL_EXT for 0x1b4b
2013-04-15 14:30:44 -06:00
mvumi.h
[SCSI] mvumi: Use PCI_VENDOR_ID_MARVELL_EXT for 0x1b4b
2013-04-15 14:30:44 -06:00
ncr53c8xx.c
Remove all #inclusions of asm/system.h
2012-03-28 18:30:03 +01:00
ncr53c8xx.h
NCR53c406a.c
NCR5380.c
NCR5830: switch to ->show_info()
2013-04-09 14:13:17 -04:00
NCR5380.h
NCR5830: switch to ->show_info()
2013-04-09 14:13:17 -04:00
NCR_D700.c
Drivers: scsi: remove __dev* attributes.
2013-01-03 15:57:01 -08:00
NCR_D700.h
NCR_Q720.c
Drivers: scsi: remove __dev* attributes.
2013-01-03 15:57:01 -08:00
NCR_Q720.h
nsp32.c
[SCSI] nsp32: use mdelay instead of large udelay constants
2013-06-19 17:53:35 +02:00
nsp32.h
nsp32_debug.c
nsp32_io.h
osst.c
Remove all #inclusions of asm/system.h
2012-03-28 18:30:03 +01:00
osst.h
osst_detect.h
osst_options.h
pas16.c
NCR5830: switch to ->show_info()
2013-04-09 14:13:17 -04:00
pas16.h
NCR5830: switch to ->show_info()
2013-04-09 14:13:17 -04:00
pmcraid.c
treewide: Fix typo in printk
2013-06-18 13:48:45 +02:00
pmcraid.h
ppa.c
ppa: switch to ->show_info()
2013-04-09 14:13:17 -04:00
ppa.h
ps3rom.c
Drivers: scsi: remove __dev* attributes.
2013-01-03 15:57:01 -08:00
qla1280.c
Drivers: scsi: remove __dev* attributes.
2013-01-03 15:57:01 -08:00
qla1280.h
qlogicfas.c
Drivers: scsi: remove __dev* attributes.
2013-01-03 15:57:01 -08:00
qlogicfas408.c
qlogicfas408.h
qlogicpti.c
Drivers: scsi: remove __dev* attributes.
2013-01-03 15:57:01 -08:00
qlogicpti.h
raid_class.c
script_asm.pl
scsi.c
[SCSI] Don't attempt to send extended INQUIRY command if skip_vpd_pages is set
2013-08-02 13:20:21 -07:00
scsi.h
scsi_debug.c
[SCSI] scsi_debug: fix logical block provisioning support when unmap_alignment != 0
2013-09-03 07:28:08 -07:00
scsi_devinfo.c
[SCSI] Workaround for disks that report bad optimal transfer length
2013-06-24 13:00:10 -07:00
scsi_error.c
[SCSI] Generate uevents on certain unit attention codes
2013-08-26 18:52:27 +04:00
scsi_ioctl.c
scsi_lib.c
ARM: 7796/1: scsi: Use dma_max_pfn(dev) helper for bounce_limit calculations
2013-10-31 14:49:26 +00:00
scsi_lib_dma.c
scsi_logging.h
scsi_module.c
scsi_netlink.c
scsi: replace obsolete NLMSG_* with type safe nlmsg_*
2013-03-28 14:27:24 -04:00
scsi_pm.c
PM / Runtime: Rework the "runtime idle" helper routine
2013-06-03 21:49:52 +02:00
scsi_priv.h
[SCSI] async: introduce 'async_domain' type
2012-07-20 09:05:54 +01:00
scsi_proc.c
fix buffer leak after "scsi: saner replacements for ->proc_info()"
2013-05-31 15:16:51 -04:00
scsi_sas_internal.h
scsi_scan.c
[SCSI] Workaround for disks that report bad optimal transfer length
2013-06-24 13:00:10 -07:00
scsi_sysctl.c
scsi_sysfs.c
[SCSI] Generate uevents on certain unit attention codes
2013-08-26 18:52:27 +04:00
scsi_tgt_if.c
scsi_tgt_lib.c
scsi_tgt_priv.h
scsi_trace.c
scsi_transport_api.h
scsi_transport_fc.c
drivers: avoid format strings in names passed to alloc_workqueue()
2013-07-03 16:07:41 -07:00
scsi_transport_fc_internal.h
scsi_transport_iscsi.c
[SCSI] scsi_transport_iscsi: Exporting new attrs for iscsi session and connection in sysfs
2013-08-23 13:08:30 -04:00
scsi_transport_sas.c
[SCSI] scsi_transport_sas: add 12GB definitions for mpt3sas
2012-12-01 10:08:41 +00:00
scsi_transport_spi.c
[SCSI] scsi_transport_spi: fix for unbalanced reference counting
2012-05-10 09:06:12 +01:00
scsi_transport_srp.c
IB/srp: Allow SRP disconnect through sysfs
2012-11-30 17:40:33 -08:00
scsi_transport_srp_internal.h
scsi_typedefs.h
scsicam.c
sd.c
[SCSI] sd: call blk_pm_runtime_init before add_disk
2013-10-23 14:09:18 +01:00
sd.h
[SCSI] sd: Update WRITE SAME heuristics
2013-06-26 17:56:18 -07:00
sd_dif.c
[SCSI] sd_dif: problem with verify of type 1 protection information (PI)
2013-05-02 15:37:03 -07:00
ses.c
sg.c
[SCSI] Revert "sg: use rwsem to solve race during exclusive open"
2013-10-25 10:59:54 +01:00
sgiwd93.c
Drivers: scsi: remove __dev* attributes.
2013-01-03 15:57:01 -08:00
sim710.c
Drivers: scsi: remove __dev* attributes.
2013-01-03 15:57:01 -08:00
sni_53c710.c
Drivers: scsi: remove __dev* attributes.
2013-01-03 15:57:01 -08:00
sr.c
block_device_operations->release() should return void
2013-05-07 02:16:21 -04:00
sr.h
sr_ioctl.c
sr_vendor.c
st.c
[SCSI] st: convert class code to use dev_groups
2013-08-21 10:10:50 -07:00
st.h
[SCSI] st: raise device limit
2012-09-14 17:59:29 +01:00
st_options.h
stex.c
Drivers: scsi: remove __dev* attributes.
2013-01-03 15:57:01 -08:00
storvsc_drv.c
Drivers: hv: remove HV_DRV_VERSION
2013-08-02 11:34:30 +08:00
sun3_NCR5380.c
sun3_scsi: add ->show_info()
2013-05-04 14:50:16 -04:00
sun3_scsi.c
sun3_scsi: add ->show_info()
2013-05-04 14:50:16 -04:00
sun3_scsi.h
sun3_scsi: add ->show_info()
2013-05-04 14:50:16 -04:00
sun3_scsi_vme.c
Remove all #inclusions of asm/system.h
2012-03-28 18:30:03 +01:00
sun3x_esp.c
Drivers: scsi: remove __dev* attributes.
2013-01-03 15:57:01 -08:00
sun_esp.c
Drivers: scsi: remove __dev* attributes.
2013-01-03 15:57:01 -08:00
sym53c416.c
Drivers: scsi: remove __dev* attributes.
2013-01-03 15:57:01 -08:00
sym53c416.h
t128.c
NCR5830: switch to ->show_info()
2013-04-09 14:13:17 -04:00
t128.h
NCR5830: switch to ->show_info()
2013-04-09 14:13:17 -04:00
tmscsim.c
Drivers: scsi: remove __dev* attributes.
2013-01-03 15:57:01 -08:00
tmscsim.h
u14-34f.c
Remove all #inclusions of asm/system.h
2012-03-28 18:30:03 +01:00
ultrastor.c
Remove all #inclusions of asm/system.h
2012-03-28 18:30:03 +01:00
ultrastor.h
virtio_scsi.c
virtio-scsi: Fix virtqueue affinity setup
2013-08-01 11:37:19 +09:30
vmw_pvscsi.c
Drivers: scsi: remove __dev* attributes.
2013-01-03 15:57:01 -08:00
vmw_pvscsi.h
[SCSI] vmw_pvscsi: Try setting host->max_id as suggested by the device.
2012-03-27 08:26:36 +01:00
wd33c93.c
switch wd33c93 to ->show_info()
2013-04-09 14:13:15 -04:00
wd33c93.h
switch wd33c93 to ->show_info()
2013-04-09 14:13:15 -04:00
wd7000.c
wd7000: switch to ->show_info()
2013-04-09 14:13:15 -04:00
zalon.c
Drivers: scsi: remove __dev* attributes.
2013-01-03 15:57:01 -08:00
zorro7xx.c
Drivers: scsi: remove __dev* attributes.
2013-01-03 15:57:01 -08:00