pandora-kernel.git
14 years agoMerge omap-fixes-for-linus devel-board devel-fixes twl-asoc 4460 omap-testing cbus
Tony Lindgren [Sun, 10 Jul 2011 20:06:44 +0000 (13:06 -0700)]
Merge omap-fixes-for-linus devel-board devel-fixes twl-asoc 4460 omap-testing cbus

Merge branches 'omap-fixes-for-linus', 'devel-board', 'devel-fixes', 'twl-asoc', '4460', 'omap-testing' and 'cbus' into tmp-rebuild-1310328401

14 years agoMerge branch 'cleanup-part-2' into devel-board
Tony Lindgren [Sun, 10 Jul 2011 18:48:26 +0000 (11:48 -0700)]
Merge branch 'cleanup-part-2' into devel-board

Conflicts:
arch/arm/mach-omap2/board-4430sdp.c
arch/arm/mach-omap2/board-rx51-peripherals.c

14 years agoomap2+: fix build regression
Arnd Bergmann [Thu, 30 Jun 2011 12:58:01 +0000 (12:58 +0000)]
omap2+: fix build regression

board-generic.c now contains a reference to omap3_timer, but depends
only on ARCH_OMAP2, not on ARCH_OMAP3, which controls that symbol.
omap2_timer seems to be more appropriate anyway, so use that instead.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Tony Lindgren <tony@atomide.com>
14 years agoOMAP4: clocks: Update the clock tree with 4460 clock nodes
Rajendra Nayak [Sat, 2 Jul 2011 02:30:24 +0000 (08:00 +0530)]
OMAP4: clocks: Update the clock tree with 4460 clock nodes

Add the new clock nodes (bandgap_ts_fclk, div_ts_ck) for omap4460.
Handle these nodes using the clock flags (CK_*).

Signed-off-by: Rajendra Nayak <rnayak@ti.com>
Signed-off-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Reviewed-by: Kevin Hilman <khilman@ti.com>
Acked-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
14 years agoOMAP4: PRCM: OMAP4460 specific PRM and CM register bitshifts
Rajendra Nayak [Sat, 2 Jul 2011 02:30:23 +0000 (08:00 +0530)]
OMAP4: PRCM: OMAP4460 specific PRM and CM register bitshifts

This patch adds additional register bitshifts for
registers added in OMAP4460 platform.

Signed-off-by: Rajendra Nayak <rnayak@ti.com>
Signed-off-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Reviewed-by: Kevin Hilman <khilman@ti.com>
Acked-by: Paul Walmsley <paul@pwsan.com>
[tony@atomide.com: updated to apply on cleanup patches]
Signed-off-by: Tony Lindgren <tony@atomide.com>
14 years agoOMAP4: ID: add omap_has_feature for max freq supported
Aneesh V [Sat, 2 Jul 2011 02:30:22 +0000 (08:00 +0530)]
OMAP4: ID: add omap_has_feature for max freq supported

Macros for identifying the max frequency supported by various
OMAP4 variants - Expanding along the lines of OMAP3's feature
handling.

[nm@ti.com: minor fixes for checks that should only for 443x|446x]
Signed-off-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Aneesh V <aneesh@ti.com>
Signed-off-by: Rajendra Nayak <rnayak@ti.com>
Reviewed-by: Kevin Hilman <khilman@ti.com>
Reviewed-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
14 years agoOMAP: ID: introduce chip detection for OMAP4460
Aneesh V [Sat, 2 Jul 2011 02:30:21 +0000 (08:00 +0530)]
OMAP: ID: introduce chip detection for OMAP4460

Add support for detecting the latest in the OMAP4 family: OMAP4460
Among other changes, the new chip also can support 1.5GHz A9s,
1080p stereoscopic 3D and 12 MP stereo (dual camera). In addition,
we have changes to OPPs supported, clock tree etc, hence having a
chip detection is required.

For more details on OMAP4460, see Highlights:
http://focus.ti.com/general/docs/wtbu/wtbuproductcontent.tsp?contentId=53243&navigationId=12843&templateId=6123

Public TRM is available here as usual:
http://focus.ti.com/general/docs/wtbu/wtbudocumentcenter.tsp?templateId=6123&navigationId=12667

[nm@ti.com: cleanups and introduction of ramp system]
Signed-off-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Aneesh V <aneesh@ti.com>
Signed-off-by: Rajendra Nayak <rnayak@ti.com>
Reviewed-by: Kevin Hilman <khilman@ti.com>
Reviewed-by: Paul Walmsley <paul@pwsan.com>
[tony@atomide.com: updated to not use CHIP_IS_OMAP44XX]
Signed-off-by: Tony Lindgren <tony@atomide.com>
14 years agoMerge branch 'peter/topic/for-tony' of git://gitorious.org/omap-audio/linux-audio...
Tony Lindgren [Thu, 7 Jul 2011 19:11:23 +0000 (12:11 -0700)]
Merge branch 'peter/topic/for-tony' of git://gitorious.org/omap-audio/linux-audio into twl-asoc

14 years agoMerge branch 'peter/topic/for-tony_mach-cleanup' of git://gitorious.org/omap-audio...
Tony Lindgren [Thu, 7 Jul 2011 19:08:58 +0000 (12:08 -0700)]
Merge branch 'peter/topic/for-tony_mach-cleanup' of git://gitorious.org/omap-audio/linux-audio into cleanup-part-2

14 years agoomap: mcbsp: Remove port number enums
Jarkko Nikula [Fri, 1 Jul 2011 08:52:27 +0000 (08:52 +0000)]
omap: mcbsp: Remove port number enums

These McBSP port number enums are used only in two places in the McBSP code
so we may remove then and just use numeric values like rest of the code does.

Signed-off-by: Jarkko Nikula <jhnikula@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
14 years agoomap: mcbsp: Remove rx_/tx_word_length variables
Jarkko Nikula [Fri, 1 Jul 2011 08:52:26 +0000 (08:52 +0000)]
omap: mcbsp: Remove rx_/tx_word_length variables

These variables got unused after ("omap: mcbsp: Drop in-driver transfer
support") but was noticed only afterwards.

Signed-off-by: Jarkko Nikula <jhnikula@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
14 years agoASoC: twl6040: Add back support for legacy mode
Peter Ujfalusi [Tue, 5 Jul 2011 19:35:53 +0000 (22:35 +0300)]
ASoC: twl6040: Add back support for legacy mode

The legacy mode has been accidentaly removed by commit:
ASoC: twl6040: add all ABE DAIs

Add back the twl6040-hifi dai.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoASoC: twl6040: No need to convert the PLL ID
Peter Ujfalusi [Mon, 4 Jul 2011 07:35:23 +0000 (10:35 +0300)]
ASoC: twl6040: No need to convert the PLL ID

Since the PLL handling has been simplified, and
rebased on 0, there is no longer need for converting
the PLL ID.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoMFD: twl6040: Remove enum for PLL tracking
Peter Ujfalusi [Mon, 4 Jul 2011 07:28:28 +0000 (10:28 +0300)]
MFD: twl6040: Remove enum for PLL tracking

There is no need to have two different types for
tracking the selected PLL.
Use only the defines, when dealing with the PLLs.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Acked-by: Samuel Ortiz <sameo@linux.intel.com>
14 years agoASoC: twl6040: Configure PLL only once
Peter Ujfalusi [Sat, 2 Jul 2011 23:06:07 +0000 (02:06 +0300)]
ASoC: twl6040: Configure PLL only once

Avoid configuring the PLL several times during audio startup.
We can configure the PLL at prepare time with parameters collected
earlier hw_param, and set_dai_sysclk calls.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoASoC: twl6040: Simplify sample rate constraint handling
Peter Ujfalusi [Wed, 29 Jun 2011 10:28:18 +0000 (13:28 +0300)]
ASoC: twl6040: Simplify sample rate constraint handling

We can manage the sample rate constraints without the need
to maintain a variable and a pointer.
This simplifies the handling of the constraint, and makes it
more robust.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoASoC: twl6040: Move PLL selection to codec driver
Peter Ujfalusi [Mon, 27 Jun 2011 14:03:14 +0000 (17:03 +0300)]
ASoC: twl6040: Move PLL selection to codec driver

It is better if the selection between the Low power,
and High performance PLL is handled within the codec
driver, not in machine driver(s) to avoid duplicated
code, and also to have consistent tracking of the selected
PLL, and the resulting differences in supported sample
rates.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoASoC: twl6040: Use neutral name for power mode text/enum
Peter Ujfalusi [Mon, 27 Jun 2011 10:33:14 +0000 (13:33 +0300)]
ASoC: twl6040: Use neutral name for power mode text/enum

Change the variable names to be neutral (not refering to HS).
This will ease up the introduction of PLL selection, which
going to use the same enum strings.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoMFD: twl6040: Remove wrapper for threaded irq request
Peter Ujfalusi [Mon, 4 Jul 2011 17:16:23 +0000 (20:16 +0300)]
MFD: twl6040: Remove wrapper for threaded irq request

Remove the twl6040_request_irq/free_irq inline functions,
and use direct calls instead in the core driver to
register the threaded irq.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Reviewed-by: Felipe Balbi <balbi@ti.com>
Acked-by: Samuel Ortiz <sameo@linux.intel.com>
14 years agoMFD: twl6040: Demand valid interrupt configuration
Peter Ujfalusi [Mon, 4 Jul 2011 17:15:19 +0000 (20:15 +0300)]
MFD: twl6040: Demand valid interrupt configuration

In order to operate correctly twl6040 needs correct
interrupt configuration.
The slave drivers (vibra, and ASoC codec) will refuse
to probe, if the interrupt configuration is not correct.
In this way some checks can be removed from the code.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Reviewed-by: Felipe Balbi <balbi@ti.com>
Acked-by: Samuel Ortiz <sameo@linux.intel.com>
14 years agoASoC: twl6040: Do not use wrapper for irq request
Peter Ujfalusi [Mon, 4 Jul 2011 16:52:26 +0000 (19:52 +0300)]
ASoC: twl6040: Do not use wrapper for irq request

The twl6040_request_irq/free_irq inline functions are going
to be removed, so replace them with direct calls.
The irq number is provided by the core driver via resource.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Reviewed-by: Felipe Balbi <balbi@ti.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoinput: twl6040-vibra: Do not use wrapper for irq request
Peter Ujfalusi [Mon, 4 Jul 2011 16:50:02 +0000 (19:50 +0300)]
input: twl6040-vibra: Do not use wrapper for irq request

The twl6040_request_irq/free_irq inline functions are going
to be removed, so replace them with direct calls.
The irq number is provided by the core driver via resource.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Reviewed-by: Felipe Balbi <balbi@ti.com>
Acked-by: Dmitry Torokhov <dtor@mail.ru>
14 years agoMFD: twl6040: Use resource to provide irq number for slaves
Peter Ujfalusi [Tue, 5 Jul 2011 08:40:33 +0000 (11:40 +0300)]
MFD: twl6040: Use resource to provide irq number for slaves

Provide the irq number for slaves via resource on the
platform device.
The irq number configuration is done in the twl6040-core
at probe time, so machine drivers do not need to be
modified.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Reviewed-by: Felipe Balbi <balbi@ti.com>
Acked-by: Samuel Ortiz <sameo@linux.intel.com>
14 years agoOMAP4: Keyboard: Mux changes in the board file
Shubhrajyoti Datta [Tue, 5 Jul 2011 10:38:24 +0000 (03:38 -0700)]
OMAP4: Keyboard: Mux changes in the board file

The mux settings for keypad  are done for omap4430sdp in
board file.

Signed-off-by: Shubhrajyoti D <shubhrajyoti@ti.com>
[tony@atomide.com: improved formatting a bit]
Signed-off-by: Tony Lindgren <tony@atomide.com>
14 years agoomap: blaze: add mmc5/wl1283 device support
Vishal Mahaveer [Tue, 5 Jul 2011 10:38:23 +0000 (03:38 -0700)]
omap: blaze: add mmc5/wl1283 device support

Add MMC5 support on BLAZE, which has the wl1283 device hardwired to.

The wl1283 is a 4-wire, 1.8V, embedded SDIO WLAN device with an external IRQ line,
and power-controlled by a GPIO-based fixed regulator.

Based on the patch for zoom by Ohad Ben-Cohen <ohad@wizery.com>

Signed-off-by: Vishal Mahaveer <vishalm@ti.com>
[tony@atomide.com: improved formatting a bit]
Signed-off-by: Tony Lindgren <tony@atomide.com>
14 years agoomap: 4430SDP: Register the card detect GPIO properly
Silesh C V [Tue, 5 Jul 2011 10:38:23 +0000 (03:38 -0700)]
omap: 4430SDP: Register the card detect GPIO properly

Without this the HSMMC driver takes GPIO 0 to be the card detect gpio
and requests/configures it. This will give rise to issues when another
driver needs to use GPIO 0. On 4430SDP, the card detection is through
TWL 6030.

Signed-off-by: Silesh C V <silesh@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
14 years agoarm: omap3: cm-t35: add support for cm-t3730
Igor Grinberg [Tue, 5 Jul 2011 10:38:23 +0000 (03:38 -0700)]
arm: omap3: cm-t35: add support for cm-t3730

cm-t3730 is basically the same board as cm-t35,
but has AM/DM3730 SoC assembled and therefore some changes are required.

Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
Acked-by: Mike Rapoport <mike@compulab.co.il>
[tony@atomide.com: updated for init_irq cleanup as noted by khilman@ti.com]
Signed-off-by: Tony Lindgren <tony@atomide.com>
14 years agoOMAP3: beagle: add support for beagleboard xM revision C
Joel A Fernandes [Tue, 5 Jul 2011 10:38:22 +0000 (03:38 -0700)]
OMAP3: beagle: add support for beagleboard xM revision C

OMAP3: beagle: add support for beagleboard xM revision C

The USB enable GPIO has been in beagleboard xM revision C.
The USER button has been moved since beagleboard xM.
Also, board specific initialization has been moved to beagle_config struct
and initialized in omap3_beagle_init_rev. Default values in struct are for xMC.

Signed-off-by: Joel A Fernandes <joelagnel@ti.com>
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Acked-by: Jason Kridner <jkridner@beagleboard.org>
Signed-off-by: Tony Lindgren <tony@atomide.com>
14 years agoOMAP3: rx-51: Add full regulator definitions
Kalle Jokiniemi [Tue, 5 Jul 2011 10:38:22 +0000 (03:38 -0700)]
OMAP3: rx-51: Add full regulator definitions

The vaux2 (VCSI) regulator is left on by the bootloader
in rx-51. Since there the product has shipped and there
won't be any bootloader updates to fix this issue, we
need to define all the regulators and declare full
constraints for the regulator FW. This will allow the
regulator FW to disable unused regulators.

Also this helps in adding more fine grain regulator
support for rx-51 in the future.

Thanks for Mark Brown for pointing out the correct
solution.

Signed-off-by: Kalle Jokiniemi <kalle.jokiniemi@nokia.com>
Cc: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
14 years agoomap: rx51: Platform support for lp5523 led chip
Ameya Palande [Tue, 5 Jul 2011 10:38:22 +0000 (03:38 -0700)]
omap: rx51: Platform support for lp5523 led chip

Platform support for lp5523 led chip

Signed-off-by: Ameya Palande <ameya.palande@nokia.com>
Signed-off-by: Mathias Nyman <mathias.nyman@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
14 years agoLinux 3.0-rc6 v3.0-rc6
Linus Torvalds [Mon, 4 Jul 2011 22:56:24 +0000 (15:56 -0700)]
Linux 3.0-rc6

14 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6
Linus Torvalds [Mon, 4 Jul 2011 22:54:37 +0000 (15:54 -0700)]
Merge git://git./linux/kernel/git/jejb/scsi-rc-fixes-2.6

* git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6: (277 commits)
  [SCSI] isci: fix checkpatch errors
  isci: Device reset should request sas_phy_reset(phy, true)
  isci: pare back error messsages
  isci: cleanup silicon revision detection
  isci: merge scu_unsolicited_frame.h into unsolicited_frame_control.h
  isci: merge sata.[ch] into request.c
  isci: kill 'get/set' macros
  isci: retire scic_sds_ and scic_ prefixes
  isci: unify isci_host and scic_sds_controller
  isci: unify isci_remote_device and scic_sds_remote_device
  isci: unify isci_port and scic_sds_port
  isci: fix scic_sds_remote_device_terminate_requests
  isci: unify isci_phy and scic_sds_phy
  isci: unify isci_request and scic_sds_request
  isci: rename / clean up scic_sds_stp_request
  isci: preallocate requests
  isci: combine request flags
  isci: unify can_queue tracking on the tci_pool, uplevel tag assignment
  isci: Terminate dev requests on FIS err bit rx in NCQ
  isci: fix frame received locking
  ...

14 years agoMerge branch 'at91/fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/linux...
Linus Torvalds [Mon, 4 Jul 2011 22:54:18 +0000 (15:54 -0700)]
Merge branch 'at91/fixes' of git://git./linux/kernel/git/arm/linux-2.6-arm-soc

* 'at91/fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/linux-2.6-arm-soc:
  AT91: Change nand buswidth logic to match hardware default configuration
  at91: Use "pclk" as con_id on at91cap9 and at91rm9200
  at91: fix udc, ehci and mmc clock device name for cap9/9g45/9rl
  atmel_serial: fix internal port num
  at91: fix at91_set_serial_console: use platform device id

14 years agoMerge branch 'fbdev-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
Linus Torvalds [Mon, 4 Jul 2011 22:53:53 +0000 (15:53 -0700)]
Merge branch 'fbdev-fixes-for-linus' of git://git./linux/kernel/git/lethal/fbdev-3.x

* 'fbdev-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/fbdev-3.x:
  vesafb: fix memory leak
  fbdev: amba: Link fb device to its parent
  fsl-diu-fb: remove check for pixel clock ranges
  udlfb: Correct sub-optimal resolution selection.
  hecubafb: add module_put on error path in hecubafb_probe()
  sm501fb: fix section mismatch warning
  gx1fb: Fix section mismatch warnings
  fbdev: sh_mobile_meram: Correct pointer check for YCbCr chroma plane

14 years agoRDMA: Check for NULL mode in .devnode methods
Goldwyn Rodrigues [Mon, 4 Jul 2011 16:26:57 +0000 (09:26 -0700)]
RDMA: Check for NULL mode in .devnode methods

Commits 71c29bd5c235 ("IB/uverbs: Add devnode method to set path/mode")
and c3af0980ce01 ("IB: Add devnode methods to cm_class and umad_class")
added devnode methods that set the mode.

However, these methods don't check for a NULL mode, and so we get a
crash when unloading modules because devtmpfs_delete_node() calls
device_get_devnode() with mode == NULL.

Add the missing checks.

Signed-off-by: Goldwyn Rodrigues <rgoldwyn@suse.de>
[ Also fix cm.c.  - Roland ]
Signed-off-by: Roland Dreier <roland@purestorage.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
14 years agoAT91: Change nand buswidth logic to match hardware default configuration
Nicolas Ferre [Fri, 1 Jul 2011 10:25:24 +0000 (12:25 +0200)]
AT91: Change nand buswidth logic to match hardware default configuration

The recently modified nand buswitth configuration is not aligned with
board reality: the double footprint on boards is always populated with 8bits
buswidth nand flashes.
So we have to consider that without particular configuration the 8bits
buswidth is selected by default.
Moreover, the previous logic was always using !board_have_nand_8bit(), we
change it to a simpler: board_have_nand_16bit().

Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
Tested-by: Ludovic Desroches <ludovic.desroches@atmel.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
14 years agoOMAP4: SDP4430: Add twl6040 codec platform support
Misael Lopez Cruz [Sat, 12 Feb 2011 01:50:37 +0000 (19:50 -0600)]
OMAP4: SDP4430: Add twl6040 codec platform support

Configure, and enable the twl6040 codec on SDP4430.

Signed-off-by: Misael Lopez Cruz <misael.lopez@ti.com>
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Acked-by: Tony Lindgren <tony@atomide.com>
14 years agoASoC: twl6040: Configure ramp step based on platform
Axel Castaneda Gonzalez [Thu, 24 Feb 2011 02:08:28 +0000 (20:08 -0600)]
ASoC: twl6040: Configure ramp step based on platform

Enable ramp down/up step to be configured based on
platform.

Signed-off-by: Axel Castaneda Gonzalez <x0055901@ti.com>
Signed-off-by: Misael Lopez Cruz <misael.lopez@ti.com>
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoASoC: twl6040: set default constraints.
Liam Girdwood [Mon, 7 Mar 2011 15:25:23 +0000 (15:25 +0000)]
ASoC: twl6040: set default constraints.

Set default sysclk constraints to high performance mode.

Signed-off-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoASoC: twl6040: Remove pll and headset mode dependency
Misael Lopez Cruz [Fri, 11 Feb 2011 23:51:05 +0000 (17:51 -0600)]
ASoC: twl6040: Remove pll and headset mode dependency

Remove dependency between pll (hppll, lppll) and headset power
mode (low-power, high-performance), as headset power mode can
be used with any pll.

A new control is created to allow headset power mode configuration
from userspace. Changing headset power mode during earpiece related
usecases is not propagated down to the codec as earpiece requires
HS DAC in HP mode.

Signed-off-by: Misael Lopez Cruz <misael.lopez@ti.com>
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoASoC: twl6040: Support other sample rates in constraints.
Liam Girdwood [Fri, 18 Mar 2011 19:00:50 +0000 (19:00 +0000)]
ASoC: twl6040: Support other sample rates in constraints.

Add other supported sample rates to LP and HP modes.

Signed-off-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoASoC: twl6040: add all ABE DAIs
Liam Girdwood [Fri, 11 Feb 2011 17:37:51 +0000 (17:37 +0000)]
ASoC: twl6040: add all ABE DAIs

Add all DAIs to fully support OMAP4 ABE.

Signed-off-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoOMAP4: SDP4430: Add twl6040 vibrator platform support
Peter Ujfalusi [Wed, 1 Jun 2011 08:30:38 +0000 (11:30 +0300)]
OMAP4: SDP4430: Add twl6040 vibrator platform support

Add twl4030_vibra platform data, and the needed regulators
for twl6040 vibrator.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Acked-by: Tony Lindgren <tony@atomide.com>
14 years agoinput: Add initial support for TWL6040 vibrator
Misael Lopez Cruz [Sun, 1 May 2011 08:51:24 +0000 (03:51 -0500)]
input: Add initial support for TWL6040 vibrator

Add twl6040_vibra as a child of MFD device twl6040_codec. This
implementation covers the PCM-to-PWM mode of TWL6040 vibrator
module.

Signed-off-by: Misael Lopez Cruz <misael.lopez@ti.com>
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
CC: Tejun Heo <tj@kernel.org>
Acked-by: Dmitry Torokhov <dtor@mail.ru>
14 years agoMFD: twl6040: Change platform data for soc codec driver
Peter Ujfalusi [Wed, 1 Jun 2011 10:05:10 +0000 (13:05 +0300)]
MFD: twl6040: Change platform data for soc codec driver

Pass twl4030_codec_data instead of the twl4030_audio_data
for the ASoC codec driver.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Acked-by: Samuel Ortiz <sameo@linux.intel.com>
14 years agoASoC: twl6040: Convert into TWL6040 MFD child
Misael Lopez Cruz [Mon, 2 May 2011 02:27:00 +0000 (21:27 -0500)]
ASoC: twl6040: Convert into TWL6040 MFD child

Convert TWL6040 CODEC driver into a TWL6040 MFD child, it implies
that MFD-level operations like register accesses, clock setting
and power management are done through MFD APIs, not directly by
CODEC driver anymore. To avoid conflicts with the other MFD child,
vibrator registers are skipped in CODEC driver.

Signed-off-by: Misael Lopez Cruz <misael.lopez@ti.com>
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agomfd: twl6040: Add initial support
Misael Lopez Cruz [Wed, 27 Apr 2011 07:14:07 +0000 (02:14 -0500)]
mfd: twl6040: Add initial support

TWL6040 IC provides analog high-end audio codec functions for
handset applications. It contains several audio analog inputs
and outputs as well as vibrator support. It's connected to the
host processor via PDM interface for audio data communication.
The audio modules are controlled by internal registers that
can be accessed by I2C and PDM interface.

TWL6040 MFD will be registered as a child of TWL-CORE, and will
have two children of its own: twl6040-codec and twl6040-vibra.

This driver is based on TWL4030 and WM8350 MFD drivers.

Signed-off-by: Misael Lopez Cruz <misael.lopez@ti.com>
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Acked-by: Samuel Ortiz <sameo@linux.intel.com>
14 years agoMFD: twl4030-audio: Rename platform data
Peter Ujfalusi [Tue, 31 May 2011 12:21:13 +0000 (15:21 +0300)]
MFD: twl4030-audio: Rename platform data

Allign the platform data names for twl4030 audio submodule:
twl4030_audio_data: for the core MFD driver
twl4030_codec_data: for ASoC codec driver
twl4030_vibra_data: for the input/ForceFeedback driver

To avoid breakage, change all depending drivers, files
to use the new types.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Acked-by: Samuel Ortiz <sameo@linux.intel.com>
14 years agoMFD: twl4030-codec -> twl4030-audio: Rename the driver
Peter Ujfalusi [Tue, 31 May 2011 09:02:49 +0000 (12:02 +0300)]
MFD: twl4030-codec -> twl4030-audio: Rename the driver

Rename the driver, and header file from twl4030-codec to
twl4030-audio.
To avoid breakage change depending drivers at the same time.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
CC: Misael Lopez Cruz <misael.lopez@ti.com>
Acked-by: Samuel Ortiz <sameo@linux.intel.com>
14 years agoMFD: twl4030-codec: Rename internals from codec to audio
Peter Ujfalusi [Tue, 3 May 2011 15:03:43 +0000 (18:03 +0300)]
MFD: twl4030-codec: Rename internals from codec to audio

In preparation of renaming the driver from twl4030-codec
to twl4030-audio, first do some clean ups in the driver,
which does not cause any problems outside.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Acked-by: Samuel Ortiz <sameo@linux.intel.com>
14 years agoOMAP3: Move common regulator configuration to twl-common
Peter Ujfalusi [Tue, 7 Jun 2011 08:38:24 +0000 (11:38 +0300)]
OMAP3: Move common regulator configuration to twl-common

Some regulator config can be moved out from board files,
since they are close to identical.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Acked-by: Tony Lindgren <tony@atomide.com>
14 years agoOMAP3: Move common twl configuration to twl-common
Peter Ujfalusi [Tue, 7 Jun 2011 07:28:54 +0000 (10:28 +0300)]
OMAP3: Move common twl configuration to twl-common

Reduce the amount of duplicated code by moving the common
configuration for twl4030/5030/tpsxx to the twl-common file.
Use the omap3_pmic_get_config function from board files to
properly configure the PMIC with the common fields.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Acked-by: Tony Lindgren <tony@atomide.com>
14 years agoOMAP4: Move common twl6030 configuration to twl-common
Peter Ujfalusi [Tue, 7 Jun 2011 07:26:46 +0000 (10:26 +0300)]
OMAP4: Move common twl6030 configuration to twl-common

Reduce the amount of duplicated code by moving the common
configuration for TWL6030 (on OMAP4 platform) to the
twl-common file.
Use the omap4_pmic_get_config function from board files to
properly configure the PMIC with the common fields.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Acked-by: Tony Lindgren <tony@atomide.com>
14 years agoOMAP: New twl-common for common TWL configuration
Peter Ujfalusi [Sat, 4 Jun 2011 05:16:41 +0000 (08:16 +0300)]
OMAP: New twl-common for common TWL configuration

Introduce a new file, which will be used to configure
common pmic (TWL) devices, regulators, and TWL audio.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Acked-by: Tony Lindgren <tony@atomide.com>
14 years agoMerge branch 'iommu-for-tony' of git://github.com/ohadbc/omap-iommu into devel-fixes
Tony Lindgren [Mon, 4 Jul 2011 14:40:05 +0000 (07:40 -0700)]
Merge branch 'iommu-for-tony' of git://github.com/ohadbc/omap-iommu into devel-fixes

14 years agoOMAP4: iommu: fix clock name
Ohad Ben-Cohen [Wed, 15 Jun 2011 13:02:50 +0000 (16:02 +0300)]
OMAP4: iommu: fix clock name

0e43327 "OMAP4: clock: Fix clock names and align with hwmod names"
renamed ducati_ick to ipu_fck.

Update OMAP4's iommu_device accordingly, so that omap_iommu_probe
doesn't break when calling clk_get.

Signed-off-by: Ohad Ben-Cohen <ohad@wizery.com>
14 years agoomap: iovmm: s/sg_dma_len(sg)/sg->length/
Ohad Ben-Cohen [Wed, 8 Jun 2011 06:06:11 +0000 (09:06 +0300)]
omap: iovmm: s/sg_dma_len(sg)/sg->length/

iovmm is erroneously using sg_dma_len with unmapped (DMA API-wise)
SG entries, and will break if CONFIG_NEED_SG_DMA_LENGTH is enabled.

Fix that by using sg->length instead.

Reported-by: Russell King <linux@arm.linux.org.uk>
Tested-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Ohad Ben-Cohen <ohad@wizery.com>
14 years agoomap: iommu: fix pte programming
Suman Anna [Wed, 4 May 2011 22:45:37 +0000 (17:45 -0500)]
omap: iommu: fix pte programming

Fix the pte programming to set the page attributes correctly
by replacing the bitwise check with an explicit values check.

Otherwise, 16MB entries will be erroneously programmed like
4KB entries, which is not what the hardware expects.

Signed-off-by: Suman Anna <s-anna@ti.com>
Acked-by: Hiroshi DOYU <Hiroshi.DOYU@nokia.com>
Signed-off-by: Ohad Ben-Cohen <ohad@wizery.com>
14 years agoarm: omap3: cm-t35: fix slow path warning
Igor Grinberg [Mon, 4 Jul 2011 11:09:31 +0000 (04:09 -0700)]
arm: omap3: cm-t35: fix slow path warning

Fix warning issued by gpio_set_value() call with TPS gpios.

Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
Signed-off-by: Tony Lindgren <tony@atomide.com>
14 years agoarm: omap3: cm-t35: minor comments fixes
Igor Grinberg [Mon, 4 Jul 2011 11:09:18 +0000 (04:09 -0700)]
arm: omap3: cm-t35: minor comments fixes

Update authors and copyright, remove Free S/W Foundation postal address,
fix offsets of NAND partitions in comments.

Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
Signed-off-by: Tony Lindgren <tony@atomide.com>
14 years agoomap: ZOOM: QUART: Request reset GPIO
Charulatha V [Mon, 4 Jul 2011 11:08:46 +0000 (04:08 -0700)]
omap: ZOOM: QUART: Request reset GPIO

Reset GPIO (OMAP_GPIO_152) for QUART in zoom2/zoom3 debug-board is
not requested at all. This would lead to problems if this GPIO is
wrongly requested. Hence request OMAP GPIO 152 for QUART RESET but
do not apply a reset pulse as it would reset QUART and
disturb the QUART settings.

Signed-off-by: Charulatha V <charu@ti.com>
Acked-by: Kevin Hilman <khilman@ti.com>
Cc: Santosh Shilimkar <santosh.shilimkar@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
14 years agoomap: Overo: remove duplicate call to overo_ads7846_init()
Daniel Mack [Mon, 4 Jul 2011 11:08:11 +0000 (04:08 -0700)]
omap: Overo: remove duplicate call to overo_ads7846_init()

overo_ads7846_init() is already called from overo_spi_init(), and
calling it twice is not only unnecessary but causes a warning as
"reg-fixed-voltage.1" is already added to the device tree.

Signed-off-by: Daniel Mack <zonque@gmail.com>
Tested-by: Kevin Hilman <khilman@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
14 years agoomap: HSMMC: Fix GPIO muxing
Silesh C V [Mon, 4 Jul 2011 11:10:00 +0000 (04:10 -0700)]
omap: HSMMC: Fix GPIO muxing

Use generic gpio call to check the validity of the gpio. Note that
this includes gpio 0 also which was missing before.

Signed-off-by: Silesh C V <silesh@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
14 years agoOMAP4: DMTIMER: enable autoidle mode
Ambresh K [Wed, 15 Jun 2011 21:12:35 +0000 (21:12 +0000)]
OMAP4: DMTIMER: enable autoidle mode

Currently autoidle is only enabled for OMAP2/3; by enabling autoidle,
the automatic L4 clock gating strategy is applied based on L4 activity,
otherwise L4 clock to module will be a free running.

Signed-off-by: Ambresh K <ambresh@ti.com>
[tony@atomide.com: updated for timer init changes]
Signed-off-by: Tony Lindgren <tony@atomide.com>
14 years agoarch/arm/mach-omap2/clock.c: add missing clk_put
Julia Lawall [Mon, 4 Jul 2011 11:08:10 +0000 (04:08 -0700)]
arch/arm/mach-omap2/clock.c: add missing clk_put

Add missing call to clk_put.

A simplified version of the semantic match that finds this problem is as
follows: (http://coccinelle.lip6.fr/)

// <smpl>
@r exists@
expression e1,e2;
statement S;
@@

e1 = clk_get@p1(...);
... when != e1 = e2
    when != clk_put(e1)
    when any
if (...) { ... when != clk_put(e1)
               when != if (...) { ... clk_put(e1) ... }
* return@p3 ...;
 } else S
// </smpl>

Signed-off-by: Julia Lawall <julia@diku.dk>
Acked-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
14 years agoomap: drop __initdata tags from static struct platform_device declarations
Janusz Krzysztofik [Mon, 4 Jul 2011 10:56:15 +0000 (03:56 -0700)]
omap: drop __initdata tags from static struct platform_device declarations

Pointers to statically declared platform device structures which are
registered with platform_device_register() are then used during run time
to access these structure members, for example from platform_uevent()
and much more. Therefore, these structures should never be placed inside
sections which are dropped after boot. Fix platform devices incorrectly
tagged with __initdata which happen to exist inside OMAP sub-trees.

This bug has exhibited itself on my ARM/OMAP1 based Amstrad Delta
videophone after commit 6d3163ce86dd386b4f7bda80241d7fea2bc0bb1d, "mm:
check if any page in a pageblock is reserved before marking it
MIGRATE_RESERVE", resulting in reading from several
/sys/device/platform/*/uevent files always ending up with segmentation
faults.

Signed-off-by: Janusz Krzysztofik <jkrzyszt@tis.icnet.pl>
Acked-by: Felipe Balbi <balbi@ti.com>
Cc: Varadarajan, Charulatha <charu@ti.com>
Cc: Jarkko Nikula <jhnikula@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
14 years agovesafb: fix memory leak
Daniel J Blueman [Mon, 27 Jun 2011 23:08:53 +0000 (23:08 +0000)]
vesafb: fix memory leak

When releasing framebuffer, free colourmap allocations.

Signed-off-by: Daniel J Blueman <daniel.blueman@gmail.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
14 years agoMerge branch 'pm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspe...
Linus Torvalds [Sun, 3 Jul 2011 20:33:16 +0000 (13:33 -0700)]
Merge branch 'pm-fixes' of git://git./linux/kernel/git/rafael/suspend-2.6

* 'pm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6:
  PM / Runtime: Update documentation regarding driver removal
  PM: Documentation: fix typo: pm_runtime_idle_sync() doesn't exist.

14 years ago[SCSI] isci: fix checkpatch errors
James Bottomley [Sun, 3 Jul 2011 19:14:45 +0000 (14:14 -0500)]
[SCSI] isci: fix checkpatch errors

Signed-off-by: James Bottomley <JBottomley@Parallels.com>
14 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/djbw/isci
James Bottomley [Sun, 3 Jul 2011 19:19:29 +0000 (14:19 -0500)]
Merge git://git./linux/kernel/git/djbw/isci

14 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6
Linus Torvalds [Sun, 3 Jul 2011 18:12:21 +0000 (11:12 -0700)]
Merge git://git./linux/kernel/git/sfrench/cifs-2.6

* git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6:
  cifs: set socket send and receive timeouts before attempting connect

14 years agoMerge branch 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelv...
Linus Torvalds [Sun, 3 Jul 2011 18:12:06 +0000 (11:12 -0700)]
Merge branch 'hwmon-for-linus' of git://git./linux/kernel/git/jdelvare/staging

* 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging:
  hwmon: (k10temp) Update documentation for Fam12h
  hwmon-vid: Fix typo in VIA CPU name
  hwmon: (f71882fg) Add support for the F71869A
  hwmon: Use <> rather than () around my e-mail address
  hwmon: (emc6w201) Properly handle all errors

14 years agohwmon: (k10temp) Update documentation for Fam12h
Clemens Ladisch [Sun, 3 Jul 2011 11:32:54 +0000 (13:32 +0200)]
hwmon: (k10temp) Update documentation for Fam12h

Add some CPU series IDs and links to the Fam12h datasheets.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Jean Delvare <khali@linux-fr.org>
14 years agohwmon-vid: Fix typo in VIA CPU name
Jean Delvare [Sun, 3 Jul 2011 11:32:54 +0000 (13:32 +0200)]
hwmon-vid: Fix typo in VIA CPU name

It's Nehemiah, not Nemiah.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
Acked-by: Guenter Roeck <guenter.roeck@ericsson.com>
14 years agohwmon: (f71882fg) Add support for the F71869A
Hans de Goede [Sun, 3 Jul 2011 11:32:53 +0000 (13:32 +0200)]
hwmon: (f71882fg) Add support for the F71869A

The F71869A is almost the same as the F71869F/E, except that it has
the normal number of temp and pwm zones for a F71882FG derived chip,
rather then the limited number of the F71869F/E.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Tested-by: Max Baldwin <archerseven@gmail.com>
Acked-by: Guenter Roeck <guenter.roeck@ericsson.com>
Signed-off-by: Jean Delvare <khali@linux-fr.org>
14 years agohwmon: Use <> rather than () around my e-mail address
Hans de Goede [Sun, 3 Jul 2011 11:32:53 +0000 (13:32 +0200)]
hwmon: Use <> rather than () around my e-mail address

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Jean Delvare <khali@linux-fr.org>
14 years agohwmon: (emc6w201) Properly handle all errors
Jean Delvare [Sun, 3 Jul 2011 11:32:53 +0000 (13:32 +0200)]
hwmon: (emc6w201) Properly handle all errors

Handle errors on 8-bit register reads and writes too. Also use likely
and unlikely to make the functions faster on success.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
Acked-by: Guenter Roeck <guenter.roeck@ericsson.com>
14 years agoisci: Device reset should request sas_phy_reset(phy, true)
Jeff Skirvin [Fri, 1 Jul 2011 20:03:44 +0000 (13:03 -0700)]
isci: Device reset should request sas_phy_reset(phy, true)

The hard_reset parameter passed to the LLDD in the direct-attached
phy control case allows the LLDD to filter link failure events
while the direct-attached device reset is executing.

Signed-off-by: Jeff Skirvin <jeffrey.d.skirvin@intel.com>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
14 years agoisci: pare back error messsages
Dan Williams [Fri, 1 Jul 2011 19:07:25 +0000 (12:07 -0700)]
isci: pare back error messsages

The messages emitted from task.c and some from request.c likely
duplicate (in a less undertandable way) what is reported by the
midlayer.

Signed-off-by: Dan Williams <dan.j.williams@intel.com>
14 years agoisci: cleanup silicon revision detection
Dan Williams [Fri, 1 Jul 2011 18:41:21 +0000 (11:41 -0700)]
isci: cleanup silicon revision detection

Perform checking per-pci device (even though all systems will only have
1 pci device in this generation), and delete support for silicon that
does not report a proper revision (i.e. A0).

Reported-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
14 years agoisci: merge scu_unsolicited_frame.h into unsolicited_frame_control.h
Dan Williams [Fri, 1 Jul 2011 18:15:12 +0000 (11:15 -0700)]
isci: merge scu_unsolicited_frame.h into unsolicited_frame_control.h

Does not need its own file.

Signed-off-by: Dan Williams <dan.j.williams@intel.com>
14 years agoisci: merge sata.[ch] into request.c
Dan Williams [Fri, 1 Jul 2011 17:52:55 +0000 (10:52 -0700)]
isci: merge sata.[ch] into request.c

Undo some needless separation.

Signed-off-by: Dan Williams <dan.j.williams@intel.com>
14 years agoisci: kill 'get/set' macros
Dan Williams [Fri, 1 Jul 2011 09:25:15 +0000 (02:25 -0700)]
isci: kill 'get/set' macros

Most of these simple dereference macros are longer than their open coded
equivalent.  Deleting enum sci_controller_mode is thrown in for good
measure.

Reported-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
14 years agoisci: retire scic_sds_ and scic_ prefixes
Dan Williams [Fri, 1 Jul 2011 02:14:33 +0000 (19:14 -0700)]
isci: retire scic_sds_ and scic_ prefixes

The distinction between scic_sds_ scic_ and sci_ are no longer relevant
so just unify the prefixes on sci_.  The distinction between isci_ and
sci_ is historically significant, and useful for comparing the old
'core' to the current Linux driver. 'sci_' represents the former core as
well as the routines that are closer to the hardware and protocol than
their 'isci_' brethren. sci == sas controller interface.

Also unwind the 'sds1' out of the parameter structs.

Reported-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
14 years agoisci: unify isci_host and scic_sds_controller
Dan Williams [Fri, 1 Jul 2011 00:38:32 +0000 (17:38 -0700)]
isci: unify isci_host and scic_sds_controller

Remove the distinction between these two implementations and unify on
isci_host (local instances named ihost).  Hmmm, we had two
'oem_parameters' instances, one was unused... nice.

Reported-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
14 years agoisci: unify isci_remote_device and scic_sds_remote_device
Dan Williams [Thu, 30 Jun 2011 23:31:37 +0000 (16:31 -0700)]
isci: unify isci_remote_device and scic_sds_remote_device

Remove the distinction between these two implementations and unify on
isci_remote_device (local instances named idev).

Reported-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
14 years agoisci: unify isci_port and scic_sds_port
Dan Williams [Wed, 29 Jun 2011 20:09:25 +0000 (13:09 -0700)]
isci: unify isci_port and scic_sds_port

Remove the distinction between these two implementations and unify on
isci_port (local instances named iport).  The duplicate '->owning_port' and
'->isci_port' in both isci_phy and isci_remote_device will be fixed in a later
patch... this is just the straightforward rename/unification.

Reported-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
14 years agoisci: fix scic_sds_remote_device_terminate_requests
Dan Williams [Wed, 29 Jun 2011 16:45:48 +0000 (09:45 -0700)]
isci: fix scic_sds_remote_device_terminate_requests

Commit 0815632 "isci: unify remote_device stop_handlers" introduced the
possibility that not all requests get terminated if we reach the
request_count.  Now that we properly reference count devices we don't
need this self-defense and can do the straightforward scan of all active
requests.

Reported-by: Jeff Skirvin <jeffrey.d.skirvin@intel.com>
Acked-by: Jeff Skirvin <jeffrey.d.skirvin@intel.com>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
14 years agoisci: unify isci_phy and scic_sds_phy
Dan Williams [Tue, 28 Jun 2011 22:05:53 +0000 (15:05 -0700)]
isci: unify isci_phy and scic_sds_phy

They are one in the same object so remove the distinction.  The near
duplicate fields (owning_port, and isci_port) will be cleaned up
after the scic_sds_port isci_port unification.

Reported-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
14 years agoisci: unify isci_request and scic_sds_request
Dan Williams [Mon, 27 Jun 2011 21:57:03 +0000 (14:57 -0700)]
isci: unify isci_request and scic_sds_request

They are one in the same object so remove the distinction.  The near
duplicate fields (owning_controller, and isci_host) will be cleaned up
after the scic_sds_contoller isci_host unification.

Reported-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
14 years agoisci: rename / clean up scic_sds_stp_request
Dan Williams [Mon, 27 Jun 2011 18:56:41 +0000 (11:56 -0700)]
isci: rename / clean up scic_sds_stp_request

* Rename scic_sds_stp_request to isci_stp_request
* Remove the unused fields and union indirection

Reported-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
14 years agoisci: preallocate requests
Dan Williams [Fri, 17 Jun 2011 21:18:39 +0000 (14:18 -0700)]
isci: preallocate requests

the dma_pool interface is optimized for object_size << page_size which
is not the case with isci_request objects and the dma_pool routines show
up in the top of the profile.

The old io_request_table which tracked whether tci slots were in-flight
or not is replaced with an IREQ_ACTIVE flag per request.

Signed-off-by: Dan Williams <dan.j.williams@intel.com>
14 years agoisci: combine request flags
Dan Williams [Thu, 23 Jun 2011 21:33:48 +0000 (14:33 -0700)]
isci: combine request flags

Combine three bools into one unsigned long 'flags'.  Doesn't increase the
request size due to packing. (to do: optimize the structure layout).

Signed-off-by: Dan Williams <dan.j.williams@intel.com>
14 years agoisci: unify can_queue tracking on the tci_pool, uplevel tag assignment
Dan Williams [Tue, 28 Jun 2011 20:47:09 +0000 (13:47 -0700)]
isci: unify can_queue tracking on the tci_pool, uplevel tag assignment

The tci_pool tracks our outstanding command slots which are also the 'index'
portion of our tags.  Grabbing the tag early in ->lldd_execute_task let's us
drop the isci_host_can_queue() and ->was_tag_assigned_by_user infrastructure.
->was_tag_assigned_by_user required the task context to be duplicated in
request-local buffer.  With the tci established early we can build the
task_context directly into its final location and skip a memcpy.

With the task context buffer at a known address at request construction we
have the opportunity/obligation to also fix sgl handling.  This rework feels
like it belongs in another patch but the sgl handling and task_context are too
intertwined.
1/ fix the 'ab' pair embedded in the task context to point to the 'cd' pair in
   the task context (previously we were prematurely linking to the staging
   buffer).
2/ fix the broken iteration of pio sgls that assumes all sgls are relative to
   the request, and does a dangerous looking reverse lookup of physical
   address to virtual address.

Signed-off-by: Dan Williams <dan.j.williams@intel.com>
14 years agoisci: Terminate dev requests on FIS err bit rx in NCQ
Jeff Skirvin [Fri, 24 Jun 2011 00:09:02 +0000 (17:09 -0700)]
isci: Terminate dev requests on FIS err bit rx in NCQ

When the remote device transitions to a not-ready state because of
an NCQ error condition, all outstanding requests to that device
are terminated and completed to libsas on the normal path.  The
device then waits for a READ LOG EXT command to issue on the task
management path.

Signed-off-by: Jeff Skirvin <jeffrey.d.skirvin@intel.com>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
14 years agoisci: fix frame received locking
Dan Williams [Fri, 24 Jun 2011 06:44:52 +0000 (23:44 -0700)]
isci: fix frame received locking

Updates to the frame_rcvd before need to be atomic with respect to when
they are evaluated by libsas.

Signed-off-by: Dan Williams <dan.j.williams@intel.com>
14 years agoisci: possible buffer overflow in isci_parse_oem_parameters fixed
Maciej Patelczyk [Tue, 21 Jun 2011 22:03:13 +0000 (22:03 +0000)]
isci: possible buffer overflow in isci_parse_oem_parameters fixed

scu_index is a parameter of isci_parse_eom_parameters and is an index
in controller table. There is a check: scu_index > SCI_MAX_CONTROLLERS
which is insufficient and should be: scu_index >= SCI_MAX_CONTROLLERS.
scu_index is used as an index in the table which size is
SCI_MAX_CONTROLLERS.

Signed-off-by: Maciej Patelczyk <maciej.patelczyk@intel.com>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
14 years agoisci: fix isci_task_execute_tmf completion
Dan Williams [Tue, 21 Jun 2011 23:23:03 +0000 (16:23 -0700)]
isci: fix isci_task_execute_tmf completion

1/ fix the timeout for wait_for_completion_timeout
2/ In the tmf timeout case we need to wait for our termination callback
3/ Once the request is successfully started it will be freed according to the
   normal lifetime for requests.

Signed-off-by: Dan Williams <dan.j.williams@intel.com>
14 years agoisci: fix support for arbitrarily large smp requests
Dan Williams [Thu, 16 Jun 2011 23:59:56 +0000 (16:59 -0700)]
isci: fix support for arbitrarily large smp requests

Instead of duplicating the smp request buffer reuse the one provided by
libsas.  This future proofs the driver to support arbitrarily large smp
requests, and shrinks the request structure size by ~700 bytes.

Signed-off-by: Dan Williams <dan.j.williams@intel.com>
14 years agoisci: fix dma_unmap_sg usage
Dan Williams [Fri, 17 Jun 2011 17:40:43 +0000 (10:40 -0700)]
isci: fix dma_unmap_sg usage

One bug and a cleanup:
1/ Fix cases where we were unmapping invalid addresses (smp requests were
   being unmapped)

[  604.662770] ------------[ cut here ]------------
[  604.668026] WARNING: at lib/dma-debug.c:800 check_unmap+0x418/0x740()
[  604.675315] Hardware name: SandyBridge Platform
[  604.680465] isci 0000:03:00.0: DMA-API: device driver tries to free an invalid DMA memory address

2/ The unmap routine is too large to be an inline function, and
   isci_request_io_request_get_next_sge is unused.

Signed-off-by: Dan Williams <dan.j.williams@intel.com>