Mike Frysinger [Wed, 27 Oct 2010 03:46:22 +0000 (23:46 -0400)]
Blackfin: clean up mach header includes
The main asm/blackfin.h header will pull in mach/blackfin.h to get
all the fun Blackfin defines. So having any of the sub-mach headers
trying to include asm/blackfin.h makes no sense -- punt it.
The mach/blackfin.h header takes care of including the part-specific
def headers which in turn will include any other needed def file.
Similarly, it takes care of pulling in the part-specific cdef header.
So move this logic out of the blackfin.h when necessary.
Further, make sure the cdef headers do not waste time including the
def headers again.
Since all parts need the common def/cdef headers, move this logic
out of the part-specific headers and into the mach/blackfin.h file.
Finally, we need to split the BF539 def header since the BF538 does
not have MXVR and we don't want to expose those MMRs.
So now all parts should have the same behavior:
mach/blackfin.h
asm/def_LPBlackfin.h
part-specific def.h
if ! asm
asm/cdef_LPBlackfin.h
part-specific cdef.h
And the sub def/cdef headers only tail into what they need.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Mike Frysinger [Wed, 27 Oct 2010 02:55:28 +0000 (22:55 -0400)]
Blackfin: bf533: merge fio_flag back into normal mach headers
We don't want the BF533 to be different in terms of its MMR headers, so
merge the FIO_FLAG helpers back into the normal place. To avoid circular
dependencies with headers, turn the inline C funcs into CPP defines. Not
like there will be any code size differences.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Mike Frysinger [Wed, 27 Oct 2010 01:40:31 +0000 (21:40 -0400)]
Blackfin: bf561-ezkit: add SMP defconfig
Since the SMP code paths tend to compile fail a lot, start a SMP defconfig
so our nightly build tools will automatically test it.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Mike Frysinger [Wed, 27 Oct 2010 01:30:29 +0000 (21:30 -0400)]
Blackfin: bf533: convert boards to gpio framework
We don't want people banging on MMRs directly. As for the ip0x board,
it shouldn't need to muck with the CS pin directly as the Blackfin SPI
bus master driver takes care of driving this.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Mike Frysinger [Tue, 26 Oct 2010 01:11:10 +0000 (21:11 -0400)]
Blackfin: push gpio (port) defines into common headers
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Mike Frysinger [Tue, 26 Oct 2010 01:10:43 +0000 (21:10 -0400)]
Blackfin: bf54x: drop unused legacy MMR names
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Mike Frysinger [Mon, 25 Oct 2010 18:11:09 +0000 (18:11 +0000)]
Blackfin: dma: constify MMR pointer array
The array of pointers is never written, so constify it.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Mike Frysinger [Mon, 25 Oct 2010 08:04:44 +0000 (08:04 +0000)]
Blackfin: standardize DMAC traffic control MMRs & MDMA MMRs
Use the same naming convention for DMA traffic MMRs (most were legacy
anyways) so we can avoid useless ifdef trees.
Same goes for MDMA names -- this actually allows us to undo a bunch of
ifdef redirects that existed for this purpose alone.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Mike Frysinger [Mon, 25 Oct 2010 08:02:30 +0000 (08:02 +0000)]
Blackfin: bfin_dma.h: start a header for DMA MMR layout
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Mike Frysinger [Tue, 16 Feb 2010 09:03:18 +0000 (04:03 -0500)]
Blackfin: switch to asm-generic/io.h
Acked-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Mike Frysinger [Wed, 27 Oct 2010 01:52:59 +0000 (21:52 -0400)]
asm-generic/io.h: add reads[bwl]/writes[bwl] helpers
A bunch of arches define reads[bwl]/writes[bwl] helpers for accessing
memory mapped registers. Since the Blackfin ones aren't specific to
Blackfin code, move them to the common asm-generic/io.h for people.
Acked-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Mike Frysinger [Mon, 10 Jan 2011 07:45:57 +0000 (02:45 -0500)]
net/irda: bfin_sir: back out transitional defines
Now that the common header is sane, we can drop the transitional cruft.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Mike Frysinger [Mon, 28 Sep 2009 03:16:01 +0000 (03:16 +0000)]
Blackfin: bfin_serial.h: unify heavily duplicated serial code
Each Blackfin port has been duplicating UART structures and defines when
there really is no need for it. So start a new bfin_serial.h header to
unify all these pieces and give ourselves a fresh start.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Mike Frysinger [Thu, 28 Oct 2010 19:43:50 +0000 (15:43 -0400)]
net/irda: bfin_sir: pull in serial headers for defines
We're in the process of cleaning up the global Blackfin namespace, so the
bfin_sir driver needs to pull in the serial header explicitly now.
This does add a little transitional cruft to keep things compiling, but a
follow up patch in this series will cull that.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Bob Liu [Fri, 17 Sep 2010 11:09:57 +0000 (11:09 +0000)]
Blackfin: musb-boards: push clkin value to platform resources
In order to not touch the driver file for different xtal usage,
push the clkin value to board file and calculate the register
value instead of hardcoding it.
Signed-off-by: Bob Liu <lliubbo@gmail.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Graf Yang [Thu, 28 Jan 2010 10:46:55 +0000 (10:46 +0000)]
Blackfin: SMP: fix hotplug building after irq header shuffle
Signed-off-by: Graf Yang <graf.yang@analog.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Ryusuke Konishi [Sun, 26 Dec 2010 15:07:30 +0000 (00:07 +0900)]
nilfs2: unfold nilfs_dat_inode function
nilfs_dat_inode function was a wrapper to switch between normal dat
inode and gcdat, a clone of the dat inode for garbage collection.
This function got obsolete when the gcdat inode was removed, and now
we can access the dat inode directly from a nilfs object. So, we will
unfold the wrapper and remove it.
Signed-off-by: Ryusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>
Ryusuke Konishi [Sun, 26 Dec 2010 15:05:49 +0000 (00:05 +0900)]
nilfs2: do not pass sbi to functions which can get it from inode
This removes argument for passing nilfs_sb_info structure from
nilfs_set_file_dirty and nilfs_load_inode_block functions. We can get
a pointer to the structure from inodes.
[Stephen Rothwell <sfr@canb.auug.org.au>: fix conflict with commit
b74c79e99389cd79b31fcc08f82c24e492e63c7e]
Signed-off-by: Ryusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>
Ryusuke Konishi [Sun, 26 Dec 2010 15:04:06 +0000 (00:04 +0900)]
nilfs2: get rid of nilfs_mount_options structure
Only mount_opt member is used in the nilfs_mount_options structure,
and we can simplify it.
Signed-off-by: Ryusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>
Ryusuke Konishi [Sun, 26 Dec 2010 15:03:02 +0000 (00:03 +0900)]
nilfs2: simplify nilfs_mdt_freeze_buffer
nilfs_page_get_nth_block() function used in nilfs_mdt_freeze_buffer()
always returns a valid buffer head, so its validity check can be
removed.
Signed-off-by: Ryusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>
Ryusuke Konishi [Sun, 26 Dec 2010 15:01:28 +0000 (00:01 +0900)]
nilfs2: get rid of loaded flag from nilfs object
NILFS_LOADED flag of the nilfs object is not used now, so this will
remove it.
Signed-off-by: Ryusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>
Ryusuke Konishi [Sun, 26 Dec 2010 14:30:02 +0000 (23:30 +0900)]
nilfs2: fix a checkpatch error in page.c
Will correct the following checkpatch error:
ERROR: trailing whitespace
#494: FILE: page.c:494:
+ $
Signed-off-by: Ryusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>
Ryusuke Konishi [Sun, 26 Dec 2010 07:38:43 +0000 (16:38 +0900)]
nilfs2: fiemap support
This adds fiemap to nilfs. Two new functions, nilfs_fiemap and
nilfs_find_uncommitted_extent are added.
nilfs_fiemap() implements the fiemap inode operation, and
nilfs_find_uncommitted_extent() helps to get a range of data blocks
whose physical location has not been determined.
nilfs_fiemap() collects extent information by looping through
nilfs_bmap_lookup_contig and nilfs_find_uncommitted_extent routines.
Signed-off-by: Ryusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>
Ryusuke Konishi [Sun, 26 Dec 2010 07:28:28 +0000 (16:28 +0900)]
nilfs2: mark buffer heads as delayed until the data is written to disk
Nilfs does not allocate new blocks on disk until they are actually
written to. To implement fiemap, we need to deal with such blocks.
To allow successive fiemap patch to distinguish mapped but unallocated
regions, this marks buffer heads of those new blocks as delayed and
clears the flag after the blocks are written to disk.
Signed-off-by: Ryusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>
Ryusuke Konishi [Fri, 19 Nov 2010 06:26:20 +0000 (15:26 +0900)]
nilfs2: call nilfs_error inside bmap routines
Some functions using nilfs bmap routines can wrongly return invalid
argument error (i.e. -EINVAL) that bmap returns as an internal code
for btree corruption.
This fixes the issue by catching and converting the internal EINVAL to
EIO and calling nilfs_error function inside bmap routines.
Signed-off-by: Ryusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>
Joe Perches [Wed, 10 Nov 2010 00:35:21 +0000 (16:35 -0800)]
fs/nilfs2/super.c: Use printf extension %pV
Using %pV reduces the number of printk calls and
eliminates any possible message interleaving from
other printk calls.
Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: Ryusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>
Ryusuke Konishi [Tue, 23 Nov 2010 14:37:23 +0000 (23:37 +0900)]
MAINTAINERS: add nilfs2 git tree entry
NILFS2 filesystem section of the MAINTAINERS file lacks an entry of
scm tree. This adds it.
Signed-off-by: Ryusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>
Alex Deucher [Wed, 5 Jan 2011 16:57:52 +0000 (11:57 -0500)]
drm/radeon/kms: disable underscan by default
Lots of HDMI TVs overscan the incoming image by default.
The underscan option was added as a way to compensate for
that by underscanning the image so that the edges would
not be cut off on an overscanning TV. However, the TV
provides no way of knowing whether it is overscanning or
not. If the user has disabled overscan on their TV or has a
TV that does not overscan, you will get black bars around the
edges of your screen. Prior to the patch we got complaints
and bug reports from users with overscanning TVs, now with
the patch, we get lots of complaints and bug reports from
users with non-overscanning TVs. There's no good default,
but on average there have been more users complaining about
it being on by default than off, so change it to off. This
will probably result in a new deluge of overscanning TV user
complaints. There's no winning.
Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
Alex Deucher [Fri, 17 Dec 2010 15:27:25 +0000 (10:27 -0500)]
drm/radeon/kms: only enable hdmi features if the monitor supports audio
This avoids some issues in the current hdmi audio code for monitors
without audio.
Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
Alagu Sankar [Mon, 3 Jan 2011 07:13:27 +0000 (12:43 +0530)]
mmc: davinci: add support for SDIO irq handling
This patch adds support for handling SDIO interrupt on DaVinci MMC/SD
controller.
The patch has been tested on DM355 and DA850 EVMs with Marvell Libertas
based SDIO wireless LAN card.
Signed-off-by: Alagu Sankar <alagusankar@embwise.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
Signed-off-by: Chris Ball <cjb@laptop.org>
Jeff Layton [Fri, 7 Jan 2011 16:30:27 +0000 (11:30 -0500)]
cifs: use CreationTime like an i_generation field
Reduce false inode collisions by using the CreationTime like an
i_generation field. This way, even if the server ends up reusing
a uniqueid after a delete/create cycle, we can avoid matching
the inode incorrectly.
Signed-off-by: Jeff Layton <jlayton@redhat.com>
Signed-off-by: Steve French <sfrench@us.ibm.com>
James Morris [Sun, 9 Jan 2011 23:40:42 +0000 (10:40 +1100)]
Merge branch 'master' of git://git.infradead.org/users/eparis/selinux into next
Jeff Layton [Fri, 7 Jan 2011 16:30:29 +0000 (11:30 -0500)]
cifs: switch cifs_open and cifs_create to use CIFSSMBUnixSetFileInfo
We call CIFSSMBUnixSetPathInfo in these functions, but we have a
filehandle since an open was just done. Switch these functions to
use CIFSSMBUnixSetFileInfo instead.
In practice, these codepaths are only used if posix opens are broken.
Signed-off-by: Jeff Layton <jlayton@redhat.com>
Signed-off-by: Steve French <sfrench@us.ibm.com>
Jeff Layton [Fri, 7 Jan 2011 16:30:29 +0000 (11:30 -0500)]
cifs: show "acl" in DebugData Features when it's compiled in
...and while we're at it, reduce the number of calls into the seq_*
functions by prepending spaces to strings.
Signed-off-by: Jeff Layton <jlayton@redhat.com>
Signed-off-by: Steve French <sfrench@us.ibm.com>
Jeff Layton [Fri, 7 Jan 2011 16:30:28 +0000 (11:30 -0500)]
cifs: move "ntlmssp" and "local_leases" options out of experimental code
I see no real need to leave these sorts of options under an
EXPERIMENTAL ifdef. Since you need a mount option to turn this code
on, that only blows out the testing matrix.
local_leases has been under the EXPERIMENTAL tag for some time, but
it's only the mount option that's under this label. Move it out
from under this tag.
The NTLMSSP code is also under EXPERIMENTAL, but it needs a mount
option to turn it on, and in the future any distro will reasonably
want this enabled. Go ahead and move it out from under the
EXPERIMENTAL tag.
Signed-off-by: Jeff Layton <jlayton@redhat.com>
Acked-by: Suresh Jayaraman <sjayaraman@suse.de>
Signed-off-by: Steve French <sfrench@us.ibm.com>
Jeff Layton [Fri, 7 Jan 2011 16:30:28 +0000 (11:30 -0500)]
cifs: replace some hardcoded values with preprocessor constants
A number of places that deal with RFC1001/1002 negotiations have bare
"15" or "16" values. Replace them with RFC_1001_NAME_LEN and
RFC_1001_NAME_LEN_WITH_NULL.
The patch also cleans up some checkpatch warnings for code surrounding
the changes. This should apply cleanly on top of the patch to remove
Local_System_Name.
Reported-and-Reviwed-by: Shirish Pargaonkar <shirishpargaonkar@gmail.com>
Signed-off-by: Jeff Layton <jlayton@redhat.com>
Signed-off-by: Steve French <sfrench@us.ibm.com>
Jeff Layton [Fri, 7 Jan 2011 16:30:28 +0000 (11:30 -0500)]
cifs: remove unnecessary locking around sequence_number
The server->sequence_number is already protected by the srv_mutex. The
GlobalMid_lock is unneeded here.
Reviewed-by: Shirish Pargaonkar <shirishpargaonkar@gmail.com>
Signed-off-by: Jeff Layton <jlayton@redhat.com>
Signed-off-by: Steve French <sfrench@us.ibm.com>
Dave Airlie [Sun, 9 Jan 2011 23:27:06 +0000 (09:27 +1000)]
Merge branch 'drm-radeon-ni' of ../drm-radeon-next into drm-core-next
* 'drm-radeon-ni' of ../drm-radeon-next: (30 commits)
radeon: consolidate asic-specific function decls for pre-r600
drm/radeon/kms: add NI pci ids
drm/radeon/kms: don't enable pcie gen2 on NI yet
drm/radeon/kms: add radeon_asic struct for NI asics
drm/radeon/kms/ni: load default sclk/mclk/vddc at pm init
drm/radeon/kms: add ucode loader for NI
drm/radeon/kms: add support for DCE5 display LUTs
drm/radeon/kms: add ni_reg.h
drm/radeon/kms: add bo blit support for NI
drm/radeon/kms: always use writeback/events for fences on NI
drm/radeon/kms: adjust default clock/vddc tracking for pm on DCE5
drm/radeon/kms: add backend map workaround for barts
drm/radeon/kms: fill gpu init for NI asics
drm/radeon/kms: add disabled vbios accessor for NI asics
drm/radeon/kms: handle NI thermal controller
drm/radeon/kms: parse DCE5 encoder caps when setting up encoders
drm/radeon/kms: dvo dpms updates for DCE5
drm/radeon/kms: dac dpms updates for DCE5
drm/radeon/kms: DCE5 atom dig encoder updates
drm/radeon/kms: DCE5 atom transmitter control updates
...
Steve French [Sun, 9 Jan 2011 23:26:56 +0000 (23:26 +0000)]
[CIFS] Fix minor merge conflict in fs/cifs/dir.c
Signed-off-by: Steve French <sfrench@us.ibm.com>
Chris Wilson [Sat, 8 Jan 2011 15:10:41 +0000 (15:10 +0000)]
drm: Restore the old_fb upon modeset failure
... or else we may end up disabling the wrong framebuffer, leading to an
OOPS, e.g:
[ 6033.229012] kernel BUG at drivers/gpu/drm/i915/i915_gem.c:3271!
[ 6033.229012] invalid opcode: 0000 [#1] SMP
[ 6033.229012] last sysfs file:
/sys/devices/virtual/backlight/acpi_video0/uevent
[ 6033.229012] Modules linked in: sunrpc cpufreq_ondemand acpi_cpufreq
mperf snd_hda_codec_analog snd_hda_intel snd_hda_codec snd_hwdep snd_seq
snd_seq_device snd_pcm snd_timer thinkpad_acpi ppdev snd r852 sm_common
iTCO_wdt uvcvideo i2c_i801 iTCO_vendor_support microcode wmi nand
videodev nand_ids nand_ecc snd_page_alloc parport_pc parport mtd
soundcore joydev v4l1_compat pcspkr uinput ipv6 sdhci_pci sdhci mmc_core
yenta_socket i915 drm_kms_helper drm i2c_algo_bit i2c_core video output
[last unloaded: scsi_wait_scan]
[ 6033.229012]
[ 6033.229012] Pid: 4834, comm: Xorg Not tainted 2.6.37-rc8+ #25 7661BL5/7661BL5
[ 6033.229012] EIP: 0060:[<
f86fda5e>] EFLAGS:
00013246 CPU: 0
[ 6033.229012] EIP is at i915_gem_object_unpin+0x23/0x76 [i915]
[ 6033.229012] EAX:
f68a4000 EBX:
f6831f00 ECX:
000600fa EDX:
f68a8000
[ 6033.229012] ESI:
f68a4014 EDI:
f68a42b8 EBP:
f2169c44 ESP:
f2169c3c
[ 6033.229012] DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068
[ 6033.229012] Process Xorg (pid: 4834, ti=
f2168000 task=
f21c8000 task.ti=
f2168000)
[ 6033.229012] Stack:
[ 6033.229012]
f3a84800 f68a4014 f2169c54 f87045d8 f3a84800 f872d9a8 f2169c68 f7fd8091
[ 6033.229012]
f3b952a4 00000000 f68a414c f2169cf0 f7fd9377 00000000 00000000 f7fd98b0
[ 6033.229012]
f7fd9f4e 0000000f f7f328a0 00000000 00000000 00000000 f2169ca4 f68a414c
[ 6033.229012] Call Trace:
[ 6033.229012] [<
f87045d8>] ? intel_crtc_disable+0x36/0x41 [i915]
[ 6033.229012] [<
f7fd8091>] ? drm_helper_disable_unused_functions+0xcd/0xf9 [drm_kms_helper]
[ 6033.229012] [<
f7fd9377>] ? drm_crtc_helper_set_config+0x62a/0x7f7 [drm_kms_helper]
[ 6033.229012] [<
c04daa10>] ? __slab_free+0x1b/0xa4
[ 6033.229012] [<
f7fd7e62>] ? drm_fb_helper_initial_config+0x466/0x497 [drm_kms_helper]
[ 6033.229012] [<
f7fd7ea3>] ? drm_fb_helper_restore+0x10/0x2a [drm_kms_helper]
[ 6033.229012] [<
f86f2577>] ? i915_driver_lastclose+0x2a/0x57 [i915]
[ 6033.229012] [<
f7f1989f>] ? drm_lastclose+0x45/0x23e [drm]
[ 6033.229012] [<
f7f1a0b4>] ? drm_release+0x462/0x4d7 [drm]
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: stable@kernel.org
Signed-off-by: Dave Airlie <airlied@redhat.com>
Dave Airlie [Sun, 9 Jan 2011 23:23:49 +0000 (09:23 +1000)]
Merge remote branch 'nouveau/drm-nouveau-next' of ../drm-nouveau-next into drm-core-next
* 'nouveau/drm-nouveau-next' of ../drm-nouveau-next:
drm/nouveau: fix hwmon device binding
drm/nouveau: create grctx on the fly on all chipsets
drm/nvc0: fix init without firmware present
drm/nvc0/pgraph: fix 0x406028/0x405870 init
drm/nvc0/pgraph: more unit names
drm/nvc0/pfifo: support for chipsets with only one PSUBFIFO (0xc1)
drm/nvc0: reserve only subc 0 for kernel use
drm/nv50: sync up gr data error names with rnn, use for nvc0 also
drm/nvc0: parse a couple more PGRAPH_INTR
drm/nvc0: nuke left-over debug messages
drm/nvc0: kill off a couple more magics
drm/nouveau: Validate channel indices passed from userspace.
drm/nouveau: Only select ACPI_VIDEO if its dependencies are met
Steve French [Sun, 9 Jan 2011 23:18:16 +0000 (23:18 +0000)]
Merge branch 'master' of /linux/kernel/git/torvalds/linux-2.6
Conflicts:
fs/cifs/dir.c
James Morris [Sun, 9 Jan 2011 22:46:24 +0000 (09:46 +1100)]
Merge branch 'master' into next
Conflicts:
security/smack/smack_lsm.c
Verified and added fix by Stephen Rothwell <sfr@canb.auug.org.au>
Ok'd by Casey Schaufler <casey@schaufler-ca.com>
Signed-off-by: James Morris <jmorris@namei.org>
Roland Stigge [Sun, 9 Jan 2011 14:31:39 +0000 (09:31 -0500)]
hwmon: Support for Dallas Semiconductor DS620
Driver for Dallas Semiconductor DS620 temperature sensor and thermostat
Signed-off-by: Roland Stigge <stigge@antcom.de>
Signed-off-by: Guenter Roeck <guenter.roeck@ericsson.com>
Ingo Molnar [Sun, 9 Jan 2011 09:42:21 +0000 (10:42 +0100)]
Merge branch 'tip/perf/core' of git://git./linux/kernel/git/rostedt/linux-2.6-trace into perf/urgent
Cyrill Gorcunov [Fri, 7 Jan 2011 18:42:06 +0000 (21:42 +0300)]
perf, x86: P4 PMU - Fix unflagged overflows handling
Don found that P4 PMU reads CCCR register instead of counter
itself (in attempt to catch unflagged event) this makes P4
NMI handler to consume all NMIs it observes. So the other
NMI users such as kgdb simply have no chance to get NMI
on their hands.
Side note: at moment there is no way to run nmi-watchdog
together with perf tool. This is because both 'perf top' and
nmi-watchdog use same event. So while nmi-watchdog reserves
one event/counter for own needs there is no room for perf tool
left (there is a way to disable nmi-watchdog on boot of course).
Ming has tested this patch with the following results
| 1. watchdog disabled
|
| kgdb tests on boot OK
| perf works OK
|
| 2. watchdog enabled, without patch perf-x86-p4-nmi-4
|
| kgdb tests on boot hang
|
| 3. watchdog enabled, without patch perf-x86-p4-nmi-4 and do not run kgdb
| tests on boot
|
| "perf top" partialy works
| cpu-cycles no
| instructions yes
| cache-references no
| cache-misses no
| branch-instructions no
| branch-misses yes
| bus-cycles no
|
| 4. watchdog enabled, with patch perf-x86-p4-nmi-4 applied
|
| kgdb tests on boot OK
| perf does not work, NMI "Dazed and confused" messages show up
|
Which means we still have problems with p4 box due to 'unknown'
nmi happens but at least it should fix kgdb test cases.
Reported-by: Jason Wessel <jason.wessel@windriver.com>
Reported-by: Don Zickus <dzickus@redhat.com>
Signed-off-by: Cyrill Gorcunov <gorcunov@openvz.org>
Acked-by: Don Zickus <dzickus@redhat.com>
Acked-by: Lin Ming <ming.m.lin@intel.com>
Cc: Stephane Eranian <eranian@google.com>
Cc: Peter Zijlstra <peterz@infradead.org>
LKML-Reference: <
4D275E7E.3040903@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Pekka Enberg [Sun, 9 Jan 2011 09:05:53 +0000 (11:05 +0200)]
Merge branch 'slab/next' into for-linus
Linus Walleij [Tue, 4 Jan 2011 23:44:32 +0000 (00:44 +0100)]
mmc: fix division by zero in MMC core
The card is not always clocked and the clock frequency zero is perfectly
legal, thus this code in mmc_set_data_timeout() may cause a division by
zero. It will be triggered more often if you're using software clock
gating but can be triggered under other conditions too.
Reported-by: Pierre Tardy <tardyp@gmail.com>
Signed-off-by: Linus Walleij <linus.walleij@stericsson.com>
Reviewed-by: Chris Ball <cjb@laptop.org>
Cc: <stable@kernel.org>
Signed-off-by: Chris Ball <cjb@laptop.org>
Arnd Hannemann [Wed, 29 Dec 2010 13:21:14 +0000 (14:21 +0100)]
mmc: tmio_mmc: fix CMD irq handling
With current code card insert/eject interrupts will acknowledge outstanding
commands. Normally this seems to be no problem, however if the hardware gets
stuck and no interrupts for CMD_TIMEOUT or CMD_RESPEND are generated, then
inserting and ejecting cards will falsely acknowledge outstanding commands
from the core.
This patch changes the behavior so that CMDs are only acked, if
CMD_TIMEOUT or CMD_RESPEND is received.
Signed-off-by: Arnd Hannemann <arnd@arndnet.de>
Signed-off-by: Chris Ball <cjb@laptop.org>
Arnd Hannemann [Wed, 5 Jan 2011 22:36:14 +0000 (17:36 -0500)]
mmc: tmio_mmc: handle missing HW interrupts
When doing excessive hotplug, e.g., repeated insert/eject operations,
the hardware may get confused to a point where no CMDTIMEOUT/CMDRESPEND
interrupts are generated any more. As a result requests get stuck, e.g.:
[ 360.351562] INFO: task kworker/u:0:5 blocked for more than 120 seconds.
[ 360.351562] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
[ 360.359375] kworker/u:0 D
c020c2b4 0 5 2 0x00000000
[ 360.367187] Backtrace:
[ 360.367187] [<
c020bfb0>] (schedule+0x0/0x340) from [<
c020c480>] (schedule_timeout+0x20/0x190)
[ 360.375000] r8:
c702fd70 r7:
00000002 r6:
c702e000 r5:
c702fdc4 r4:
7fffffff
[ 360.375000] r3:
c701e040
[ 360.382812] [<
c020c460>] (schedule_timeout+0x0/0x190) from [<
c020be78>] (wait_for_common+0xc4/0x150)
[ 360.390625] r6:
c702e000 r5:
c702fdc4 r4:
7fffffff
[ 360.390625] [<
c020bdb4>] (wait_for_common+0x0/0x150) from [<
c020bfac>] (wait_for_completion+0x18/0x1c)
[ 360.398437] [<
c020bf94>] (wait_for_completion+0x0/0x1c) from [<
c0185590>] (mmc_wait_for_req+0x214/0x234)
[ 360.406250] [<
c018537c>] (mmc_wait_for_req+0x0/0x234) from [<
c01889d0>] (mmc_sd_switch+0xfc/0x114)
[ 360.414062] r7:
c702fe4c r6:
c702fe20 r5:
c7179800 r4:
00fffff0
[ 360.421875] [<
c01888d4>] (mmc_sd_switch+0x0/0x114) from [<
c0187f70>] (mmc_sd_setup_card+0x260/0x384)
[ 360.429687] [<
c0187d10>] (mmc_sd_setup_card+0x0/0x384) from [<
c01885e0>] (mmc_sd_init_card+0x13c/0x1e0)
[ 360.437500] [<
c01884a4>] (mmc_sd_init_card+0x0/0x1e0) from [<
c01887a8>] (mmc_attach_sd+0x124/0x1a8)
[ 360.445312] r8:
c02db404 r7:
ffffff92 r6:
c702ff34 r5:
c6007da8 r4:
c6007c00
[ 360.453125] [<
c0188684>] (mmc_attach_sd+0x0/0x1a8) from [<
c0185140>] (mmc_rescan+0x248/0x2f0)
[ 360.460937] r5:
c6007da8 r4:
c6007c00
[ 360.468750] [<
c0184ef8>] (mmc_rescan+0x0/0x2f0) from [<
c00467f0>] (process_one_work+0x1ec/0x318)
[ 360.476562] r7:
c6007da8 r6:
00000000 r5:
c710ec00 r4:
c701bde0
[ 360.484375] [<
c0046604>] (process_one_work+0x0/0x318) from [<
c0047fb0>] (worker_thread+0x1b0/0x2cc)
[ 360.492187] [<
c0047e00>] (worker_thread+0x0/0x2cc) from [<
c004b338>] (kthread+0x8c/0x94)
[ 360.500000] [<
c004b2ac>] (kthread+0x0/0x94) from [<
c0037fc4>] (do_exit+0x0/0x590)
[ 360.507812] r7:
00000013 r6:
c0037fc4 r5:
c004b2ac r4:
c7021f00
This patch addresses this problem by introducing timeouts for outstanding
interrupts. If a hardware interrupt is missing, a soft reset will be
performed to bring the hardware back to a working state.
Tested with the SDHI hardware block in sh7372 / AP4EVB.
Signed-off-by: Arnd Hannemann <arnd@arndnet.de>
Signed-off-by: Chris Ball <cjb@laptop.org>
Arnd Hannemann [Tue, 28 Dec 2010 22:22:32 +0000 (23:22 +0100)]
mfd: sh_mobile_sdhi: activate SDIO IRQ for tmio_mmc
The SDHI Controller on SH-Mobile SoCs supports SDIO IRQ signalling.
This patch advertises this fact to the tmio_mmc driver.
Signed-off-by: Arnd Hannemann <arnd@arndnet.de>
Acked-by: Samuel Ortiz <sameo@linux.intel.com>
Signed-off-by: Chris Ball <cjb@laptop.org>
Arnd Hannemann [Tue, 28 Dec 2010 22:22:31 +0000 (23:22 +0100)]
mmc: tmio_mmc: implement SDIO IRQ support
This patch implements SDIO IRQ support for mfds which
announce the TMIO_MMC_SDIO_IRQ flag for tmio_mmc.
If MMC_CAP_SDIO_IRQ is also set SDIO IRQ signalling is activated.
Tested with a b43-based wireless SDIO card and sh_mobile_sdhi.
Signed-off-by: Arnd Hannemann <arnd@arndnet.de>
Signed-off-by: Chris Ball <cjb@laptop.org>
Guennadi Liakhovetski [Tue, 23 Nov 2010 16:24:19 +0000 (17:24 +0100)]
mfd: sdhi: require the tmio-mmc driver to bounce unaligned buffers
The SDHI controller on SH-Mobile SoCs requires even buffer addresses,
when used with DMA.
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Acked-by: Samuel Ortiz <sameo@linux.intel.com>
Signed-off-by: Chris Ball <cjb@laptop.org>
Arnd Hannemann [Sun, 19 Dec 2010 21:16:07 +0000 (21:16 +0000)]
mmc: tmio_mmc: silence compiler warnings
with "mmc: tmio: implement a bounce buffer for unaligned DMA"
gcc generates the following warnings:
drivers/mmc/host/tmio_mmc.c:654:6: warning: 'ret' may be used uninitialized in this function
drivers/mmc/host/tmio_mmc.c:730:6: warning: 'ret' may be used uninitialized in this function
This patch fixes these by setting ret to -EINVAL in the affected code paths.
Signed-off-by: Arnd Hannemann <arnd@arndnet.de>
Signed-off-by: Chris Ball <cjb@laptop.org>
Guennadi Liakhovetski [Wed, 22 Dec 2010 11:02:15 +0000 (12:02 +0100)]
mmc: tmio_mmc: implement a bounce buffer for unaligned DMA
For example, with SDIO WLAN cards, some transfers happen with buffers at
odd addresses, whereas the SH-Mobile DMA engine requires even addresses
for SDHI. This patch extends the tmio driver with a bounce buffer, that
is used for single entry scatter-gather lists both for sending and
receiving. If we ever encounter unaligned transfers with multi-element
sg lists, this patch will have to be extended. For now it just falls
back to PIO in this and other unsupported cases.
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Acked-by: Samuel Ortiz <sameo@linux.intel.com>
Signed-off-by: Chris Ball <cjb@laptop.org>
Guennadi Liakhovetski [Tue, 23 Nov 2010 16:24:11 +0000 (17:24 +0100)]
mmc: tmio_mmc: merge the private header into the driver
drivers/mmc/host/tmio_mmc.h is only used by drivers/mmc/host/tmio_mmc.c,
this needlessly complicates source-code handling.
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Chris Ball <cjb@laptop.org>
Guennadi Liakhovetski [Thu, 11 Nov 2010 11:19:47 +0000 (12:19 +0100)]
mmc: tmio_mmc: fix PIO fallback on DMA descriptor allocation failure
The easiest way to fall back to PIO, when a DMA descriptor allocation
fails is to disable DMA on the controller but continue with the current
request in PIO mode. This way tmio_mmc_start_dma() can become void, since
it cannot be failing any more. The current version is also broken: it is
testing a wrong pointer and thus failing to recognise, that a descriptor
allocation wasn't successful.
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Chris Ball <cjb@laptop.org>
Guennadi Liakhovetski [Thu, 11 Nov 2010 11:15:06 +0000 (12:15 +0100)]
mmc: tmio_mmc: allow multi-element scatter-gather lists
The driver is capable of handling multi-element sg lists in both PIO and
DMA modes. In DMA mode this also allows to use the DMA sg capability more
efficiently and almost doubles the throughput.
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Chris Ball <cjb@laptop.org>
Viresh Kumar [Tue, 4 Jan 2011 17:55:14 +0000 (12:55 -0500)]
mmc: Register debugfs dir before calling card probe function.
This way, the probe function may register debugfs files if it wants to.
This fixes a bug with mmc_test where mmc_test_register_file_test() is
called before the card's debugfs dir exists, and so it fails.
Signed-off-by: Viresh Kumar <viresh.kumar@st.com>
Tested-by: Chris Ball <cjb@laptop.org>
Signed-off-by: Chris Ball <cjb@laptop.org>
Chris Ball [Tue, 4 Jan 2011 17:39:20 +0000 (12:39 -0500)]
mmc: MMC_BLOCK_MINORS should depend on MMC_BLOCK.
Signed-off-by: Chris Ball <cjb@laptop.org>
Tested-by: Chris Ball <cjb@laptop.org>
Acked-by: Olof Johansson <olof@lixom.net>
Chris Ball [Tue, 4 Jan 2011 17:20:22 +0000 (12:20 -0500)]
mmc: Explain why we make adjacent mmc_bus_{put,get} calls during rescan.
Signed-off-by: Chris Ball <cjb@laptop.org>
Andy Ross [Mon, 3 Jan 2011 18:36:56 +0000 (10:36 -0800)]
mmc: Fix sd/sdio/mmc initialization frequency retries
Rewrite and clean up mmc_rescan() to properly retry frequencies lower
than 400kHz. Failures can happen both in sd_send_* calls and
mmc_attach_*. Break out "mmc_rescan_try_freq" from the frequency
selection loop. Symmetrize claim/release logic in mmc_attach_* API,
and move the sd_send_* calls there to make mmc_rescan easier to read.
Signed-off-by: Andy Ross <andy.ross@windriver.com>
Reviewed-and-Tested-by: Hein Tibosch <hein_tibosch@yahoo.es>
Reviewed-by: Chris Ball <cjb@laptop.org>
Signed-off-by: Chris Ball <cjb@laptop.org>
Takashi Iwai [Wed, 22 Dec 2010 08:59:44 +0000 (09:59 +0100)]
mmc: fix mmc_set_bus_width_ddr() call without bus-width-test cap
With the bus-width test patch, mmc_set_bus_width*() isn't called properly
when the driver doesn't set MMC_CAP_BUS_WIDTH and no DDR mode.
This patch fixes the regression by moving the call up before the cap test.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Reviewed-by: Chris Ball <cjb@laptop.org>
Signed-off-by: Chris Ball <cjb@laptop.org>
Will Newton [Sun, 2 Jan 2011 06:11:59 +0000 (01:11 -0500)]
mmc: dw_mmc: Add Synopsys DesignWare mmc host driver.
This adds the mmc host driver for the Synopsys DesignWare mmc
host controller, found in a number of embedded SoC designs.
Signed-off-by: Will Newton <will.newton@imgtec.com>
Reviewed-by: Matt Fleming <matt@console-pimps.org>
Reviewed-by: Chris Ball <cjb@laptop.org>
Signed-off-by: Chris Ball <cjb@laptop.org>
Olof Johansson [Sun, 2 Jan 2011 04:52:56 +0000 (23:52 -0500)]
mmc: add sdhci-tegra driver for Tegra SoCs
SDHCI driver for Tegra. This driver plugs in as a new variant of
sdhci-pltfm, using the platform data structure passed in to specify the
GPIOs to use for card detect, write protect and card power enablement.
Original driver (of which only the header file is left):
Signed-off-by: Yvonne Yip <y@palm.com>
The rest, which has been rewritten by now:
Signed-off-by: Olof Johansson <olof@lixom.net>
Reviewed-by: Wolfram Sang <w.sang@pengutronix.de>
Acked-by: Mike Rapoport <mike@compulab.co.il>
Signed-off-by: Chris Ball <cjb@laptop.org>
Olof Johansson [Sun, 2 Jan 2011 00:37:32 +0000 (18:37 -0600)]
mmc: sdhci: add quirk for max len ADMA descriptors
Some controllers misparse segment length 0 as being 0, not 65536. Add
a quirk to deal with it.
Signed-off-by: Olof Johansson <olof@lixom.net>
Reviewed-by: Chris Ball <cjb@laptop.org>
Signed-off-by: Chris Ball <cjb@laptop.org>
Linus Walleij [Wed, 22 Dec 2010 08:50:12 +0000 (09:50 +0100)]
mmc: check for > 1 clk_requests when disabling gating
Since we make sure the clock is enabled in the mmc_host_clk_exit()
function we should expect a reference counter of 1, not 0.
Signed-off-by: Linus Walleij <linus.walleij@stericsson.com>
Tested-by: Chris Ball <cjb@laptop.org>
Signed-off-by: Chris Ball <cjb@laptop.org>
Jeongbae Seo [Fri, 8 Oct 2010 08:46:21 +0000 (17:46 +0900)]
mmc: sdhci-s3c: Support controllers with no internal clock divider
This patch supports controllers with no internal clock divider in SDHCI,
such as the s5pc210 board. The external clock divider can be used to
make a proper clock because SDHCI doesn't support internal clock divider
by itself.
If external clock divider type is selected, some functions related
to clock control will be overrided by other functions.
The current clock control index is added to let you know which
clock bus is used for SDHCI when overriding functions.
Checking functions are added into sdhci_s3c_consider_clock, because
the clock divider step is different from that of host controller.
Signed-off-by: Jeongbae Seo <jeongbae.seo@samsung.com>
Cc: Jaehoon Chung <jh80.chung@samsung.com>
Cc: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
Acked-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Chris Ball <cjb@laptop.org>
Jeongbae Seo [Fri, 8 Oct 2010 08:46:20 +0000 (17:46 +0900)]
mmc: sdhci-s3c: Support additional host capabilities
This patch adds support for additional host capabilities like SD/MMC
high speed, SDHCI bus width, etc.
Signed-off-by: Jeongbae Seo <jeongbae.seo@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
Signed-off-by: Chris Ball <cjb@laptop.org>
Takashi Iwai [Thu, 16 Dec 2010 16:54:14 +0000 (17:54 +0100)]
mmc: sdhci: Enable bus-width test for JMicron controllers
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Chris Ball <cjb@laptop.org>
Aries Lee [Wed, 15 Dec 2010 07:14:24 +0000 (08:14 +0100)]
mmc: Test bus-width for old MMC devices
Some old MMC devices fail with the 4/8 bits the driver tries to use
exclusively. This patch adds a test for the given bus setup and falls
back to the lower bit mode (until 1-bit mode) when the test fails.
[Major rework and refactoring by tiwai]
[Quirk addition and many fixes by prakity]
Signed-off-by: Aries Lee <arieslee@jmicron.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Philip Rakity <prakity@marvell.com>
Tested-by: Philip Rakity <prakity@marvell.com>
Signed-off-by: Chris Ball <cjb@laptop.org>
Grant Likely [Sun, 9 Jan 2011 04:42:42 +0000 (21:42 -0700)]
of/flattree: forward declare struct device_node in of_fdt.h
This patch forward declares struct device_node to fix a compile error
when of_fdt.h is included, but of.h is not. Alternately, including
linux/of.h could have been added to of_fdt.h, but that pulls in a lot
of unnecessary declarations when only working with the flattened
form.
Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
Michal Miroslaw [Thu, 2 Dec 2010 22:38:12 +0000 (23:38 +0100)]
mmc: fix detection of memory part of SD-combo card with broken SDIO
In case of failure, mmc_attach_sdio() will power off the SD bus.
Power it up and reinitialize before trying SD memory detection.
Reported-by: Sahitya Tummala <stummala@codeaurora.org>
Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl>
Reviewed-by: Chris Ball <cjb@laptop.org>
Signed-off-by: Chris Ball <cjb@laptop.org>
Ohad Ben-Cohen [Sun, 28 Nov 2010 05:21:29 +0000 (07:21 +0200)]
mmc: sdio: don't reinitialize nonremovable powered-resumed cards
Upon system resume, SDIO core must reinitialize cards that were
powered off during suspend.
If the card had its power kept during suspend (and thus it is
'powered-resumed'), SDIO core performs only a limited reinitializing,
mainly needed to make sure that the card wasn't removed/replaced.
If a __nonremovable__ card is powered-resumed, we can safely skip the
reinitializing phase.
Note: 9b966aa (mmc: sdio: fully reconfigure oldcard on resume) removed
the bus width reconfiguration since mmc_sdio_init_card already does it.
It is brought back now in case mmc_sdio_init_card is skipped.
Signed-off-by: Ohad Ben-Cohen <ohad@wizery.com>
Signed-off-by: Chris Ball <cjb@laptop.org>
Ohad Ben-Cohen [Sun, 28 Nov 2010 05:21:30 +0000 (07:21 +0200)]
mmc: sdio: don't power up cards on system suspend
Initial SDIO runtime PM implementation took a conservative approach
of powering up cards (and fully reinitializing them) on system suspend,
just before the suspend handlers of the relevant drivers were executed.
To avoid redundant power and reinitialization cycles, this patch removes
this behavior: if a card is already powered off when system suspend kicks
in, it is left at that state.
If a card is active when a system sleep starts, everything is
straightforward and works exactly like before. But if the card was
already suspended before the sleep began, then when the MMC core powers
it back up on resume, its run-time PM status has to be updated to reflect
the actual post-system sleep status.
The technique to do that is borrowed from the I2C runtime PM
implementation (for more info see Documentation/power/runtime_pm.txt).
Signed-off-by: Ohad Ben-Cohen <ohad@wizery.com>
Reviewed-by: Chris Ball <cjb@laptop.org>
Signed-off-by: Chris Ball <cjb@laptop.org>
Ohad Ben-Cohen [Sun, 28 Nov 2010 05:21:28 +0000 (07:21 +0200)]
mmc: skip detection of nonremovable cards on rescan
mmc_rescan() checks whether registered cards are still present before
skipping them, by calling the bus-specific ->detect() handler.
With buses that support runtime PM, the card may be powered off at
this point, so they need to be powered on and fully reinitialized before
->detect() executes.
This whole process is redundant with nonremovable cards; in those cases,
we can safely skip calling ->detect() and implicitly assume its success.
Signed-off-by: Ohad Ben-Cohen <ohad@wizery.com>
Reviewed-by: Chris Ball <cjb@laptop.org>
Signed-off-by: Chris Ball <cjb@laptop.org>
Takashi Iwai [Wed, 8 Dec 2010 09:04:30 +0000 (10:04 +0100)]
mmc: Add support for JMicron 388 SD/MMC controller
JMicron 388 SD/MMC combo controller supports the 1.8V low-voltage for
SD, but MMC doesn't work with the low-voltage, resulting in an error
at probing.
This patch adds the support for multiple voltage mask per device type,
so that SD works with 1.8V while MMC forces 3.3V. Here new ocr_avail_*
fields for each device are introduced, so that the actual OCR mask is
switched dynamically.
Also, the restriction of low-voltage in core/sd.c is removed when the
bit is allowed explicitly via ocr_avail_sd mask.
This patch was rewritten from scratch based on Aries' original code.
Signed-off-by: Aries Lee <arieslee@jmicron.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Reviewed-by: Chris Ball <cjb@laptop.org>
Signed-off-by: Chris Ball <cjb@laptop.org>
Joe Perches [Mon, 15 Nov 2010 03:04:30 +0000 (19:04 -0800)]
mmc: davinci_mmc: Remove unnecessary semicolon
Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: Chris Ball <cjb@laptop.org>
Philip Rakity [Tue, 30 Nov 2010 05:55:23 +0000 (00:55 -0500)]
mmc: sdhci: print SD Command and CAPABILITY_1 when dumping registers
More information should be shown when sdhci_dumpregs is called.
Knowing the command is useful for debugging, and Capability 1
is useful for SD v3.
Signed-off-by: Philip Rakity <prakity@marvell.com>
Reviewed-by: Chris Ball <cjb@laptop.org>
Signed-off-by: Chris Ball <cjb@laptop.org>
Linus Walleij [Tue, 9 Nov 2010 02:36:50 +0000 (21:36 -0500)]
mmc: Aggressive clock gating framework
This patch modifies the MMC core code to optionally call the set_ios()
operation on the driver with the clock frequency set to 0 (gate) after
a grace period of at least 8 MCLK cycles, then restore it (ungate)
before any new request. This gives the driver the option to shut down
the MCI clock to the MMC/SD card when the clock frequency is 0, i.e.
the core has stated that the MCI clock does not need to be generated.
It is inspired by existing clock gating code found in the OMAP and
Atmel drivers and brings this up to the host abstraction. Gating is
performed before and after any MMC request.
This patchset implements this for the MMCI/PL180 MMC/SD host controller,
but it should be simple to switch OMAP/Atmel over to using this instead.
mmc_set_{gated,ungated}() add variable protection to the state holders
for the clock gating code. This is particularly important when ordinary
.set_ios() calls would race with the .set_ios() call resulting from a
delayed gate operation.
Signed-off-by: Linus Walleij <linus.walleij@stericsson.com>
Reviewed-by: Chris Ball <cjb@laptop.org>
Tested-by: Chris Ball <cjb@laptop.org>
Signed-off-by: Chris Ball <cjb@laptop.org>
Jennifer Li [Thu, 18 Nov 2010 04:01:59 +0000 (23:01 -0500)]
mmc: sdhci: Disable ADMA on some O2Micro SD/MMC parts.
This patch disables the broken ADMA on selected O2Micro devices.
Signed-off-by: Jennifer Li <Jennifer.li@o2micro.com>
Reviewed-by: Chris Ball <cjb@laptop.org>
Signed-off-by: Chris Ball <cjb@laptop.org>
Axel Lin [Mon, 22 Nov 2010 08:47:51 +0000 (16:47 +0800)]
mmc: mxcmmc: remove a unnecessary release_resource() call
Remove release_resource() after release_mem_region().
Signed-off-by: Axel Lin <axel.lin@gmail.com>
Acked-by: Sascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: Chris Ball <cjb@laptop.org>
Alberto Panizzo [Tue, 9 Nov 2010 10:35:37 +0000 (11:35 +0100)]
mmc: mxcmmc: update the regulator support code to the latest API
This also fixes the build problem introduced by my previous patch
due to unhandled API changes introduced by commit:
99fc513101 (mmc: Move regulator handling closer to core)
Signed-off-by: Alberto Panizzo <maramaopercheseimorto@gmail.com>
Signed-off-by: Chris Ball <cjb@laptop.org>
Alberto Panizzo [Tue, 2 Nov 2010 00:05:37 +0000 (01:05 +0100)]
mmc: mxcmmc: Allow binding a regulator to manage the MMC card voltage
This implementation is based on the pxamci.c driver and it will
be used to support the mx31_3ds machine.
Signed-off-by: Alberto Panizzo <maramaopercheseimorto@gmail.com>
Acked-by: Sascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: Chris Ball <cjb@laptop.org>
Mike Rapoport [Thu, 28 Oct 2010 19:23:53 +0000 (21:23 +0200)]
ARM: dove: Switch SDHCI devices over to "sdhci-dove" driver
Signed-off-by: Mike Rapoport <mike@compulab.co.il>
CC: Saeed Bishara <saeed@marvell.com>
Acked-by: Wolfram Sang <w.sang@pengutronix.de>
Signed-off-by: Chris Ball <cjb@laptop.org>
Mike Rapoport [Sun, 7 Nov 2010 21:57:12 +0000 (16:57 -0500)]
mmc: Add support for the Marvell Dove SDHCI controller
Implement an sdhci-pltfm driver for the controller found in the
Marvell Dove SoC.
Signed-off-by: Mike Rapoport <mike@compulab.co.il>
CC: Saeed Bishara <saeed@marvell.com>
Acked-by: Wolfram Sang <w.sang@pengutronix.de>
Signed-off-by: Chris Ball <cjb@laptop.org>
Urs Fleisch [Fri, 7 Jan 2011 07:15:39 +0000 (07:15 +0000)]
hwmon: driver for Sensirion SHT21 humidity and temperature sensor
Signed-off-by: Urs Fleisch <urs.fleisch@sensirion.com>
Acked-by: Jonathan Cameron <jic23@cam.ac.uk>
Signed-off-by: Guenter Roeck <guenter.roeck@ericsson.com>
Guenter Roeck [Thu, 6 Jan 2011 15:52:03 +0000 (07:52 -0800)]
hwmon: Add humidity attribute to sysfs ABI
The humidity attribute is already supported by the sht15 driver, and another
driver supporting it is about to be added. Make it official.
Signed-off-by: Guenter Roeck <guenter.roeck@ericsson.com>
Acked-by: Jonathan Cameron <jic23@cam.ac.uk>
Acked-by: Jean Delvare <khali@linux-fr.org>
Guenter Roeck [Mon, 28 Jun 2010 20:22:27 +0000 (13:22 -0700)]
hwmon: sysfs ABI updates
Add attributes supported by various PMBus devices to hwmon sysfs ABI.
Signed-off-by: Guenter Roeck <guenter.roeck@ericsson.com>
Jan Beulich [Mon, 6 Dec 2010 16:48:35 +0000 (11:48 -0500)]
hwmon: (via-cputemp) sync hotplug handling with coretemp/pkgtemp
Signed-off-by: Jan Beulich <jbeulich@novell.com>
Signed-off-by: Guenter Roeck <guenter.roeck@ericsson.com>
Davide Rizzo [Thu, 18 Nov 2010 15:23:00 +0000 (07:23 -0800)]
hwmon: (lm95241) Rewrite to avoid using macros
Signed-off-by: Davide Rizzo <elpa.rizzo@gmail.com>
[guenter.roeck@ericsson.com: Formatting changes]
Signed-off-by: Guenter Roeck <guenter.roeck@ericsson.com>
Guenter Roeck [Wed, 10 Nov 2010 18:42:21 +0000 (10:42 -0800)]
hwmon: (applesmc) Fix checkpatch errors and fix value range checks
This patch fixes all checkpatch errors and most of the checkpatch warnings.
It also fixes the range check in applesmc_store_fan_speed().
Signed-off-by: Guenter Roeck <guenter.roeck@ericsson.com>
Acked-by: Henrik Rydberg <rydberg@euromail.se>
Henrik Rydberg [Tue, 9 Nov 2010 15:15:11 +0000 (15:15 +0000)]
hwmon: (applesmc) Update copyright information
With the preceding patches, git blame assigns about half of
the file to the present author. Add a line to the copyright
to reflect this.
Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
Signed-off-by: Guenter Roeck <guenter.roeck@ericsson.com>
Henrik Rydberg [Tue, 9 Nov 2010 15:15:10 +0000 (15:15 +0000)]
hwmon: (applesmc) Silence driver
Make the driver report a single line on success.
Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
Signed-off-by: Guenter Roeck <guenter.roeck@ericsson.com>
Henrik Rydberg [Tue, 9 Nov 2010 15:15:09 +0000 (15:15 +0000)]
hwmon: (applesmc) Simplify feature sysfs handling
Given the dynamic node construction method, the setup of the
accelerometer, light sensor and keyboard backlight sysfs nodes
can be simplified. This patch does not contain any logic changes.
Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
Signed-off-by: Guenter Roeck <guenter.roeck@ericsson.com>
Henrik Rydberg [Tue, 9 Nov 2010 15:15:08 +0000 (15:15 +0000)]
hwmon: (applesmc) Dynamic creation of fan files
With the dynamic temperature group in place, the setup of fans
can be simplified. This patch sets up the fans dynamically, removing
a hundred lines of code.
Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
Signed-off-by: Guenter Roeck <guenter.roeck@ericsson.com>
Henrik Rydberg [Wed, 10 Nov 2010 10:58:05 +0000 (10:58 +0000)]
hwmon: (applesmc) Extract all features generically
With temperature keys being determined automatically, the dmi match
data is only used to assign features that can easily be detected from
the smc. This patch removes the dmi match data altogether, and reduces
the match table to the main machine models.
Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
Signed-off-by: Guenter Roeck <guenter.roeck@ericsson.com>
Henrik Rydberg [Tue, 9 Nov 2010 15:15:06 +0000 (15:15 +0000)]
hwmon: (applesmc) Handle new temperature format
The recent Macbooks have temperature registers of a new type.
This patch adds the logic to handle them.
Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
Signed-off-by: Guenter Roeck <guenter.roeck@ericsson.com>
Henrik Rydberg [Wed, 10 Nov 2010 10:58:04 +0000 (10:58 +0000)]
hwmon: (applesmc) Dynamic creation of temperature files
The current driver creates temperature files based on a list
of temperature keys given per device. Apart from slow adaption
to new machine models, the number of sensors also depends on
the number of processors. This patch looks up the temperature
keys dynamically, thereby supporting all models.
Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
Signed-off-by: Guenter Roeck <guenter.roeck@ericsson.com>
Henrik Rydberg [Wed, 10 Nov 2010 10:58:03 +0000 (10:58 +0000)]
hwmon: (applesmc) Introduce a register lookup table
One main problem with the current driver is the inability to quickly
search for supported keys, resulting in detailed feature maps per
machine model which are cumbersome to maintain.
This patch adds a register lookup table, which enables binary search
for supported keys. The lookup also reduces the io frequency, so the
original mutex is replaced by locks around the actual io.
Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
[guenter.roeck@ericsson.com: Added value range check to key_at_index_store()]
Signed-off-by: Guenter Roeck <guenter.roeck@ericsson.com>