aboutsummaryrefslogtreecommitdiff
path: root/drivers
AgeCommit message (Collapse)AuthorFilesLines
2014-08-10IB/umad: Update module to [pr|dev]_* style print messagesIra Weiny1-11/+15
Use dev_* style print when struct device is available. Also combine previously line broken user-visible strings as per Documentation/CodingStyle: "However, never break user-visible strings such as printk messages, because that breaks the ability to grep for them." Signed-off-by: Ira Weiny <[email protected]> Signed-off-by: Roland Dreier <[email protected]>
2014-08-10dm table: propagate QUEUE_FLAG_NO_SG_MERGEJeff Moyer1-0/+13
Commit 05f1dd5 ("block: add queue flag for disabling SG merging") introduced a new queue flag: QUEUE_FLAG_NO_SG_MERGE. This gets set by default in blk_mq_init_queue for mq-enabled devices. The effect of the flag is to bypass the SG segment merging. Instead, the bio->bi_vcnt is used as the number of hardware segments. With a device mapper target on top of a device with QUEUE_FLAG_NO_SG_MERGE set, we can end up sending down more segments than a driver is prepared to handle. I ran into this when backporting the virtio_blk mq support. It triggerred this BUG_ON, in virtio_queue_rq: BUG_ON(req->nr_phys_segments + 2 > vblk->sg_elems); The queue's max is set here: blk_queue_max_segments(q, vblk->sg_elems-2); Basically, what happens is that a bio is built up for the dm device (which does not have the QUEUE_FLAG_NO_SG_MERGE flag set) using bio_add_page. That path will call into __blk_recalc_rq_segments, so what you end up with is bi_phys_segments being much smaller than bi_vcnt (and bi_vcnt grows beyond the maximum sg elements). Then, when the bio is submitted, it gets cloned. When the cloned bio is submitted, it will end up in blk_recount_segments, here: if (test_bit(QUEUE_FLAG_NO_SG_MERGE, &q->queue_flags)) bio->bi_phys_segments = bio->bi_vcnt; and now we've set bio->bi_phys_segments to a number that is beyond what was registered as queue_max_segments by the driver. The right way to fix this is to propagate the queue flag up the stack. The rules for propagating the flag are simple: - if the flag is set for any underlying device, it must be set for the upper device - consequently, if the flag is not set for any underlying device, it should not be set for the upper device. Signed-off-by: Jeff Moyer <[email protected]> Signed-off-by: Mike Snitzer <[email protected]> Cc: [email protected] # 3.16+
2014-08-10Merge tag 'for-linus' of ↵Linus Torvalds2-22/+132
git://git.kernel.org/pub/scm/linux/kernel/git/olof/chrome-platform Pull chrome platform updates from Olof Johansson: "Updates to the Chromebook/box platform drivers: - a bugfix to pstore registration that makes it also work on non-Google systems - addition of new shipped Chromebooks (later models have more probing through ACPI so the need for these updates will be less over time). - A couple of minor coding style updates" * tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/olof/chrome-platform: platform/chrome: chromeos_laptop - Add a limit for deferred retries platform/chrome: Add support for the acer c720p touchscreen. platform/chrome: pstore: fix dmi table to match all chrome systems platform/chrome: coding style fixes platform/chrome: chromeos_laptop - Add Toshiba CB35 Touch platform/chrome: chromeos_laptop - Add Dell Chromebook 11 touch platform/chrome: chromeos_laptop - Add HP Chromebook 14 platform/chrome: chromeos_laptop - Add support for Acer C720
2014-08-10Merge tag 'fixes-for-linus' of ↵Linus Torvalds1-21/+4
git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc Pull ARM SoC fixes from Olof Johansson: - a short branch of OMAP fixes that we didn't merge before the window opened. - a small cleanup that sorts the rk3288 dts entries properly - a build fix due to a reference to a removed DT node on exynos * tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: ARM: dts: exynos5420: remove disp_pd ARM: EXYNOS: Fix suspend/resume sequences ARM: dts: Fix the sort ordering of EHCI and HSIC in rk3288.dtsi ARM: OMAP3: Fix coding style problems in arch/arm/mach-omap2/control.c ARM: OMAP3: Fix choice of omap3_restore_es function in OMAP34XX rev3.1.2 case. ARM: OMAP2+: clock: allow omap2_dpll_round_rate() to round to next-lowest rate
2014-08-10hwmon: (tmp103) Remove duplicate test for I2C_FUNC_SMBUS_BYTE_DATA functionalityAxel Lin1-7/+0
Since commit b42261078a91 ("regmap: i2c: fallback to SMBus if the adapter does not support standard I2C"), regmap-i2c will check the I2C_FUNC_SMBUS_[BYTE|WORD]_DATA functionality based on the regmap_config setting if the adapter does not support standard I2C. So remove the I2C_FUNC_SMBUS_BYTE_DATA functionality check in the driver code. Signed-off-by: Axel Lin <[email protected]> Signed-off-by: Guenter Roeck <[email protected]>
2014-08-10Merge branches 'acpi-processor', 'acpi-hotplug' and 'acpi-battery'Rafael J. Wysocki3-2/+4
* acpi-processor: ACPI / processor: Make acpi_cpu_soft_notify() process CPU FROZEN events * acpi-hotplug: ACPI / hotplug: Check scan handlers in acpi_scan_hot_remove() * acpi-battery: ACPI / battery: Fix warning message in acpi_battery_get_state()
2014-08-10ACPI / battery: Fix warning message in acpi_battery_get_state()Mariusz Ceier1-1/+1
capacity_now should be assigned after comparing it to design_capacity. Otherwise warning is printed even when capacity_now before assignment is equal to design_capacity, making the check useless and "current charge level" wrong (it should be higher than, not equal to, "maximum charge level", which is full_charge_capacity): "battery: reported current charge level (56410) is higher than reported maximum charge level (56410)." Fixes: 232de5143790 (ACPI / battery: fix wrong value of capacity_now reported when fully charged) Signed-off-by: Mariusz Ceier <[email protected]> Cc: 3.16+ <[email protected]> # 3.16+ [rjw: Subject] Signed-off-by: Rafael J. Wysocki <[email protected]>
2014-08-09Merge branch 'linux-3.17' of git://anongit.freedesktop.org/git/nouveau/linux-2.6Linus Torvalds262-5795/+12140
Pull nouveau drm updates from Ben Skeggs: "Apologies for not getting this done in time for Dave's drm-next merge window. As he mentioned, a pre-existing bug reared its head a lot more obviously after this lot of changes. It took quite a bit of time to track it down. In any case, Dave suggested I try my luck by sending directly to you this time. Overview: - more code for Tegra GK20A from NVIDIA - probing, reclockig - better fix for Kepler GPUs that have the graphics engine powered off on startup, method courtesy of info provided by NVIDIA - unhardcoding of a bunch of graphics engine setup on Fermi/Kepler/Maxwell, will hopefully solve some issues people have noticed on higher-end models - support for "Zero Bandwidth Clear" on Fermi/Kepler/Maxwell, needs userspace support in general, but some lucky apps will benefit automagically - reviewed/exposed the full object APIs to userspace (finally), gives it access to perfctrs, ZBC controls, various events. More to come in the future. - various other fixes" Acked-by: Dave Airlie <[email protected]> * 'linux-3.17' of git://anongit.freedesktop.org/git/nouveau/linux-2.6: (87 commits) drm/nouveau: expose the full object/event interfaces to userspace drm/nouveau: fix headless mode drm/nouveau: hide sysfs pstate file behind an option again drm/nv50/disp: shhh compiler drm/gf100-/gr: implement the proper SetShaderExceptions method drm/gf100-/gr: remove some broken ltc bashing, for now drm/gf100-/gr: unhardcode attribute cb config drm/gf100-/gr: fetch tpcs-per-ppc info on startup drm/gf100-/gr: unhardcode pagepool config drm/gf100-/gr: unhardcode bundle cb config drm/gf100-/gr: improve initial context patch list helpers drm/gf100-/gr: add support for zero bandwidth clear drm/nouveau/ltc: add zbc drivers drm/nouveau/ltc: s/ltcg/ltc/ + cleanup drm/nouveau: use ram info from nvif_device drm/nouveau/disp: implement nvif event sources for vblank/connector notifiers drm/nouveau/disp: allow user direct access to channel control registers drm/nouveau/disp: audit and version display classes drm/nouveau/disp: audit and version SCANOUTPOS method drm/nv50-/disp: audit and version PIOR_PWR method ...
2014-08-10drm/nouveau: expose the full object/event interfaces to userspaceBen Skeggs8-10/+424
Signed-off-by: Ben Skeggs <[email protected]>
2014-08-10drm/nouveau: fix headless modeBen Skeggs2-2/+3
Signed-off-by: Ben Skeggs <[email protected]>
2014-08-10drm/nouveau: hide sysfs pstate file behind an option againBen Skeggs1-1/+8
No-one has yet had time to move this to debugfs as discussed during the last merge window. Until this happens, hide the option to make it clear it's not going to be here forever. Signed-off-by: Ben Skeggs <[email protected]>
2014-08-10drm/nv50/disp: shhh compilerBen Skeggs1-4/+4
Signed-off-by: Ben Skeggs <[email protected]>
2014-08-10drm/gf100-/gr: implement the proper SetShaderExceptions methodBen Skeggs9-17/+53
We have another version of it implemented in SW, however, that version isn't serialised with normal PGRAPH operation and can possibly clobber the enables for another context. This is the same method that's implemented by the NVIDIA binary driver. Signed-off-by: Ben Skeggs <[email protected]>
2014-08-10drm/gf100-/gr: remove some broken ltc bashing, for nowBen Skeggs13-58/+0
... and hope that the defaults are good enough. This was always supposed to be a read/modify/write thing anyway, so we're writing very wrong stuff for some boards already. Signed-off-by: Ben Skeggs <[email protected]>
2014-08-10drm/gf100-/gr: unhardcode attribute cb configBen Skeggs13-166/+199
Signed-off-by: Ben Skeggs <[email protected]>
2014-08-10drm/gf100-/gr: fetch tpcs-per-ppc info on startupBen Skeggs9-1/+16
Signed-off-by: Ben Skeggs <[email protected]>
2014-08-10drm/gf100-/gr: unhardcode pagepool configBen Skeggs13-41/+75
Signed-off-by: Ben Skeggs <[email protected]>
2014-08-10drm/gf100-/gr: unhardcode bundle cb configBen Skeggs13-41/+100
Should be the same values as before, except: GF117 has smaller buffer allocated, as per register setup. GK20A now uses values from Tegra driver, not GK104's. Signed-off-by: Ben Skeggs <[email protected]>
2014-08-10drm/gf100-/gr: improve initial context patch list helpersBen Skeggs4-20/+51
Removes need for fixed buffer indices, and allows the functions utilising them to also be run outside of context generation. Signed-off-by: Ben Skeggs <[email protected]>
2014-08-10drm/gf100-/gr: add support for zero bandwidth clearBen Skeggs10-11/+313
Default ZBC table is compatible with binary driver defaults. Userspace will need to be updated to take full advantage of this feature, however, some applications will see a performance boost without updated drivers. Signed-off-by: Ben Skeggs <[email protected]>
2014-08-10drm/nouveau/ltc: add zbc driversBen Skeggs6-1/+108
Signed-off-by: Ben Skeggs <[email protected]>
2014-08-10drm/nouveau/ltc: s/ltcg/ltc/ + cleanupBen Skeggs17-235/+362
Signed-off-by: Ben Skeggs <[email protected]>
2014-08-10drm/nouveau: use ram info from nvif_deviceBen Skeggs8-32/+17
Signed-off-by: Ben Skeggs <[email protected]>
2014-08-10drm/nouveau/disp: implement nvif event sources for vblank/connector notifiersBen Skeggs11-20/+47
Signed-off-by: Ben Skeggs <[email protected]>
2014-08-10drm/nouveau/disp: allow user direct access to channel control registersBen Skeggs4-1/+24
Signed-off-by: Ben Skeggs <[email protected]>
2014-08-10drm/nouveau/disp: audit and version display classesBen Skeggs52-423/+323
The full object interfaces are about to be exposed to userspace, so we need to check for any security-related issues and version the structs to make it easier to handle any changes we may need in the future. Signed-off-by: Ben Skeggs <[email protected]>
2014-08-10drm/nouveau/disp: audit and version SCANOUTPOS methodBen Skeggs15-172/+204
The full object interfaces are about to be exposed to userspace, so we need to check for any security-related issues and version the structs to make it easier to handle any changes we may need in the future. Signed-off-by: Ben Skeggs <[email protected]>
2014-08-10drm/nv50-/disp: audit and version PIOR_PWR methodBen Skeggs10-70/+50
The full object interfaces are about to be exposed to userspace, so we need to check for any security-related issues and version the structs to make it easier to handle any changes we may need in the future. Signed-off-by: Ben Skeggs <[email protected]>
2014-08-10drm/nv50-/disp: audit and version SOR_DP_PWR methodBen Skeggs9-74/+41
The full object interfaces are about to be exposed to userspace, so we need to check for any security-related issues and version the structs to make it easier to handle any changes we may need in the future. Signed-off-by: Ben Skeggs <[email protected]>
2014-08-10drm/nv50-/disp: audit and version LVDS_SCRIPT methodBen Skeggs9-23/+43
The full object interfaces are about to be exposed to userspace, so we need to check for any security-related issues and version the structs to make it easier to handle any changes we may need in the future. Signed-off-by: Ben Skeggs <[email protected]>
2014-08-10drm/nv50-/disp: audit and version SOR_HDMI_PWR methodBen Skeggs13-45/+121
The full object interfaces are about to be exposed to userspace, so we need to check for any security-related issues and version the structs to make it easier to handle any changes we may need in the future. Signed-off-by: Ben Skeggs <[email protected]>
2014-08-10drm/nv50-/disp: audit and version SOR_HDA_ELD methodBen Skeggs10-29/+75
The full object interfaces are about to be exposed to userspace, so we need to check for any security-related issues and version the structs to make it easier to handle any changes we may need in the future. Signed-off-by: Ben Skeggs <[email protected]>
2014-08-10drm/nv50-/disp: audit and version SOR_PWR methodBen Skeggs10-26/+45
The full object interfaces are about to be exposed to userspace, so we need to check for any security-related issues and version the structs to make it easier to handle any changes we may need in the future. Signed-off-by: Ben Skeggs <[email protected]>
2014-08-10drm/nv50-/disp: audit and version DAC_LOAD methodBen Skeggs10-51/+48
The full object interfaces are about to be exposed to userspace, so we need to check for any security-related issues and version the structs to make it easier to handle any changes we may need in the future. Signed-off-by: Ben Skeggs <[email protected]>
2014-08-10drm/nv50-/disp: audit and version DAC_PWR methodBen Skeggs13-41/+171
The full object interfaces are about to be exposed to userspace, so we need to check for any security-related issues and version the structs to make it easier to handle any changes we may need in the future. Signed-off-by: Ben Skeggs <[email protected]>
2014-08-10drm/nv50-/disp: share channel creation between nv50/gf110 implsBen Skeggs10-302/+204
Signed-off-by: Ben Skeggs <[email protected]>
2014-08-10drm/nv50/kms: don't assume same class versions for all channelsBen Skeggs1-48/+166
One of the next commits will remove some of the class IDs, leaving only the ones used by NVIDIA which, presumably, mark where functionality changes actually happened. Signed-off-by: Ben Skeggs <[email protected]>
2014-08-10drm/nouveau/fifo: implement nvif event sourceBen Skeggs13-50/+89
Signed-off-by: Ben Skeggs <[email protected]>
2014-08-10drm/nouveau/fifo: allow direct access to channel control registers where ↵Ben Skeggs11-9/+38
possible The indirect method has been left in-place here as a fallback path, as it may not be possible to map the non-PAGE_SIZE aligned control areas across some chipset+interface combinations. This isn't a problem for the primary use-case where the core and drm are linked together in kernel-land, but across a VM or (in the case where it applies now) between the core in the kernel and a userspace test tool. Signed-off-by: Ben Skeggs <[email protected]>
2014-08-10drm/nouveau/fifo: audit and version fifo channel classesBen Skeggs19-199/+323
The full object interfaces are about to be exposed to userspace, so we need to check for any security-related issues and version the structs to make it easier to handle any changes we may need in the future. Signed-off-by: Ben Skeggs <[email protected]>
2014-08-10drm/nouveau/device: audit and version NVIF_CONTROL class and methodsBen Skeggs7-112/+174
The full object interfaces are about to be exposed to userspace, so we need to check for any security-related issues and version the structs to make it easier to handle any changes we may need in the future. Signed-off-by: Ben Skeggs <[email protected]>
2014-08-10drm/nouveau/pm: audit and version NVIF_PERFMON class and methodsBen Skeggs4-78/+116
The full object interfaces are about to be exposed to userspace, so we need to check for any security-related issues and version the structs to make it easier to handle any changes we may need in the future. Signed-off-by: Ben Skeggs <[email protected]>
2014-08-10drm/nouveau/dma: audit and version NV_DMA classesBen Skeggs15-216/+318
The full object interfaces are about to be exposed to userspace, so we need to check for any security-related issues and version the structs to make it easier to handle any changes we may need in the future. Signed-off-by: Ben Skeggs <[email protected]>
2014-08-10drm/nouveau/dmaobj: switch to a slightly saner designBen Skeggs8-181/+357
Signed-off-by: Ben Skeggs <[email protected]>
2014-08-10drm/nouveau/dmaobj: update to an improved style of class definitionBen Skeggs16-209/+157
Signed-off-by: Ben Skeggs <[email protected]>
2014-08-10drm/nouveau/device: audit and version NV_DEVICE classBen Skeggs7-105/+135
The full object interfaces are about to be exposed to userspace, so we need to check for any security-related issues and version the structs to make it easier to handle any changes we may need in the future. Signed-off-by: Ben Skeggs <[email protected]>
2014-08-10drm/nouveau: use ioctl interface for abi16 gpuobj freeBen Skeggs1-3/+15
Signed-off-by: Ben Skeggs <[email protected]>
2014-08-10drm/nouveau: use ioctl interface for abi16 ntfy allocBen Skeggs1-18/+31
Signed-off-by: Ben Skeggs <[email protected]>
2014-08-10drm/nouveau: use ioctl interface for abi16 grobj allocBen Skeggs2-34/+46
Signed-off-by: Ben Skeggs <[email protected]>
2014-08-10drm/nouveau: remove as much direct use of core headers as possibleBen Skeggs23-59/+22
Signed-off-by: Ben Skeggs <[email protected]>