Commit Graph

232308 Commits

Author SHA1 Message Date
Stepan Moskovchenko
2e8c8ba983 msm: iommu: Use ASID tagging instead of VMID tagging
Use ASID tags in the TLB instead of VMID tags in
preparation for changes to the secure environment.

Signed-off-by: Stepan Moskovchenko <stepanm@codeaurora.org>
Signed-off-by: David Brown <davidb@codeaurora.org>
2011-03-08 14:40:58 -08:00
Stepan Moskovchenko
b61401adf3 msm: iommu: Rework clock logic and add IOMMU bus clock control
Clean up the clock control code in the probe calls, and add
support for controlling the clock for the IOMMU bus
interconnect. With the (proper) clock driver in place, the
clock control logic in the probe function can be made much
cleaner since it does not have to deal with the placeholder
driver anymore.

Signed-off-by: Stepan Moskovchenko <stepanm@codeaurora.org>
Reviewed-by: Trilok Soni <tsoni@codeaurora.org>
Signed-off-by: David Brown <davidb@codeaurora.org>
2011-03-08 14:40:58 -08:00
Stepan Moskovchenko
41f3f5138a msm: iommu: Clock control for the IOMMU driver
Add clock control to the IOMMU driver. The IOMMU bus clock
(and potentially an AXI clock) need to be on to gain access
to IOMMU registers. Actively control these clocks when
needed instead of leaving them on.

Signed-off-by: Stepan Moskovchenko <stepanm@codeaurora.org>
Signed-off-by: David Brown <davidb@codeaurora.org>
2011-03-08 14:40:58 -08:00
Dima Zavin
8bec99b586 msm: mdp: Set the correct pack pattern for XRGB/ARGB
Signed-off-by: Dima Zavin <dima@android.com>
Signed-off-by: Carl Vanderlip <carlv@codeaurora.org>
Signed-off-by: David Brown <davidb@codeaurora.org>
2011-03-08 11:54:46 -08:00
Arve Hjønnevåg
5d55779a5d msm_fb: Fix framebuffer console
Don't allow non panning updates to bypass the wait for the panel to turn on.

Signed-off-by: Carl Vanderlip <carlv@codeaurora.org>
Signed-off-by: Arve Hjønnevåg <arve@android.com>
Signed-off-by: David Brown <davidb@codeaurora.org>
2011-03-08 11:54:23 -08:00
Dima Zavin
a8d380f30a msm: mdp: Add support for RGBX 8888 image format.
Signed-off-by: Dima Zavin <dima@android.com>
Signed-off-by: Carl Vanderlip <carlv@codeaurora.org>
Signed-off-by: David Brown <davidb@codeaurora.org>
2011-03-02 13:43:15 -08:00
Dima Zavin
b0a679326c video: msmfb: Put the partial update magic value into the fix_screen struct.
This can then be tested by userspace to see if the capability is supported.
Userspace cannot rely on that value being left in var_screen, since userspace
itself can change it.

Signed-off-by: Dima Zavin <dima@android.com>
Signed-off-by: Carl Vanderlip <carlv@codeaurora.org>
Signed-off-by: David Brown <davidb@codeaurora.org>
2011-03-02 13:43:15 -08:00
Stephen Boyd
bd32344a6b msm: clock: Migrate to clkdev
Migrating to clkdev has several advantages:

 * Less code in mach-msm/clock.c

 * A more robust clk_get() implementation

 * clk_add_alias() support

 * clk_get_sys() support

In general, this will help board authors setup clock aliases and
break the dependency on device pointers in the clock tables.

Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
Signed-off-by: David Brown <davidb@codeaurora.org>
2011-02-28 12:40:17 -08:00
Stephen Boyd
2a52220c89 msm: clock: Remove references to clk_ops_pcom
Not all devices use proc_comm and determining if a clock is local
vs. remote is fragile when done by comparing clk_ops pointers.
Instead, implement an is_local() function for all clk_ops to
determine if the clock is local. Doing this allows us to remove
the last references to clk_ops_pcom from clock.c and compile it
for targets with CONFIG_MSM_PROC_COMM=n.

We don't need to set the clk_ops at runtime until 7x30 local
clock detection comes in. Right now it's just complicating things
so just set the ops pointer statically.

Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
Signed-off-by: David Brown <davidb@codeaurora.org>
2011-02-28 12:40:05 -08:00
Stephen Boyd
0693a317b6 msm: headsmp.S: Fix section mismatch
WARNING: vmlinux.o(.cpuinit.text+0xc80): Section mismatch in
reference from the function boot_secondary() to the variable
.init.text:msm_secondary_startup
The function __cpuinit boot_secondary() references a variable
__init msm_secondary_startup.  If msm_secondary_startup is only
used by boot_secondary then annotate msm_secondary_startup with
a matching annotation.

Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
Signed-off-by: David Brown <davidb@codeaurora.org>
2011-02-28 12:40:05 -08:00
David Brown
3162aa2f1b msm: Use explicit GPLv2 licenses
Replace a BSD-style license in Code Aurora Forum authored files with
an explicit GPLv2.

Signed-off-by: David Brown <davidb@codeaurora.org>
2011-02-28 12:40:05 -08:00
David Brown
7358cf2073 Merge branch 'msm-core' into for-next
* msm-core:
  msm: iommu: Enable IOMMU support for MSM8960
  msm: iommu: Generalize platform data for multiple targets
  msm: iommu: Create a Kconfig item for the IOMMU driver
2011-02-14 13:43:54 -08:00
Stepan Moskovchenko
6499f0a8b3 msm: iommu: Enable IOMMU support for MSM8960
Allow IOMMU to be selected for MSM8960 now that the
platform data has been generalized.

Signed-off-by: Stepan Moskovchenko <stepanm@codeaurora.org>
Signed-off-by: David Brown <davidb@codeaurora.org>
2011-02-14 13:42:49 -08:00
Stepan Moskovchenko
69e2136375 msm: iommu: Generalize platform data for multiple targets
Make the IOMMU platform data target-independent in
preparation for adding MSM8960 IOMMU support. The IOMMU
configuration on MSM8x60 and MSM8960 is identical and the
same platform data can be used for both.

Signed-off-by: Stepan Moskovchenko <stepanm@codeaurora.org>
Signed-off-by: David Brown <davidb@codeaurora.org>
2011-02-14 13:42:48 -08:00
Stepan Moskovchenko
24f6173c44 msm: iommu: Create a Kconfig item for the IOMMU driver
Break the IOMMU driver out as a Kconfig item. Initially it
was decided to always build this in for 8x60, but this
driver is not strictly necessary and should be optionally
selectable.

Signed-off-by: Stepan Moskovchenko <stepanm@codeaurora.org>
Signed-off-by: David Brown <davidb@codeaurora.org>
2011-02-14 13:42:48 -08:00
David Brown
2ff9870c4c Merge branch 'msm-core' into for-next
* msm-core:
  msm: serial: Add MSM8960 serial support
2011-01-28 12:27:59 -08:00
Stepan Moskovchenko
d056fca323 msm: serial: Add MSM8960 serial support
Add the device definitions and platform data to support
the console serial port on MSM8960 Simulator and RUMI3
targets.

Signed-off-by: Stepan Moskovchenko <stepanm@codeaurora.org>
Signed-off-by: David Brown <davidb@codeaurora.org>
2011-01-28 12:27:21 -08:00
David Brown
ecca8194c1 Merge branch 'msm-core' into for-next
* msm-core:
  msm: Clean up useless ifdefs
  msm: clock: Add support for more proc_comm clocks
  msm: clock: Invert debugfs directory layout
  msm: clock: Move debugfs code from clock.c to clock-debug.c
  msm: clock: Remove 7x30 and pcom includes from clock.h
  msm: clock: Remove unused code and definitions
  msm: Warning fix in trout gpio board file
  msm: Remove broken register definition from trout
2011-01-28 11:31:53 -08:00
Stepan Moskovchenko
07a3cc4814 msm: Clean up useless ifdefs
Remove ifdefs that do nothing, either from having the code
between them previously removed, or from having been
accidentally added to the wrong file.

Signed-off-by: Stepan Moskovchenko <stepanm@codeaurora.org>
Signed-off-by: David Brown <davidb@codeaurora.org>
2011-01-28 11:28:23 -08:00
Stephen Boyd
f689ac9877 msm: clock: Add support for more proc_comm clocks
Add support for the ce, codec_ssbi, uart clocks, and i2c clocks.

Reviewed-by: Saravana Kannan <skannan@codeaurora.org>
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
Signed-off-by: David Brown <davidb@codeaurora.org>
2011-01-28 11:20:50 -08:00
Stephen Boyd
6e6d9b5bec msm: clock: Invert debugfs directory layout
There are currently 3 separate directories for clock debugging in
debugfs: clk_enable, clk_rate, and clk_local. Each of these
directories contains a list of clocks. This is rather annoying
when you are focusing on one clock and want to enable/disable it
and then check its rate. You either have to cd to the other
directory or cat ../clk_rate/<clk>.

Invert the layout so that there is one clock directory containing
a directory for each clock. Inside each respective clock
directory place an enable, rate, and is_local file relating to
the clk_enable, clk_disable, and clk_local directories that exist
today.

Reviewed-by: Saravana Kannan <skannan@codeaurora.org>
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
Signed-off-by: David Brown <davidb@codeaurora.org>
2011-01-28 11:20:49 -08:00
Matt Wagantall
d64560fe3e msm: clock: Move debugfs code from clock.c to clock-debug.c
The clock debugfs code is large enough, and easy enough to separate,
that it deserves its own file which is compiled only when
CONFIG_DEBUG_FS is enabled.

Also, cleanup header file #includes that are no longer required.

Reviewed-by: Saravana Kannan <skannan@codeaurora.org>
Signed-off-by: Matt Wagantall <mattw@codeaurora.org>
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
Signed-off-by: David Brown <davidb@codeaurora.org>
2011-01-28 11:20:48 -08:00
Stephen Boyd
ce1c80fbaa msm: clock: Remove 7x30 and pcom includes from clock.h
clock.h includes clock-pcom.h and clock-7x30.h when it really
doesn't need to. Remove the includes and fixup breakages.

Reviewed-By: Saravana Kannan <skannan@codeaurora.org>
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
Signed-off-by: David Brown <davidb@codeaurora.org>
2011-01-28 11:20:47 -08:00
Stephen Boyd
437f629d4e msm: clock: Remove unused code and definitions
This code is dead or otherwise useless so just remove it.

Reviewed-by: Saravana Kannan <skannan@codeaurora.org>
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
Signed-off-by: David Brown <davidb@codeaurora.org>
2011-01-28 11:20:46 -08:00
David Brown
5c548add98 msm: Warning fix in trout gpio board file
arch/arm/mach-msm/board-trout-gpio.c: In function 'trout_gpio_to_irq':
arch/arm/mach-msm/board-trout-gpio.c:77: error: unused variable 'msm_gpio'

Signed-off-by: David Brown <davidb@codeaurora.org>
2011-01-28 11:20:39 -08:00
David Brown
c8e4e7b126 msm: Remove broken register definition from trout
Missed a register change with the clock cleanup on the MSM7x01 targets.

Signed-off-by: David Brown <davidb@codeaurora.org>
2011-01-28 11:20:25 -08:00
David Brown
851492c658 Merge branch 'msm-8960' into msm-core
* msm-8960:
  msm: Support for the MSM8960 RUMI3 target
  msm: Support for the MSM8960 Simulator target
  msm: Makefile cleanup
  msm: timer: Timer support for MSM8960
  msm: Add MSM 8960 cpu_is check
  msm: irqs-8960: Interrupt map for MSM8960
  msm: Physical offset for MSM8960
  msm: io: I/O register definitions for MSM8960
  msm: Generalize QGIC registers
  msm: Generalize timer register mappings
  msm: Add CPU queries
2011-01-26 13:29:22 -08:00
David Brown
d1f4cec78e Merge branch 'msm-fb' into for-next
* msm-fb:
  video/msm_fb: use system_wq instead of dedicated workqueues
2011-01-25 15:21:49 -08:00
Tejun Heo
48b63b6908 video/msm_fb: use system_wq instead of dedicated workqueues
With cmwq, there's no reason to use separate workqueues.  Drop
msmfb_info->resume_workqueue and use system_wq instead.

Signed-off-by: Tejun Heo <tj@kernel.org>
Cc: Stanislaw Gruszka <stf_xl@wp.pl>
Cc: linux-usb@vger.kernel.org
Signed-off-by: David Brown <davidb@codeaurora.org>
2011-01-25 15:14:28 -08:00
David Brown
14847fdf35 Merge branch 'msm-sdcc' into for-next
* msm-sdcc:
  msm: 8x50: Add initial support for SDCC
  mmc: msm_sdcc: Add gpio handling function to driver
  drivers: mmc: msm: remove clock disable in probe
  mmc: msm: fix dma usage not to use internal APIs
2011-01-24 15:42:46 -08:00
David Brown
75b0d32d5c Merge branch 'msm-8960' into for-next
* msm-8960:
  msm: Support for the MSM8960 RUMI3 target
  msm: Support for the MSM8960 Simulator target
  msm: Makefile cleanup
  msm: timer: Timer support for MSM8960
  msm: Add MSM 8960 cpu_is check
  msm: irqs-8960: Interrupt map for MSM8960
  msm: Physical offset for MSM8960
  msm: io: I/O register definitions for MSM8960
  msm: Generalize QGIC registers
  msm: Generalize timer register mappings
  msm: Add CPU queries
2011-01-24 11:16:51 -08:00
David Brown
c243e52843 Merge branch 'msm-uart' into for-next
* msm-uart:
  serial: msm: Add support for UARTDM cores
  msm: Add name field to UART resources
2011-01-24 11:16:43 -08:00
Dima Zavin
ba5499ebfb ARM: msm: 7x30: don't force a gpiomux table for the whole arch
This is completely board specific and therefore must be provided
on a per-board basis.

Signed-off-by: Dima Zavin <dima@android.com>
Signed-off-by: David Brown <davidb@codeaurora.org>
2011-01-24 11:05:01 -08:00
Linus Torvalds
1bae4ce27c Linux 2.6.38-rc2 2011-01-21 19:01:34 -08:00
Sahitya Tummala
8b4d95fc76 msm: 8x50: Add initial support for SDCC
Signed-off-by: Sahitya Tummala <stummala@codeaurora.org>
2011-01-21 16:58:02 -08:00
Sahitya Tummala
7a89248a47 mmc: msm_sdcc: Add gpio handling function to driver
Configure SDCC GPIOs when the host is powered up or powered off.

Signed-off-by: Sahitya Tummala <stummala@codeaurora.org>
2011-01-21 16:58:00 -08:00
Daniel Walker
727a99a576 drivers: mmc: msm: remove clock disable in probe
The probe function adds the MMC host which can start accepting request
immediately. There is an assumption here that no requests happen
immediatly, but it's not always the case. This assumption can causes
a BUG() when the clocks are disabled. The fix is to just remove the
clock disable in the probe function.

Signed-off-by: Daniel Walker <dwalker@codeaurora.org>
2011-01-21 16:57:55 -08:00
Daniel Walker
208028de5f mmc: msm: fix dma usage not to use internal APIs
Remove parts of this driver which use internal API calls. This
replaces the calls as suggested by Russell King.

Cc: Russell King - ARM Linux <linux@arm.linux.org.uk>
Signed-off-by: Daniel Walker <dwalker@codeaurora.org>
2011-01-21 16:57:52 -08:00
Linus Torvalds
13a3cec844 Merge branch 'media_fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6
* 'media_fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6: (101 commits)
  [media] staging/lirc: fix mem leaks and ptr err usage
  [media] hdpvr: reduce latency of i2c read/write w/recycled buffer
  [media] hdpvr: enable IR part
  [media] rc/mceusb: timeout should be in ns, not us
  [media] v4l2-device: fix 'use-after-freed' oops
  [media] v4l2-dev: don't memset video_device.dev
  [media] zoran: use video_device_alloc instead of kmalloc
  [media] w9966: zero device state after a detach
  [media] v4l: Fix a use-before-set in the control framework
  [media] v4l: Include linux/videodev2.h in media/v4l2-ctrls.h
  [media] DocBook/v4l: update V4L2 revision and update copyright years
  [media] DocBook/v4l: fix validation error in dev-rds.xml
  [media] v4l2-ctrls: queryctrl shouldn't attempt to replace V4L2_CID_PRIVATE_BASE IDs
  [media] v4l2-ctrls: fix missing 'read-only' check
  [media] pvrusb2: Provide more information about IR units to lirc_zilog and ir-kbd-i2c
  [media] ir-kbd-i2c: Add back defaults setting for Zilog Z8's at addr 0x71
  [media] lirc_zilog: Update TODO.lirc_zilog
  [media] lirc_zilog: Add Andy Walls to copyright notice and authors list
  [media] lirc_zilog: Remove useless struct i2c_driver.command function
  [media] lirc_zilog: Remove unneeded tests for existence of the IR Tx function
  ...
2011-01-21 16:50:31 -08:00
Stepan Moskovchenko
ec8f29e70e serial: msm: Add support for UARTDM cores
Add support for the next-generation version of the MSM UART
to the msm_serial driver. This version of the hardware is
similar to the original version, but has some DMA
capabilities that are used in PIO mode in this driver.

Signed-off-by: Stepan Moskovchenko <stepanm@codeaurora.org>
Signed-off-by: David Brown <davidb@codeaurora.org>
2011-01-21 15:52:55 -08:00
Stepan Moskovchenko
d41cb8c956 msm: Add name field to UART resources
Add a name field to the I/O resources for the UARTs on MSM
targets in preparation for updates to the msm_serial
driver. The driver assumed there is one I/O resource per
UART, which is not the case on all targets.

Signed-off-by: Stepan Moskovchenko <stepanm@codeaurora.org>
Signed-off-by: David Brown <davidb@codeaurora.org>
2011-01-21 15:52:20 -08:00
Stepan Moskovchenko
50ede4e39a msm: Support for the MSM8960 RUMI3 target
Add the machine record, init code, and build support for
the MSM8960 RUMI3.

Signed-off-by: Stepan Moskovchenko <stepanm@codeaurora.org>
Signed-off-by: David Brown <davidb@codeaurora.org>
2011-01-21 15:27:56 -08:00
Stepan Moskovchenko
f441ca2d40 msm: Support for the MSM8960 Simulator target
Add the board file, Kconfig options, and Makefile options
needed to build for the MSM8960 Simulator target.

Signed-off-by: Stepan Moskovchenko <stepanm@codeaurora.org>
Signed-off-by: David Brown <davidb@codeaurora.org>
2011-01-21 15:27:55 -08:00
Stepan Moskovchenko
decd4a9d36 msm: Makefile cleanup
Clean up some of the conditionals in the Makefile in
preparation for adding build support for MSM8960.

Signed-off-by: Stepan Moskovchenko <stepanm@codeaurora.org>
Signed-off-by: David Brown <davidb@codeaurora.org>
2011-01-21 15:27:54 -08:00
Stepan Moskovchenko
a81c8c38ed msm: timer: Timer support for MSM8960
Modify the macros in the MSM timer driver to support the
MSM8960 chip.

Signed-off-by: Stepan Moskovchenko <stepanm@codeaurora.org>
Signed-off-by: David Brown <davidb@codeaurora.org>
2011-01-21 15:27:54 -08:00
David Brown
b83ce5812a msm: Add MSM 8960 cpu_is check
Signed-off-by: David Brown <davidb@codeaurora.org>
2011-01-21 15:27:53 -08:00
Stepan Moskovchenko
a6481cd3d9 msm: irqs-8960: Interrupt map for MSM8960
Add the interrupt map for the Qualcomm MSM8960 chip. This
chip has an interrupt map that is different from previous
targets.

Signed-off-by: Stepan Moskovchenko <stepanm@codeaurora.org>
Signed-off-by: David Brown <davidb@codeaurora.org>
2011-01-21 15:27:52 -08:00
Stepan Moskovchenko
a2ad9421ce msm: Physical offset for MSM8960
Add the physical memory offset value for the Qualcomm
MSM8960 chip.

Signed-off-by: Stepan Moskovchenko <stepanm@codeaurora.org>
Signed-off-by: David Brown <davidb@codeaurora.org>
2011-01-21 15:27:52 -08:00
Stepan Moskovchenko
5d0afd74b7 msm: io: I/O register definitions for MSM8960
Add the register address definitions for the basic hardware
blocks on the Qualcomm MSM8960 chip.

Signed-off-by: Stepan Moskovchenko <stepanm@codeaurora.org>
Signed-off-by: David Brown <davidb@codeaurora.org>
2011-01-21 15:27:51 -08:00
David Brown
8bb0644480 msm: Generalize QGIC registers
The QGIC registers are mapped to the same virtual addresses across
targets, only the physical address changes.  Move the BASE address out
of target-specific files, and add a SOC name to the base addresses.

Signed-off-by: David Brown <davidb@codeaurora.org>
2011-01-21 15:27:50 -08:00