Commit Graph

45265 Commits

Author SHA1 Message Date
Daniel Walker
74df1d07ee arm: msm: smd: msm7x30 a2m clean up
This moves the msm_a2m_int() function into the header, and
does a small macro clean up to be more inline with Linux
norms. No functional changes.

Signed-off-by: Daniel Walker <dwalker@codeaurora.org>
2010-05-12 09:19:04 -07:00
Daniel Walker
1a86fbc167 arm: msm: smd: convert unsigned addr to unsigned long
"unsigned" translates to "unsigned int", but this value holds an
address. We always want to use unsigned long for addresses since
it will change size to fit the machine.

This just convert the one address holder to unsigned long.

Signed-off-by: Daniel Walker <dwalker@codeaurora.org>
2010-05-12 09:19:03 -07:00
Daniel Walker
bf83de4037 arm: msm: smd: use either package v3 or v4 not both
This modifies SMD to use either the package v3 or package v4,
but not both. The current code tries to allocate as v4 on all
system which can produce a scary looking error message on boot up,

smem_find(16, 40): wrong size 16424
smd_alloc_channel() cid=02 size=08192 'SMD_RPCCALL'

With this error the code then falls back on the package v3 allocation
method. This method is inefficient because it causes a slow down
on some systems even when the allocation method can be determined
at compile time. It also causes a kernel size increase that effects
all system and is not needed.

This change corrects the allocation to use one method or the other
and not both.

Signed-off-by: Daniel Walker <c_dwalke@quicinc.com>
2010-05-12 09:18:32 -07:00
Daniel Walker
79848a2a73 arm: msm: smd: checkpatch clean up of smd/proc_comm
This cleans up coding style. There are no run time changes.

Signed-off-by: Daniel Walker <dwalker@codeaurora.org>
2010-05-12 09:15:39 -07:00
Dima Zavin
93873bcbd1 [ARM] msm: smd: Force the half_channel struct aligmnent to 4
Forcing the alignment prevents gcc from generating byte reads for word
member variables. Lack of this caused issues when the app processor
modified struct members and the modem saw a partial word write.

Signed-off-by: Dima Zavin <dima@android.com>
Signed-off-by: Daniel Walker <dwalker@codeaurora.org>
2010-05-12 09:15:37 -07:00
Dima Zavin
b42dc44afc arm: msm: correctly signal the apps-to-modem irq in smd/proc_comm
Signed-off-by: Dima Zavin <dima@android.com>
Signed-off-by: Daniel Walker <dwalker@codeaurora.org>
2010-05-12 09:15:35 -07:00
Brian Swetland
636eb9cbae msm: smd: provide atomic channel writes
Some smd clients may write from multiple threads, in which case it's
not safe to call smd_write without holding a lock.  smd_write_atomic()
provides the same functionality as smd_write() but obtains the smd
lock first.

Signed-off-by: Brian Swetland <swetland@google.com>
Signed-off-by: Daniel Walker <dwalker@codeaurora.org>
2010-05-12 09:15:31 -07:00
Iliyan Malchev
1207babdcd [ARM] msm: add /proc/last_radio_log when supported by the modem.
Signed-off-by: Iliyan Malchev <malchev@google.com>
Signed-off-by: Daniel Walker <dwalker@codeaurora.org>
2010-05-12 09:15:24 -07:00
Brian Swetland
34f719b0c2 msm/qsd: smd: avoid race condition in smd channel allocation
Don't mark a channel as allocated if we failed to allocate it
(perhaps the modem updated one table but not the other, etc)

Signed-off-by: Brian Swetland <swetland@google.com>
Signed-off-by: Daniel Walker <dwalker@codeaurora.org>
2010-05-12 09:15:21 -07:00
Haley Teng
7632fba051 [ARM] msm: smd: Update the correct fTAIL pointer after reading from fifo
When we read data out of the sender's fifo, we need to advance the sender's
tail pointer, not the receiver's.

Signed-off-by: Haley Teng <Haley_Teng@htc.com>
Acked-by: Dima Zavin <dima@android.com>
Signed-off-by: Daniel Walker <dwalker@codeaurora.org>
2010-05-12 09:15:16 -07:00
Brian Swetland
37521a3181 [ARM] msm: smd: add support for DSP SMD channels
- QSD8250 has a DSP that speaks SMD, in addition to the modem
- handle a separate list of modem vs dsp channels
- install dsp smd irq handler as necessary

Signed-off-by: Brian Swetland <swetland@google.com>
Signed-off-by: Daniel Walker <dwalker@codeaurora.org>
2010-05-12 09:15:11 -07:00
Brian Swetland
03e00cd350 [ARM] msm: cleanup smd, separate debugfs support
- pull debug code into smd_debug.c
- move necessary structures and defines into smd_private.h
- fix some comment formatting, etc

Signed-off-by: Brian Swetland <swetland@google.com>
Signed-off-by: Daniel Walker <dwalker@codeaurora.org>
2010-05-12 09:15:09 -07:00
Arve Hjønnevåg
ec9d3d14ff [ARM] msm: Add 8k power collapse support to smd
Signed-off-by: Arve Hjønnevåg <arve@android.com>
Signed-off-by: Daniel Walker <dwalker@codeaurora.org>
2010-05-12 09:15:07 -07:00
Arve Hjønnevåg
283794100d [ARM] msm: Add item argument to smsm_change_state and smsm_get_state
The new protocol require writing to two state fields, and reading
several fields.

Signed-off-by: Arve Hjønnevåg <arve@android.com>
Signed-off-by: Daniel Walker <dwalker@codeaurora.org>
2010-05-12 09:15:03 -07:00
Brian Swetland
5b0f5a3f60 msm: smd: initial support for smd v2
- support both v2 and v1 style smd channels
- support both v2 and v1 smsm shared state
- update smsm state defines and smem item enum
- prep work for dealing with smd to qdsp6
- simplify some smem access to minimize use of smem_alloc() at runtime

Signed-off-by: Brian Swetland <swetland@google.com>
Signed-off-by: Daniel Walker <dwalker@codeaurora.org>
2010-05-12 09:15:01 -07:00
Brian Swetland
4d4fb2660d [ARM] msm: smd: don't crash if the smd channel table doesn't exist
Signed-off-by: Brian Swetland <swetland@google.com>
Signed-off-by: Daniel Walker <dwalker@codeaurora.org>
2010-05-12 09:14:59 -07:00
Brian Swetland
2eb44eb9c8 [ARM] msm: shared memory interface for baseband processor ipc
This code provides the low level interface to the "shared memory
state machine" (smsm), and the virtual serial channels (smd), used
to communicate with the baseband processor.  Higher level transports
(rpc, ethernet, AT command channel, etc) ride on top of this.

Signed-off-by: Brian Swetland <swetland@google.com>
2010-05-12 09:14:52 -07:00
Dima Zavin
830d843b75 [ARM] msm: sdcc: Make slot status irq be a resource
Also, convert all SDCC IRQ resources to be named. No longer pass status_irq
in the platform_data

Signed-off-by: Dima Zavin <dima@android.com>
Signed-off-by: Daniel Walker <dwalker@codeaurora.org>
2010-05-12 09:14:50 -07:00
San Mehat
5d4f77ffef [ARM] msm: common: Add SDC device runtime registration
Signed-off-by: San Mehat <san@google.com>
Signed-off-by: Daniel Walker <dwalker@codeaurora.org>
2010-05-12 09:14:48 -07:00
Daniel Walker
1b802ff79f arm: msm: add board file for Nexus One (ie. mahimahi)
This adds a basic board file without Kconfig changes.

Signed-off-by: Daniel Walker <dwalker@codeaurora.org>
2010-05-12 09:14:43 -07:00
Willie Ruan
1b70de32ac [ARM] msm: add new vreg IDs for MSM7X30
Signed-off-by: Willie Ruan <wruan@quicinc.com>
2010-05-12 09:14:41 -07:00
Matt Wilson
0e44106de5 arm: msm: add vreg reference count
Support independent enable and disable by clients for common
vreg. First enable switches on and last disable switches off.

This change has no check for voltage level so clients
must agree on level for common vreg.

Signed-off-by: Matthew Wilson <mtwilson@quicinc.com>
2010-05-12 09:14:40 -07:00
Daniel Walker
4eab62519f arm: msm: warning fix in acpuclock.c
Fixes the following warning,

arch/arm/mach-msm/acpuclock-arm11.c:138: warning: 'freq_table' defined but not used

when CONFIG_CPU_FREQ_TABLE is not enabled.

Signed-off-by: Daniel Walker <dwalker@codeaurora.org>
2010-05-12 09:14:38 -07:00
Steve Muckle
4783de9bba arm: msm: status for vreg
Keep track of the success/failure of the last vreg proc comm
command, and return that on debugfs reads.

Signed-off-by: Steve Muckle <smuckle@quicinc.com>
2010-05-12 09:14:36 -07:00
Steve Muckle
0c50b444b6 arm: msm: return error pointer in vreg_get if vreg not found
Signed-off-by: Steve Muckle <smuckle@quicinc.com>
2010-05-12 09:14:34 -07:00
Daniel Walker
2012e49e8a arm: msm: move board-dream.c to board-trout.c
Move the naming of this board file back to the original Google naming.

Signed-off-by: Daniel Walker <dwalker@codeaurora.org>
2010-05-12 09:14:33 -07:00
Daniel Walker
43b39f9f04 arm: msm: add cpu frequency controls
This adds acpuclock-arm11.c from Google. This provides control
over the cpu frequency for arm11 cpu's.

This has shared authorship between Google, and Qualcomm. Most
of it was written by Mike Chan at Google.

Signed-off-by: Daniel Walker <dwalker@codeaurora.org>
2010-05-12 09:14:20 -07:00
Brian Swetland
9f68fcdb8f msm: add dsb() syncronization to datamover driver
Avoids problems on the scorpion core.

Signed-off-by: Brian Swetland <swetland@google.com>
2010-05-12 09:14:17 -07:00
Arve Hjønnevåg
c5541079da [ARM] msm: dma: Enable dma clock while dma is active
Signed-off-by: Arve Hjønnevåg <arve@android.com>
2010-05-12 09:14:14 -07:00
Arve Hjønnevåg
a6407dd7b8 [ARM] msm: dma: disable_irq -> disable_irq_nosync
Signed-off-by: Arve Hjønnevåg <arve@android.com>
2010-05-12 09:14:11 -07:00
Dima Zavin
5f5d585167 [ARM] msm: Update list of proc_comm enums.
Signed-off-by: Dima Zavin <dima@android.com>
2010-05-12 09:14:00 -07:00
Arve Hjønnevåg
d6ada25776 [ARM] msm: irq: fix lockdep issues
Signed-off-by: Brian Swetland <swetland@google.com>
2010-05-12 09:13:56 -07:00
Arve Hjønnevåg
36cf1b55b4 [ARM] msm: Add MSM_DEBUG_UART option.
Signed-off-by: Arve Hjønnevåg <arve@android.com>
2010-05-12 09:13:53 -07:00
Arve Hjønnevåg
6bd631e17e [ARM] msm: halibut: Add memory configuration. 2010-05-12 09:13:49 -07:00
Daniel Walker
a32d2feb80 arm: msm: add board file for QSD8x50 SURF and FFA
This adds a basic board file without Kconfig changes.

Signed-off-by: Daniel Walker <dwalker@codeaurora.org>
2010-05-12 09:13:44 -07:00
Daniel Walker
8d747cdb3d arm: msm: add board file for MSM7x30 SURF and FFA
This adds a basic board file without Kconfig changes.

Signed-off-by: Daniel Walker <dwalker@codeaurora.org>
2010-05-12 09:13:35 -07:00
Daniel Walker
2682fd3df5 arm: msm: add board file for MSM7x25/MSM7x27 SURF and FFA
This adds a basic board file without Kconfig changes.

Signed-off-by: Daniel Walker <dwalker@codeaurora.org>
2010-05-12 09:13:34 -07:00
Daniel Walker
614ad98148 arm: msm: add board file for the HTC Sapphire device
This adds a basic board file without Kconfig changes.

Signed-off-by: Daniel Walker <dwalker@codeaurora.org>
2010-05-12 09:13:32 -07:00
Daniel Walker
1252fa3154 Revert "arm: msm: add oprofile pmu support"
This reverts commit ee3c454b8d.

As request by Russell King.

Signed-off-by: Daniel Walker <dwalker@codeaurora.org>
2010-05-07 12:09:52 -07:00
Dave Estes
e220ba6022 arm: mm: qsd8x50: Fix incorrect permission faults
Handle incorrectly reported permission faults for qsd8650.  On
permission faults, retry MVA to PA conversion.  If retry detects
translation fault.  Report as translation fault.

Cc: Jamie Lokier <jamie@shareable.org>
Signed-off-by: Dave Estes <cestes@quicinc.com>
2010-05-03 11:15:05 -07:00
Daniel Walker
ee3c454b8d arm: msm: add oprofile pmu support
add oprofile pmu support for msm.

Signed-off-by: Daniel Walker <dwalker@codeaurora.org>
2010-05-03 11:15:03 -07:00
Steve Muckle
4b536b8d90 arm: msm: define HAVE_CLK for ARCH_MSM
MSM supports the <linux/clk.h> interface.

Acked-by: David Brown <davidb@quicinc.com>
Signed-off-by: Steve Muckle <smuckle@quicinc.com>
2010-05-03 11:15:02 -07:00
Daniel Walker
4b53eb4f5d arm: msm: allow ARCH_MSM to have v7 cpus
ARCH_MSM supports armv7 cpus, so we're pushed the CPU_V6/CPU_V7 selection
down into the arch/arm/mach-msm/Kconfig.

Also update the description to be a bit more accurate.

Signed-off-by: Daniel Walker <dwalker@codeaurora.org>
2010-05-03 11:15:00 -07:00
Ajay Kumar Gupta
1e753451eb musb: fix power field to hold all possible values
MUSB can supply upto 500mA such as, AM3517 and OMAP3EVM Rev >=E and thus
the 'power' field has to hold values above 255.

Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-04-30 09:25:07 -07:00
Linus Torvalds
b18262eda3 Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jwessel/linux-2.6-kgdb
* 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jwessel/linux-2.6-kgdb:
  kgdb: don't needlessly skip PAGE_USER test for Fsl booke
2010-04-29 20:01:42 -07:00
Wufei
56151e7534 kgdb: don't needlessly skip PAGE_USER test for Fsl booke
The bypassing of this test is a leftover from 2.4 vintage
kernels, and is no longer appropriate, or even used by KGDB.
Currently KGDB uses probe_kernel_write() for all access to
memory via the KGDB core, so it can simply be deleted.

This fixes CVE-2010-1446.

CC: Benjamin Herrenschmidt <benh@kernel.crashing.org>
CC: Paul Mackerras <paulus@samba.org>
CC: Kumar Gala <galak@kernel.crashing.org>
Signed-off-by: Wufei <fei.wu@windriver.com>
Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
2010-04-29 21:41:44 -05:00
Linus Torvalds
6bec11921a Merge master.kernel.org:/home/rmk/linux-2.6-arm
* master.kernel.org:/home/rmk/linux-2.6-arm:
  ARM: 6061/1: PL061 GPIO: Bug fix - setting gpio for HIGH_LEVEL interrupt is not working.
  ARM: 5957/1: ARM: RealView SD/MMC Card detection and write-protect using GPIOLIB
  ARM: 6030/1: KS8695: enable console
  ARM: 6060/1: PL061 GPIO: Setting gpio val after changing direction to OUT.
  ARM: 6059/1: PL061 GPIO: Changing *_irq_chip_data with *_irq_data for real irqs.
  ARM: 6023/1: update bcmring_defconfig to latest version and fix build error
  ARM: fix build error in arch/arm/kernel/process.c
2010-04-29 17:17:35 -07:00
Linus Torvalds
553cbf0a8f Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc
* 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc:
  powerpc/ps3: Update ps3_defconfig
  powerpc/ps3: Update platform maintainer
  powerpc/pseries: Flush lazy kernel mappings after unplug operations
  powerpc/numa: Add form 1 NUMA affinity
  powerpc/fsl-booke: Fix CONFIG_RELOCATABLE support on FSL Book-E ppc32
  powerpc: 2.6.34 update of defconfigs for embedded 6xx/7xxx, 8xx, 8xxx
  powerpc/mpc8xxx defconfigs - turn off SYSFS_DEPRECATED
  powerpc/83xx: configure SIL SATA driver in 83xx-wide defconfig
  powerpc/83xx: enable EPOLL syscall in defconfig
  powerpc/83xx: add RTC drivers in 83xx defconfig
  powerpc/fsl-cpm: Configure clock correctly for SCC
  powerpc/fsl_booke: Correct test for MMU_FTR_BIG_PHYS
  powerpc/85xx/86xx: Fix build w/ CONFIG_PCI=n
2010-04-29 17:16:36 -07:00
Linus Torvalds
dfad53d48e Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-tip
* 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-tip:
  x86: Disable large pages on CPUs with Atom erratum AAE44
  x86-64: Clear a 64-bit FS/GS base on fork if selector is nonzero
  x86, mrst: Conditionally register cpu hotplug notifier for apbt
2010-04-28 20:41:55 -07:00
Linus Torvalds
79dba2eaa7 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6:
  x86/PCI: compute Address Space length rather than using _LEN
  x86/PCI: never allocate PCI MMIO resources below BIOS_END
2010-04-28 20:40:17 -07:00