clb [Tue, 2 Aug 2011 07:27:51 +0000 (15:27 +0800)]
fix timeout bug
蔡枫 [Tue, 2 Aug 2011 04:34:49 +0000 (12:34 +0800)]
Merge branch 'develop' of 10.10.10.29:/home/rockchip/kernel into develop
蔡枫 [Tue, 2 Aug 2011 04:34:32 +0000 (12:34 +0800)]
newton:cs42l52 only support 44.1k sample rate
蔡枫 [Tue, 2 Aug 2011 03:55:40 +0000 (11:55 +0800)]
newton:update gt819, add version compare
lyx [Tue, 2 Aug 2011 01:39:17 +0000 (18:39 -0700)]
compass akm8975: modify earlysuspend and resume to nomal suspend and resume
黄涛 [Mon, 1 Aug 2011 11:18:27 +0000 (19:18 +0800)]
rk29: support get boot mode by register
黄涛 [Mon, 1 Aug 2011 06:41:15 +0000 (14:41 +0800)]
Revert "cpufreq: ondemand: rk29 ignore nice default"
This reverts commit
71e7f0d47f03ed67282ae6e5a8c46b3d1b5f0113.
陈金泉 [Mon, 1 Aug 2011 06:42:23 +0000 (14:42 +0800)]
add rt5625.c.enc
陈恒明 [Sat, 30 Jul 2011 02:43:55 +0000 (10:43 +0800)]
rk29: vpu_service: add log when waiting task at power off
邱建斌 [Wed, 27 Jul 2011 02:35:40 +0000 (10:35 +0800)]
wm8994:fix a bug on calling pop noise
ddl [Fri, 29 Jul 2011 10:08:48 +0000 (18:08 +0800)]
camera:fix ov5640 flash complite error
ddl [Fri, 29 Jul 2011 10:08:09 +0000 (18:08 +0800)]
fb: fix fb rotate bug
clb [Fri, 29 Jul 2011 09:07:45 +0000 (17:07 +0800)]
bq27541 board
clb [Fri, 29 Jul 2011 08:46:31 +0000 (16:46 +0800)]
Merge branch 'develop' of 10.10.10.29:/home/rockchip/kernel into develop
clb [Fri, 29 Jul 2011 08:46:02 +0000 (16:46 +0800)]
add bq27541
黄涛 [Fri, 29 Jul 2011 08:22:28 +0000 (16:22 +0800)]
rk29: clock: default codec pll rate set to 297MHz
hhb [Fri, 29 Jul 2011 02:58:24 +0000 (10:58 +0800)]
rk29phonesdk:touch screen->modify gt818 driver to fit the new touch screen panel
陈金泉 [Fri, 29 Jul 2011 02:05:55 +0000 (10:05 +0800)]
Use gpio for codec pop noise
黄涛 [Fri, 29 Jul 2011 01:56:38 +0000 (09:56 +0800)]
rk29: memcpy_dma: fix section mismatch and initialization from incompatible pointer type warning
黄涛 [Fri, 29 Jul 2011 01:51:59 +0000 (09:51 +0800)]
rk29: ipp: fix section mismatch warning and include slab.h
黄涛 [Fri, 29 Jul 2011 01:50:43 +0000 (09:50 +0800)]
rtc: HYM8563: include slab.h, prepare for 2.6.36
黄涛 [Fri, 29 Jul 2011 01:48:10 +0000 (09:48 +0800)]
rk29: cpufreq: fix section mismatch warning
黄涛 [Fri, 29 Jul 2011 01:47:51 +0000 (09:47 +0800)]
rk29: rfkill: sdk: fix section mismatch warning
黄涛 [Fri, 29 Jul 2011 01:47:33 +0000 (09:47 +0800)]
rk29: rfkill: phonepadsdk: fix section mismatch warning
黄涛 [Fri, 29 Jul 2011 01:47:16 +0000 (09:47 +0800)]
rk29: rfkill: phonesdk: fix section mismatch warning
黄涛 [Fri, 29 Jul 2011 01:47:02 +0000 (09:47 +0800)]
rk29: rfkill: a22: fix section mismatch warning
lyx [Fri, 29 Jul 2011 01:26:21 +0000 (18:26 -0700)]
newton: updata irda serial driver
add ioctl get frame length and start send function
黄涛 [Thu, 28 Jul 2011 11:43:10 +0000 (19:43 +0800)]
rk29: ddr_recofig: add ddr_reconfig.c
黄涛 [Thu, 28 Jul 2011 11:40:06 +0000 (19:40 +0800)]
rk29: add dynamic DDR reconfiguration support, default disabled
lbt [Thu, 28 Jul 2011 10:40:52 +0000 (18:40 +0800)]
net:wireless:bcm4329: add country code setting for various radio regulator domains.
phc [Thu, 28 Jul 2011 09:45:06 +0000 (17:45 +0800)]
RK29Smartphone:core voltage changed from 1.25v to 1.30v, when cpu frequecy is 1G Hz
蔡枫 [Thu, 28 Jul 2011 08:12:24 +0000 (16:12 +0800)]
Merge branch 'develop' of 10.10.10.29:/home/rockchip/kernel into develop
黄涛 [Thu, 28 Jul 2011 07:20:41 +0000 (15:20 +0800)]
rk29: adc: fix error: incompatible type for argument 1 of spin_lock
ddl [Thu, 28 Jul 2011 07:27:26 +0000 (15:27 +0800)]
camera: update ov2655 sensor driver
root [Wed, 27 Jul 2011 14:37:54 +0000 (22:37 +0800)]
WM831X:enable battery FET
黄涛 [Thu, 28 Jul 2011 02:08:21 +0000 (10:08 +0800)]
rk2818: remove all rk2818 stuff, prepare for 2.6.36
lmc [Wed, 27 Jul 2011 09:51:04 +0000 (17:51 +0800)]
newton: add support for the pwm led and update board_rk29_newton.c
ddl [Wed, 27 Jul 2011 08:17:02 +0000 (16:17 +0800)]
camera: update gc0308 sensor driver from 和天创
蔡枫 [Wed, 27 Jul 2011 03:29:58 +0000 (11:29 +0800)]
Merge branch 'develop' of 10.10.10.29:/home/rockchip/kernel into develop
蔡枫 [Wed, 27 Jul 2011 03:29:43 +0000 (11:29 +0800)]
newton:modify gt819 fw update and wake up
ddl [Wed, 27 Jul 2011 03:24:16 +0000 (11:24 +0800)]
fb:support 180 degree rotate
ddl [Thu, 21 Jul 2011 09:43:15 +0000 (17:43 +0800)]
camera: fix ov5640 driver auto focus may be failed
ddl [Thu, 21 Jul 2011 02:45:27 +0000 (10:45 +0800)]
uvc: fix dqueue ioctl may hold on forever when sensor is dead
ddl [Tue, 19 Jul 2011 03:16:15 +0000 (11:16 +0800)]
camera: fix ov2659 delay 600ms after capture and pmem allocate for 0.3 Mega
ddl [Sat, 16 Jul 2011 02:54:41 +0000 (10:54 +0800)]
camera: fix ov5642 display abnormity moment after capture in focus infinity
ddl [Tue, 12 Jul 2011 06:43:40 +0000 (14:43 +0800)]
camera: update ov5642 driver
ddl [Tue, 12 Jul 2011 03:18:42 +0000 (11:18 +0800)]
camera: fix camera open operation make a difference between O_RDONLY and O_RDWR for accerate open device
ddl [Thu, 23 Jun 2011 07:56:52 +0000 (15:56 +0800)]
camera: fix 0.0.2 camera driver is not compatible 0.0.1 driver v4l2 format
ddl [Mon, 20 Jun 2011 07:17:23 +0000 (15:17 +0800)]
camera and uvc: support uvc sensor
蔡枫 [Wed, 27 Jul 2011 02:45:43 +0000 (10:45 +0800)]
newton:disable usb host 1.1
xsf@rock-chips.com [Tue, 26 Jul 2011 10:05:42 +0000 (18:05 +0800)]
phonesdk: slove the warnimg that the gpio used but not request
lzg [Tue, 26 Jul 2011 09:55:42 +0000 (17:55 +0800)]
lzg: close mirror in ov2655 for newton
zyc [Tue, 26 Jul 2011 08:01:08 +0000 (01:01 -0700)]
fb:src_vir_w and dst_vir_w of ipp request must be setted.
蔡枫 [Tue, 26 Jul 2011 03:08:08 +0000 (11:08 +0800)]
Merge branch 'develop' of 10.10.10.29:/home/rockchip/kernel into develop
蔡枫 [Tue, 26 Jul 2011 03:07:48 +0000 (11:07 +0800)]
newton:update cs42l52 driver
黄涛 [Tue, 26 Jul 2011 02:16:20 +0000 (10:16 +0800)]
rk29: phonesdk: cpufreq add 1G support
黄涛 [Mon, 25 Jul 2011 08:57:50 +0000 (16:57 +0800)]
rk29: clock: more increase aclk_cpu
黄涛 [Mon, 25 Jul 2011 08:56:19 +0000 (16:56 +0800)]
rk29: cpufreq: support limit by voltage
黄涛 [Mon, 25 Jul 2011 08:55:47 +0000 (16:55 +0800)]
rk29: include/linux/regulator/consumer.h: fix warning: no return statement in function returning non-void
黄涛 [Mon, 25 Jul 2011 08:54:53 +0000 (16:54 +0800)]
rk29: pm-vol.h: fix warning: no return statement in function returning non-void
黄涛 [Mon, 25 Jul 2011 08:32:34 +0000 (16:32 +0800)]
cpufreq: ondemand: rk29 ignore nice default
lyx [Mon, 25 Jul 2011 07:33:35 +0000 (00:33 -0700)]
newton:modify bu92747 irda_irq type for fir EOF
lzg [Mon, 25 Jul 2011 07:13:51 +0000 (15:13 +0800)]
lzg:update mt9p111 and s5k6aa
lmc [Mon, 25 Jul 2011 06:22:30 +0000 (14:22 +0800)]
newton: update board-rk29-newton.c
Thomas Gleixner [Wed, 11 Nov 2009 14:05:25 +0000 (14:05 +0000)]
clockevents: Use u32 for mult and shift factors
The mult and shift factors of clock events differ in their data type
from those of clock sources for no reason. u32 is sufficient for
both. shift is always <= 32 and mult is limited to 2^32-1 to avoid
64bit multiplication overflows in the conversion.
Preparatory patch for a generic mult/shift factor calculation
function.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Tested-by: Mikael Pettersson <mikpe@it.uu.se>
Acked-by: Ralf Baechle <ralf@linux-mips.org>
Acked-by: Linus Walleij <linus.walleij@stericsson.com>
Cc: John Stultz <johnstul@us.ibm.com>
LKML-Reference: <
20091111134229.
725664788@linutronix.de>
xsf@rock-chips.com [Fri, 22 Jul 2011 10:26:18 +0000 (18:26 +0800)]
phonesdk: step voltage regulator for Vcore
张晴 [Fri, 22 Jul 2011 08:55:58 +0000 (01:55 -0700)]
a22 and rk29 phonesdk:32K Frequency switch time cut short
黄涛 [Fri, 22 Jul 2011 08:40:22 +0000 (16:40 +0800)]
Revert "rk29: add hr_msleep/hr_msleep_interruptible/usleep"
This reverts commit
c4c6281fd76657b320bb68a1698d469a620ccb6b.
黄涛 [Fri, 22 Jul 2011 08:19:53 +0000 (16:19 +0800)]
rk29: add hr_msleep/hr_msleep_interruptible/usleep
Patrick Pannuto [Mon, 2 Aug 2010 22:01:04 +0000 (15:01 -0700)]
timer: Added usleep_range timer
usleep_range is a finer precision implementations of msleep
and is designed to be a drop-in replacement for udelay where
a precise sleep / busy-wait is unnecessary.
Since an easy interface to hrtimers could lead to an undesired
proliferation of interrupts, we provide only a "range" API,
forcing the caller to think about an acceptable tolerance on
both ends and hopefully avoiding introducing another interrupt.
INTRO
As discussed here ( http://lkml.org/lkml/2007/8/3/250 ), msleep(1) is not
precise enough for many drivers (yes, sleep precision is an unfair notion,
but consistently sleeping for ~an order of magnitude greater than requested
is worth fixing). This patch adds a usleep API so that udelay does not have
to be used. Obviously not every udelay can be replaced (those in atomic
contexts or being used for simple bitbanging come to mind), but there are
many, many examples of
mydriver_write(...)
/* Wait for hardware to latch */
udelay(100)
in various drivers where a busy-wait loop is neither beneficial nor
necessary, but msleep simply does not provide enough precision and people
are using a busy-wait loop instead.
CONCERNS FROM THE RFC
Why is udelay a problem / necessary? Most callers of udelay are in device/
driver initialization code, which is serial...
As I see it, there is only benefit to sleeping over a delay; the
notion of "refactoring" areas that use udelay was presented, but
I see usleep as the refactoring. Consider i2c, if the bus is busy,
you need to wait a bit (say 100us) before trying again, your
current options are:
* udelay(100)
* msleep(1) <-- As noted above, actually as high as ~20ms
on some platforms, so not really an option
* Manually set up an hrtimer to try again in 100us (which
is what usleep does anyway...)
People choose the udelay route because it is EASY; we need to
provide a better easy route.
Device / driver / boot code is *currently* serial, but every few
months someone makes noise about parallelizing boot, and IMHO, a
little forward-thinking now is one less thing to worry about
if/when that ever happens
udelay's could be preempted
Sure, but if udelay plans on looping 1000 times, and it gets
preempted on loop 200, whenever it's scheduled again, it is
going to do the next 800 loops.
Is the interruptible case needed?
Probably not, but I see usleep as a very logical parallel to msleep,
so it made sense to include the "full" API. Processors are getting
faster (albeit not as quickly as they are becoming more parallel),
so if someone wanted to be interruptible for a few usecs, why not
let them? If this is a contentious point, I'm happy to remove it.
OTHER THOUGHTS
I believe there is also value in exposing the usleep_range option; it gives
the scheduler a lot more flexibility and allows the programmer to express
his intent much more clearly; it's something I would hope future driver
writers will take advantage of.
To get the results in the NUMBERS section below, I literally s/udelay/usleep
the kernel tree; I had to go in and undo the changes to the USB drivers, but
everything else booted successfully; I find that extremely telling in and
of itself -- many people are using a delay API where a sleep will suit them
just fine.
SOME ATTEMPTS AT NUMBERS
It turns out that calculating quantifiable benefit on this is challenging,
so instead I will simply present the current state of things, and I hope
this to be sufficient:
How many udelay calls are there in 2.6.35-rc5?
udealy(ARG) >= | COUNT
1000 | 319
500 | 414
100 | 1146
20 | 1832
I am working on Android, so that is my focus for this. The following table
is a modified usleep that simply printk's the amount of time requested to
sleep; these tests were run on a kernel with udelay >= 20 --> usleep
"boot" is power-on to lock screen
"power collapse" is when the power button is pushed and the device suspends
"resume" is when the power button is pushed and the lock screen is displayed
(no touchscreen events or anything, just turning on the display)
"use device" is from the unlock swipe to clicking around a bit; there is no
sd card in this phone, so fail loading music, video, camera
ACTION | TOTAL NUMBER OF USLEEP CALLS | NET TIME (us)
boot | 22 | 1250
power-collapse | 9 | 1200
resume | 5 | 500
use device | 59 | 7700
The most interesting category to me is the "use device" field; 7700us of
busy-wait time that could be put towards better responsiveness, or at the
least less power usage.
Signed-off-by: Patrick Pannuto <ppannuto@codeaurora.org>
Cc: apw@canonical.com
Cc: corbet@lwn.net
Cc: arjan@linux.intel.com
Cc: Randy Dunlap <rdunlap@xenotime.net>
Cc: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
蔡枫 [Fri, 22 Jul 2011 07:01:20 +0000 (15:01 +0800)]
Merge branch 'develop' of 10.10.10.29:/home/rockchip/kernel into develop
clb [Fri, 22 Jul 2011 07:02:31 +0000 (15:02 +0800)]
modify cir send
蔡枫 [Fri, 22 Jul 2011 06:55:55 +0000 (14:55 +0800)]
Merge branch 'develop' of 10.10.10.29:/home/rockchip/kernel into develop
蔡枫 [Fri, 22 Jul 2011 06:55:44 +0000 (14:55 +0800)]
newton:remove flash usb mass storage
黄涛 [Fri, 22 Jul 2011 06:23:40 +0000 (14:23 +0800)]
rk29: sdk: defconfig: kernel log buffer size 512KB
黄涛 [Fri, 22 Jul 2011 06:23:30 +0000 (14:23 +0800)]
rk29: phonesdk: defconfig: kernel log buffer size 512KB
黄涛 [Fri, 22 Jul 2011 06:23:19 +0000 (14:23 +0800)]
rk29: phonepadsdk: defconfig: kernel log buffer size 512KB
黄涛 [Fri, 22 Jul 2011 06:22:59 +0000 (14:22 +0800)]
rk29: ddr3sdk: defconfig: kernel log buffer size 512KB
yangkai [Fri, 22 Jul 2011 01:45:07 +0000 (09:45 +0800)]
fix bug of GIC crash
yangkai [Thu, 21 Jul 2011 11:56:02 +0000 (19:56 +0800)]
move clk_set_rate out of irq disabled
张晴 [Thu, 21 Jul 2011 10:04:52 +0000 (03:04 -0700)]
a22 and 29phonesdk:sey VCC25 0V when in sleep,29phonesdk:set key gpio pullup/down disable
kfx [Thu, 21 Jul 2011 08:36:50 +0000 (16:36 +0800)]
update hdmi drivers
kfx [Thu, 21 Jul 2011 07:34:40 +0000 (15:34 +0800)]
rk29_fb.c: hdmi_get_scale-->hdmi_get_fbscale
phc [Thu, 21 Jul 2011 07:23:31 +0000 (15:23 +0800)]
RK29SmartPhone:sync. SDCard code with XBW, use the old config
kfx [Thu, 21 Jul 2011 01:44:14 +0000 (09:44 +0800)]
close hdmi debug info
kfx [Thu, 21 Jul 2011 01:29:37 +0000 (09:29 +0800)]
update hdmi driver
黄涛 [Thu, 21 Jul 2011 01:18:45 +0000 (09:18 +0800)]
arm: Makefile: better support make boot.img
邱建斌 [Wed, 20 Jul 2011 11:27:59 +0000 (19:27 +0800)]
wm8994: fix a bug for Bluetooth headsets
邱建斌 [Tue, 19 Jul 2011 02:05:32 +0000 (10:05 +0800)]
rk29_phone: fix heatset main mic Call Features
蔡枫 [Wed, 20 Jul 2011 09:57:11 +0000 (17:57 +0800)]
newton:update config and board file
陈恒明 [Wed, 20 Jul 2011 08:07:00 +0000 (16:07 +0800)]
rk29: vpu_service: fix bug when delay work and cancel work come at the same time
胡卫国 [Wed, 20 Jul 2011 07:06:20 +0000 (15:06 +0800)]
support 3 usb ethernet: dm9620, ax8872b, sr9700 (2)
胡卫国 [Wed, 20 Jul 2011 07:03:14 +0000 (15:03 +0800)]
support 3 usb ethernet: dm9620, ax8872b, sr9700
陈辉 [Wed, 20 Jul 2011 06:33:20 +0000 (14:33 +0800)]
change AXI frequency division from 3 to 2
杨云 [Wed, 20 Jul 2011 01:56:48 +0000 (09:56 +0800)]
Merge branch 'develop' of /home/rockchip/kernel into develop
杨云 [Wed, 20 Jul 2011 00:50:06 +0000 (08:50 +0800)]
Merge remote branch 'origin/develop_xbw_update-SDCard' into develop
xbw [Tue, 19 Jul 2011 14:12:51 +0000 (22:12 +0800)]
Integrate the XBW-version of SDMMC-drver into rk29_ddr3sdk
黄涛 [Tue, 19 Jul 2011 10:10:54 +0000 (18:10 +0800)]
Revert "rk29: vpu_service: fix bug when __cancel_delayed_work and delay work run at the same time"
This reverts commit
c41dd263406cad12ec15d39986a530be1d23ad11.
蔡枫 [Tue, 19 Jul 2011 10:04:28 +0000 (18:04 +0800)]
newton:add gt819 firmware
蔡枫 [Tue, 19 Jul 2011 10:00:33 +0000 (18:00 +0800)]
Merge branch 'develop' of 10.10.10.29:/home/rockchip/kernel into develop