commit 0b7071f0561583d1fc4af4f282b99e5cccb1e571
Author: Tushar Behera <email address hidden>
Date: Mon Mar 26 17:00:24 2012 +0530
alarmtimer: Fix conflicting definitions of alarmtimer_get_rtcdev
Both the implementation in kernel/time/alarmtime.c have same definition.
This fixes following compile-time error.
kernel/time/alarmtimer.c:113:46: error: macro "alarmtimer_get_rtcdev" passed 1 arguments, but takes just 0
kernel/time/alarmtimer.c:114:1: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘{’ token
make[2]: *** [kernel/time/alarmtimer.o] Error 1
Signed-off-by: Tushar Behera <email address hidden>
Signed-off-by: Andrey Konovalov <email address hidden>
commit b3d755383884f9c9d1589baa513afb6507741d0e
Author: Tushar Behera <email address hidden>
Date: Mon Mar 26 16:54:15 2012 +0530
security: Add proper checks for Android specific capability checks
Commit b641072 ("security: Add AID_NET_RAW and AID_NET_ADMIN capability
check in cap_capable().") introduces additional checks for AID_NET_xxx
macros. Since the header file including those macros are conditionally
included, the checks should also be conditionally executed.
Signed-off-by: Tushar Behera <email address hidden>
Signed-off-by: Andrey Konovalov <email address hidden>
commit fc46f3107d8b3470ea39822764ed453c7ad599ea
Author: Andrey Konovalov <email address hidden>
Date: Fri Mar 23 21:48:02 2012 +0400
Include if_pppolac.h and if_pppopns.h into header-y target
This is required to pass the headers_check
Signed-off-by: Andrey Konovalov <email address hidden>
commit 12e12c6292fe89392e352ccb25cfa44610e46348
Author: Sumit Semwal <email address hidden>
Date: Fri Mar 23 20:31:39 2012 +0530
dma-buf: Correct dummy function declarations.
Dummy functions for the newly added cpu access ops are needed for compilation
when dma-buf framework is not compiled-in.
Also, the introduction of flags in dma_buf_fd needs to be added to dummy
functions as well.
Signed-off-by: Sumit Semwal <email address hidden>
commit e5ddd60534f8ab2c17514b5b3af7d8f88f4b6408
Merge: 9c0d192 4bbdc68
Author: Andrey Konovalov <email address hidden>
Date: Thu Mar 22 22:15:11 2012 +0400
Merge branch 'tracking-armlt-android-config' into integration-linux-linaro
commit 4bbdc68a3ba52b205a4733ec69ac806d0df1edd1
Author: Jon Medhurst <email address hidden>
Date: Thu Mar 1 17:13:55 2012 +0000
Android: vexpress defconfig
Signed-off-by: Jon Medhurst <email address hidden>
commit 9c0d19268593ac05e97e70ab53dbc86081ef22cd
Merge: 4893b82 88bef40
Author: Andrey Konovalov <email address hidden>
Date: Thu Mar 22 22:14:47 2012 +0400
Merge branch 'tracking-linaro-android-3.3' into integration-linux-linaro
commit 88bef40b1205317592bb0c6c60ebf084422485c3
Author: Nick Kralevich <email address hidden>
Date: Wed Feb 22 15:48:11 2012 -0800
android: ram_console: honor dmesg_restrict
The Linux kernel has a setting called dmesg_restrict. When true,
only processes with CAP_SYSLOG can view the kernel dmesg logs. This
helps prevent leaking of kernel information into user space.
On Android, it's possible to bypass these restrictions by viewing
/proc/last_kmsg.
This change makes /proc/last_kmsg require the same permissions as
dmesg.
Bug: 5555691
Signed-off-by: Nick Kralevich <email address hidden>
Change-Id: I50ecb74012ef2ac0a3cff7325192634341fddae9
commit 91154555190c1d25d02db5240a4cb89d2603c6da
Merge: cd7bc93 192cfd5
Author: Colin Cross <email address hidden>
Date: Mon Mar 5 14:17:12 2012 -0800
Merge commit 'v3.3-rc6' into android-3.3
commit cd7bc93466877cb1396cbddb4e608252db2a9a3f
Author: Colin Cross <email address hidden>
Date: Mon Mar 5 13:04:53 2012 -0800
android: staging: ram_console: fix crash in ram_console_late_init
If the persistent ram buffer is not available, ram_console_late_init
would crash when dereferencing ram_console_zone. Return early if
ram console was not initialized.
Change-Id: Idff0f690406cdb2fe977bab64a39dc8b40dd4566
Signed-off-by: Colin Cross <email address hidden>
commit 1ebd20c6af8dd5e4d480a2616ac31afb89d52e52
Author: Colin Cross <email address hidden>
Date: Mon Mar 5 13:29:45 2012 -0800
usb: gadget: adb: allow freezing in adb_read
wait_event_interruptible in adb_read might return -ERESTARTSYS if
userspace is frozen during adb_read or another signal is delivered
to adb. If so, don't set dev->error to avoid resetting the adb
connection.
Change-Id: I5a7baa013a9a3a3b5305de7e6a0d18546a560018
Signed-off-by: Colin Cross <email address hidden>
commit a5d2e61148fba0f09499c4b65902adebc391350b
Merge: fbd94b8 6b21d18
Author: Colin Cross <email address hidden>
Date: Fri Mar 2 12:34:55 2012 -0800
Merge commit 'v3.3-rc5' into android-3.3
commit fbd94b86e411e6ea0b4fa56682120b32af5c16c2
Merge: 293f64a b01543d
Author: Colin Cross <email address hidden>
Date: Tue Feb 21 12:45:05 2012 -0800
Merge commit 'v3.3-rc4' into android-3.3
Conflicts:
drivers/mmc/core/sdio.c
drivers/staging/android/Kconfig
drivers/staging/android/lowmemorykiller.c
Change-Id: I39ef9b27bb9febaee811b200ccac0ed5d51147f3
commit 293f64abe6006f6ff1cc6f672e27729ff7b74ead
Author: Colin Cross <email address hidden>
Date: Fri Aug 26 17:49:35 2011 -0700
android: persistent_trace: ftrace into persistent_ram
persistent_trace uses the ftrace infrastructure, but traces
into a persistent_ram buffer instead of the regular ftrace
ringbuffer. After a reset or panic, the trace can be
decoded with cat /sys/kernel/debug/persistent_trace.
Change-Id: Ia6025ccc323599c7844e0783af0386d32ed7419e
Signed-off-by: Colin Cross <email address hidden>
commit 822a717286c1120b0d89163b809d7848966ada12
Author: Colin Cross <email address hidden>
Date: Mon Aug 29 11:52:57 2011 -0700
android: persistent_ram: add notrace to persistent_ram_write
Add the notrace attribute to persistent_ram_write and the
non-ecc functions that it calls to allow persistent_ram to
be used for ftracing (only when ecc is disabled).
Change-Id: I9c96039d9a6281fc6a62ddb1c7128c26627cc258
Signed-off-by: Colin Cross <email address hidden>
commit 8a512a1782f77e55846ac3e94e8b645754a1eb7d
Author: Colin Cross <email address hidden>
Date: Fri Aug 26 14:49:41 2011 -0700
android: persistent_ram: make persistent_ram_write atomic
Allow persistent_ram_write to be called on multiple cpus at
the same time, as long as ecc is not in use. Uses atomics
for the buffer->start and buffer->size counters.
Change-Id: I49b70ec3bc7a651e6ed8e54b6f8f530babde680a
Signed-off-by: Colin Cross <email address hidden>
commit b30c3717b6c906434d2a925283674f8f1e5f46e1
Author: Colin Cross <email address hidden>
Date: Tue Feb 14 16:45:20 2012 -0800
android: ram_console: convert to new persistent_ram init
Convert ram_console to the new persistent_ram_init parameters that
only take a struct device * and ecc settings.
Change-Id: I12b018381a2ed5965a8a4b0da40c3e640f92b6cf
Signed-off-by: Colin Cross <email address hidden>
commit 5934af0e38ac27a52c602ee9119c24e09c7b6d3a
Author: Colin Cross <email address hidden>
Date: Tue Feb 14 16:41:47 2012 -0800
android: persistent_ram: handle reserving and mapping memory
Replace the ioremapped memory passed in from the drivers with
a memblock_reserve and vmap. Adds a new function,
persistent_ram_early_init, designed to be called from the machine
init_early callback, that calls memblock_remove and saves the
provided persistent ram area layout.
Drivers only pass in their struct device * and ecc settings.
Locating and mapping the memory is now handled entirely within
persistent_ram.
Change-Id: Ibc87ec27b70ed1c928eaa487503469e199973058
Signed-off-by: Colin Cross <email address hidden>
commit 26fbd61454e01c65d2b090df1d204dde228d74e0
Author: Colin Cross <email address hidden>
Date: Sat Aug 20 19:04:13 2011 -0700
android: persistent_ram: refactor ecc support
Remove CONFIG_ANDROID_RAM_CONSOLE_ERROR_CORRECTION and related
#ifdefs. Also allow persistent ram zones without ecc enabled.
For some use cases, like the data portion of the upcoming
persistent_vars patches, or a persistent ftrace ringbuffer,
ecc on every update is too expensive.
Signed-off-by: Colin Cross <email address hidden>
Change-Id: Ia710344b6c54fe252e0a87353955e063b3c054ab
commit 9d0470c1b1ec46eccb8ccb3896c2bfe9a2ecdb44
Author: Colin Cross <email address hidden>
Date: Fri Aug 19 16:37:18 2011 -0700
android: ram_console: split out persistent ram
Split ram_console into two halves.
persistent_ram is a set of apis that handle a block of memory
that does not get erased across a reboot. It provides functions
to fill it as a single buffer or a ring buffer, and to extract
the old data after a reboot. It handles ecc on the data to
correct bit errors introduced during reboot.
ram_console is now a small wrapper around persistent_ram that
feeds console data into the ringbuffer, and exports the old
data to /proc/last_kmsg after a reboot.
Signed-off-by: Colin Cross <email address hidden>
Change-Id: I8c7495e3a6a3dd7cdf3cb067e1afceb3b6aaef3c
commit af8e872f1eb05a8bfcf2e49e156e1332cc621819
Author: Colin Cross <email address hidden>
Date: Tue Feb 7 17:16:18 2012 -0800
android: ram_console: drop verbose ram_console support
Equivalent functionality can be obtained with loglevel=15
Change-Id: I977d70f3b72fd48cfbb9f791de37e74ac711ce21
Signed-off-by: Colin Cross <email address hidden>
commit 95ec301716e0da38e65a5f4aa5d018d07f23247d
Author: Colin Cross <email address hidden>
Date: Tue Feb 7 16:57:52 2012 -0800
android: ram_console: drop early buffer support
Early ramconsole is not very useful, an early crash will prevent
getting the logged data out on the next boot, and CONFIG_DEBUG_LL=y
will get the same information. Drop it to simplify a future
refactoring.
Change-Id: Ifc306db9a8cceec4ca980cf24783c3fe764eb1fb
Signed-off-by: Colin Cross <email address hidden>
commit 9a53eaca13677626a477f677cd3d04c4d552ad9d
Author: Colin Cross <email address hidden>
Date: Tue Feb 7 14:45:17 2012 -0800
android: ram_console: move footer strings
Don't store the bootinfo string and the ecc status string with
the recovered old log data. This will simplify refactoring the
persistent ram code out of the ram console code later.
Change-Id: I883bb6eec5bad5c1b1247da807e982e744fe40ba
Signed-off-by: Colin Cross <email address hidden>
commit 1aadd4eb5d16abeaf2524659296f642d5bd1f138
Author: Colin Cross <email address hidden>
Date: Wed Feb 1 20:29:49 2012 -0800
Revert "HACK: android-alarm: wakelock workaround"
This reverts commit 1f1a4544e5196a8e30cec7a21724e190bb51a2df.
Conflicts:
drivers/staging/android/alarm-dev.c
drivers/staging/android/alarm.c
Change-Id: I5717b7736b10de3a288613c8a7e4e5281c78fcaf
commit c9baaf8edf30ba0cc017f26202cd6781851dc570
Author: Colin Cross <email address hidden>
Date: Wed Feb 1 20:27:21 2012 -0800
staging: android: alarm-dev: remove sysdev.h include
Change-Id: Iebb8dd9beb60a8761a8b3b7861553624bd4f9779
Signed-off-by: Colin Cross <email address hidden>
commit ab4c5e585b56183b0c1330624e3a9bd565c218e0
Author: John Stultz <email address hidden>
Date: Fri Jan 27 00:16:31 2012 -0800
android-alarm: Remove unused android alarm in-kernel interfaces
Now that alarm-dev.c uses the upstreamed alarmtimer interfaces,
we can remove the otherwise unused in-kernel android alarm api.
Signed-off-by: John Stultz <email address hidden>
commit 5cf73bb208983a8f383e6d332303d907ce07ecee
Author: John Stultz <email address hidden>
Date: Fri Jan 27 00:15:24 2012 -0800
android-alarm: Rework alarm-dev.c to use upstreamed alarmtimers
This reworks the alarm-dev.c to use the upstreamed alarmtimers
interface.
Signed-off-by: John Stultz <email address hidden>
commit 47be93e1fb9fed8f92cbb544bab55f5749ef93ed
Author: John Stultz <email address hidden>
Date: Fri Dec 9 18:44:02 2011 -0800
alarmtimer: Provide accessor to alarmtimer rtc device
The Android alarm interface provides a settime call that sets both
the alarmtimer RTC device and CLOCK_REALTIME to the same value.
Since there may be multiple rtc devices, provide a hook to access the
one the alarmtimer infrastructure is using.
Signed-off-by: John Stultz <email address hidden>
commit 9bb0edbc57c06202eec6c2162ae419a6d413ee61
Author: John Stultz <email address hidden>
Date: Tue Jun 21 17:01:27 2011 -0700
android-alarm: Convert ALARM_ELAPSED_REALTIME to use CLOCK_BOOTTIME
The ALARM_ELAPSED_REALTIME clock domain in Android pointed
to the need for something similar in linux system-wide
(instead of limited to just the alarm interface).
Thus CLOCK_BOOTTIME was introduced into the upstream kernel
in 2.6.39.
This patch attempts to convert the android alarm timer to utilize
the kernel's CLOCK_BOOTTIME clockid for ALARM_ELAPSED_REALTIME,
instead of managing it itself.
Change-Id: I4867ed2823ebb29d27c53f236c6a3dbb47f3ac78
Signed-off-by: John Stultz <email address hidden>
commit 1cc7ab39279fb73f139caeac209b87bc50449f43
Author: John Stultz <email address hidden>
Date: Mon Jan 30 18:25:52 2012 -0800
android-alarm: Support old drivers via preprocessor aliasing
Older out of tree drivers that were desgined to the Android Alarm
in-kernel API may not build due to the namespace collision fixed in
an earlier patch. Per Arve's suggestion, this patch provides
preprocessor macros that allow older drivers to build.
CC: Arve Hjønnevåg <email address hidden>
CC: Greg KH <email address hidden>
CC: Android Kernel Team <email address hidden>
Signed-off-by: John Stultz <email address hidden>
commit 44af2ea0876914b58cd660445ca7ac87bcdc0a5b
Author: John Stultz <email address hidden>
Date: Fri Jan 27 00:41:48 2012 -0800
android-alarm: Fixup minor pr_alarm warnings
This patch fixes the following warnings:
drivers/staging/android/alarm.c: In function ‘alarm_timer_triggered’:
drivers/staging/android/alarm.c:344: warning: format ‘%d’ expects type ‘int’, but argument 2 has type ‘long int’
drivers/staging/android/alarm.c:367: warning: format ‘%d’ expects type ‘int’, but argument 2 has type ‘long int’
CC: Arve Hjønnevåg <email address hidden>
CC: Greg KH <email address hidden>
CC: Android Kernel Team <email address hidden>
Signed-off-by: John Stultz <email address hidden>
commit 98c9209602d4d6fb0c8584a23f1d00a31ef09e17
Author: JP Abgrall <email address hidden>
Date: Fri Dec 2 14:02:29 2011 +0800
android-alarm: Fix bad index when canceling alarms[]
It was using ANDROID_ALARM_ELAPSED_REALTIME_WAKEUP_MASK as an
index.
CC: Arve Hjønnevåg <email address hidden>
CC: Greg KH <email address hidden>
CC: Android Kernel Team <email address hidden>
CC: JP Abgrall <email address hidden>
Change-Id: I919860cc71254453e382616bce9fd5455802cb3d
Signed-off-by: JP Abgrall <email address hidden>
[jstultz: Tweaked commit subject]
Signed-off-by: John Stultz <email address hidden>
commit 62b1ec65bf2102141de83ae01d77f509ad9e2146
Author: Arve Hjønnevåg <email address hidden>
Date: Fri Dec 2 14:02:27 2011 +0800
android-alarm: Update hrtimer if alarm at the head of the queue is reprogrammed
If an alarm was restarted with a value that moved it away from the head
of a queue, the hrtimer would not be updated. This would cause unnecessary
wakeups.
CC: Arve Hjønnevåg <email address hidden>
CC: Greg KH <email address hidden>
CC: Android Kernel Team <email address hidden>
Change-Id: If379f8dd92b0bdb3173bd8d057adfe0dc1d15259
Signed-off-by: Arve Hjønnevåg <email address hidden>
Signed-off-by: John Stultz <email address hidden>
commit b3aebc7313d340b431d40de3b27a54f325c6cc7f
Author: Praneeth Kumar Bajjuri <email address hidden>
Date: Fri Dec 2 14:02:23 2011 +0800
android-alarm: Disable Android alarm driver by default
Do not enable Android alarm driver by default
CC: Arve Hjønnevåg <email address hidden>
CC: Greg KH <email address hidden>
CC: Android Kernel Team <email address hidden>
CC: Praneeth Bajjuri <email address hidden>
Change-Id: Iff8f7a65c4eceecfd084074937c72824697b5e7f
Signed-off-by: Praneeth Bajjuri <email address hidden>
[jstultz: tweaked commit subject & msg]
Signed-off-by: John Stultz <email address hidden>
commit afa7529ab0348c2b4677c37b02cd275116f66b19
Author: John Stultz <email address hidden>
Date: Fri Dec 9 18:38:41 2011 -0800
HACK: android-alarm: wakelock workaround
Allow Android alarmtimer device to build while wakelocks are still
out of tree.
CC: Arve Hjønnevåg <email address hidden>
CC: Greg KH <email address hidden>
CC: Android Kernel Team <email address hidden>
Signed-off-by: John Stultz <email address hidden>
commit f7bc8ba108f4dbc8445b409cc537cae7653af3fe
Author: John Stultz <email address hidden>
Date: Thu Jan 26 23:39:16 2012 -0800
android-alarm: Fix namespace collision with upstreamed alarmtimers
The upstreamed alarmtimers are similar but not quite 100% API
compatibile with the android in-kernel alarm api. To aid the
transition, prefix the the android in-kernel api with android_
CC: Arve Hjønnevåg <email address hidden>
CC: Greg KH <email address hidden>
CC: Android Kernel Team <email address hidden>
Signed-off-by: John Stultz <email address hidden>
commit 20bb505c2942a90bea46a8ab24e13ca4bca2eafd
Author: John Stultz <email address hidden>
Date: Tue Dec 20 17:48:38 2011 -0800
android-alarm: Fix time.h include to avoid compile issue
The file asm/mach/time.h doesn't exist on all arches,
so include <linux/time.h>
CC: Arve Hjønnevåg <email address hidden>
CC: Greg KH <email address hidden>
CC: Android Kernel Team <email address hidden>
Signed-off-by: John Stultz <email address hidden>
commit 1de07df286400a7bf86d4d4a325d3fee8b0da410
Author: Andy Green <email address hidden>
Date: Fri Dec 2 14:03:17 2011 +0800
android-alarm: Add needed module.h includes
Add module.h includes required to build
CC: Arve Hjønnevåg <email address hidden>
CC: Greg KH <email address hidden>
CC: Android Kernel Team <email address hidden>
CC: Andy Green <email address hidden>
Signed-off-by: Andy Green <email address hidden>
[jstultz: Tweaked commit subject, folded two patches
into one]
Signed-off-by: John Stultz <email address hidden>
commit b634b4c7bcde2897452e25fe6021f78e3f220dc2
Author: Arve Hjønnevåg <email address hidden>
Date: Fri Dec 2 14:02:26 2011 +0800
android-alarm: Don't use save_time_delta.
Remove references to non-existant save_time_delta.
Change-Id: Iaefeca497de02fe36b7f5d79075912f6e349ec53
CC: Arve Hjønnevåg <email address hidden>
CC: Greg KH <email address hidden>
CC: Android Kernel Team <email address hidden>
Signed-off-by: Arve Hjønnevåg <email address hidden>
[Added commit message -jstultz]
Signed-off-by: John Stultz <email address hidden>
commit cf7187dd9232df28362a357e6b96293b0933bb29
Author: Arve Hjønnevåg <email address hidden>
Date: Tue Oct 14 17:38:04 2008 -0700
android-alarm: Add android alarm driver & in-kernel alarm interface
Drivers can now create alarms that will use an hrtimer while the
system is running and the rtc to wake up from suspend.
CC: Arve Hjønnevåg <email address hidden>
CC: Greg KH <email address hidden>
CC: Android Kernel Team <email address hidden>
Signed-off-by: Arve Hjønnevåg <email address hidden>
[Fold and move alarm driver and interface to staging
& fix whitespace issue -jstultz]
Signed-off-by: John Stultz <email address hidden>
commit 9fb2094ccfb16e7eba2c855213bf38ac32b1a224
Author: Benoit Goby <email address hidden>
Date: Mon Dec 19 14:39:37 2011 -0800
usb: gadget: accessory: Add Android Accessory function
USB accessory mode allows users to connect USB host hardware
specifically designed for Android-powered devices. The accessories
must adhere to the Android accessory protocol outlined in the
http://accessories.android.com documentation. This allows
Android devices that cannot act as a USB host to still interact with
USB hardware. When an Android device is in USB accessory mode, the
attached Android USB accessory acts as the host, provides power
to the USB bus, and enumerates connected devices.
Signed-off-by: Mike Lockwood <email address hidden>
commit 7acbc30084dfb1a42c1ba16787974d5132793885
Author: Benoit Goby <email address hidden>
Date: Mon Dec 19 14:38:41 2011 -0800
usb: gadget: adb: Add ADB function
Android Debug Bridge (adb) is a command line tool that lets
users communicate with a Android-powered device. It is used
mainly to debug applications and tranfer files. f_adb implements
the transport layer between the ADB Server (on the host) and the
ADBD daemon (on the device).
Signed-off-by: Mike Lockwood <email address hidden>
commit 368fc61d8c0a57078e6cf24ced2efbad64df7ebd
Author: Benoit Goby <email address hidden>
Date: Mon Dec 19 14:37:50 2011 -0800
usb: gadget: mtp: Add MTP/PTP function
USB gadget function driver used by the Android framework to
implement the MTP and PTP protocols. It creates a character device
that provides an interface for fast transfer of files and
supports transferring files greater than 4GB.
Signed-off-by: Mike Lockwood <email address hidden>
commit 6512cf21c5cab75854b180e1d32016a98ae2ab85
Author: Benoit Goby <email address hidden>
Date: Mon Dec 12 13:01:23 2011 -0800
usb: gadget: Add Android Composite Gadget driver
The Android Gadget driver is a composite driver that allows
userspace to change at runtime the list of functions enabled in
its configuration and to configure these functions. It supports
multiple functions: acm, adb, rndis, mtp/ptp, mass storage and
accessory.
It is usually controlled by a daemon that changes the configuration
based on user settings. For example, rndis is enabled when the user
enables sharing the phone data connection and adb (Android Debug
Bridge) is only enabled when the user wants to debug applications
for security reasons.
As an example on how to use it, the following shell commands will
make the gadget disconnect from the host and make it be re-enumerated
as a composite with 1 rndis and 2 acm interfaces, and a different
product id:
echo 0 > /sys/class/android_usb/android0/enable
echo rndis,acm > /sys/class/android_usb/android0/functions
echo 2 > /sys/class/android_usb/android0/f_acm/instances
echo 2d01 > /sys/class/android_usb/android0/idProduct
echo 1 > /sys/class/android_usb/android0/enable
The driver requires a gadget controller that supports software
control of the D+ pullup and the controller driver must support
disabling the pullup during composite_bind.
Signed-off-by: Mike Lockwood <email address hidden>
Signed-off-by: Benoit Goby <email address hidden>
commit db59316f98f0d0f7705149758f780145ad383be2
Author: Benoit Goby <email address hidden>
Date: Fri Dec 16 20:00:01 2011 -0800
usb: gadget: f_rndis: Set rndis vendor parameters
Add a variant of rndis_bind_config to let gadget drivers change
rndis vendorID and manufacturer parameters.
Signed-off-by: Benoit Goby <email address hidden>
commit 0d0b055819b060ed7f78be5ffa73dc8326b3ec39
Author: Benoit Goby <email address hidden>
Date: Fri Dec 16 20:00:38 2011 -0800
usb: gadget: rndis: Fix re-binding f_rndis
f_rndis checks if rndis_string_defs[0].id is null to setup rndis
and allocate string ids when it is bound to the first configuration:
/* maybe allocate device-global string IDs */
if (rndis_string_defs[0].id == 0) {
/* ... and setup RNDIS itself */
status = rndis_init();
if (status < 0)
return status;
rndis_string_defs[0].id must be reset to 0 on unbind for rndis to be
correctly initialized on the next composite_bind.
Signed-off-by: Benoit Goby <email address hidden>
commit e7521613d1ae86cc4402ea5a97f481d7f369a9cb
Author: Mike Lockwood <email address hidden>
Date: Fri Aug 12 14:35:42 2011 -0700
usb: gadget: Add variant of gether_setup to customize the device name
This is needed to avoid name collisions on SoCs that have both usb
gadget and usb host, where usb0 may be the rndis interface or a usb
ethernet adapter.
Signed-off-by: Mike Lockwood <email address hidden>
Signed-off-by: Benoit Goby <email address hidden>
commit 2be1bbd30d421b0e32c8b7937ec6667f989eae0c
Author: Benoit Goby <email address hidden>
Date: Wed Dec 14 18:04:07 2011 -0800
usb: gadget: u_serial: Allow calling gserial_setup after init
Remove geserial_setup from the init section. The android gadget
driver calls it after probe, after userspace has configured the
gadget driver.
Signed-off-by: Benoit Goby <email address hidden>
commit 88ae7e96fe46f80cbcbf8d6867235947e85f4e32
Author: Benoit Goby <email address hidden>
Date: Tue Dec 13 16:01:41 2011 -0800
usb: gadget: composite: Initialize config->interface
Reset config->interface in usb_add_config, as it may contain pointers to
functions from a previous session if config is removed and re-added.
Signed-off-by: Benoit Goby <email address hidden>
commit c1a9c6a9723ec9e5f9da945e09da6fe7bbd314c2
Author: Benoit Goby <email address hidden>
Date: Tue Dec 13 16:16:31 2011 -0800
usb: gadget: composite: Add usb_remove_config
Add usb_remove_config to unbind a configuration and remove it from
the configs list. This allows implementing composite gadget drivers that
can disconnect themself from the bus and that will later be re-enumerated
with a different configuration.
Gadget drivers must call usb_gadget_disconnect before calling this
function to disable the pullup, disconnect the device from the host,
and prevent the host from enumerating the device while we are changing
the gadget configuration.
Signed-off-by: Benoit Goby <email address hidden>
commit 9872d6b4634173783c199355f62369ed3068c470
Author: Colin Cross <email address hidden>
Date: Wed Feb 1 14:23:15 2012 -0800
usb: otg: otg-wakelock: fix build for 3.3
Add missing module.h include
Change-Id: Ib0538ca569c9e0713ceefcd1f91c6bc089d2f2ba
Signed-off-by: Colin Cross <email address hidden>
commit b3b5e3974ff26806a7810cfea00c341394b3df3e
Author: Todd Poynor <email address hidden>
Date: Mon Sep 26 20:35:30 2011 -0700
usb: otg: Temporarily grab wakelock on charger and disconnect events
Change-Id: If995d4af4adcb08e8369009483f2956ad9627267
Signed-off-by: Todd Poynor <email address hidden>
commit 56697856e8a6a0dac3769879036e15981b1b8b77
Author: Jaikumar Ganesh <email address hidden>
Date: Wed Sep 21 17:18:56 2011 -0700
HID: Add null check for hidinput.
Add null check for hidinput before calling input_register.
Change-Id: Ib3fc0507e4091192360f3395d13d489db9b5a4d2
Signed-off-by: Jaikumar Ganesh <email address hidden>
commit d6039d941c408a5db7ba78a178ed7b771503108f
Author: Jaikumar Ganesh <email address hidden>
Date: Tue Sep 20 16:47:43 2011 -0700
HID: magicmouse: Add input_register callback.
The magicmouse driver needs to setup the input mapping
after reports are parsed but before device is registered.
Change-Id: Ic3a0ff4fc056f5d374bb7ea1bd831a175c690b0b
Signed-off-by: Jaikumar Ganesh <email address hidden>
commit f4f47cda9f9543626d5f495f3306e3ba51211b5b
Author: Jaikumar Ganesh <email address hidden>
Date: Tue Sep 20 16:40:43 2011 -0700
HID: Add input_register callback.
Add input_register callback which gets called after
hid_configure_usage is called for all the reports
and before the input device is registered. This allows
individual drivers to do extra work like input mapping just
before device registration.
Based on discussions with David Herrmann <email address hidden>
Change-Id: Idab6fb4f7b1e5e569bd0410967288717e9d34c98
Signed-off-by: Jaikumar Ganesh <email address hidden>
commit b5989152ac6a54f792eee3fc43a5bdbe940da189
Author: Todd Poynor <email address hidden>
Date: Thu Aug 25 19:29:45 2011 -0700
PM: Backoff suspend if repeated attempts fail
Change-Id: I32289676d95a307ea3aa5e78f6c126ca979c0fec
Signed-off-by: Todd Poynor <email address hidden>
commit 1755ed4b3cbe6d427c83a4f59587651297876bf6
Author: Todd Poynor <email address hidden>
Date: Wed Aug 24 15:01:30 2011 -0700
fuse: Freeze client on suspend when request sent to userspace
Suspend attempts can abort when the FUSE daemon is already frozen
and a client is waiting uninterruptibly for a response, causing
freezing of tasks to fail.
Use the freeze-friendly wait API, but disregard other signals.
Change-Id: Icefb7e4bbc718ccb76bf3c04daaa5eeea7e0e63c
Signed-off-by: Todd Poynor <email address hidden>
commit 385a38dc03d246d6e354897ca17a066496dd7571
Author: Jeff Brown <email address hidden>
Date: Sun Jul 24 14:31:14 2011 -0700
hid-multitouch: Filter collections by application usage.
This change fixes two problems.
First, it ensures that the hid-multitouch driver does not incorrectly
map GenericDesktop usages that are intended for other applications,
such as a Mouse.
Second, it sets the appropriate input properties so that user-space
can distinguish TouchScreen devices (INPUT_PROP_DIRECT) from
TouchPad devices (INPUT_PROP_POINTER) and configure them accordingly.
Change-Id: I8c2d947929186ffe7cf04b37c76e29b9abecf8cb
Signed-off-by: <email address hidden>
commit 119823ad4d66dbb150d8adfef1d949c69f71f46e
Author: Chia-chi Yeh <email address hidden>
Date: Fri Jul 15 15:32:57 2011 -0700
net: Only NET_ADMIN is allowed to fully control TUN interfaces.
Signed-off-by: Chia-chi Yeh <email address hidden>
commit 36c417868678f9c304e9c7bc0465cb16010c8074
Author: Ashish Sharma <email address hidden>
Date: Fri Oct 7 17:54:16 2011 -0700
bridge: Have tx_bytes count headers like rx_bytes.
Since rx_bytes accounting does not include Ethernet Headers in
br_input.c, excluding ETH_HLEN on the transmit path for consistent
measurement of packet length on both the Tx and Rx chains.
The clean way would be for Rx to include the eth header, but the
skb len has already been adjusted by the time the br code sees the skb.
This is only a temporary workaround until we can completely ignore or
cleanly fix the skb->len handling.
Change-Id: I910de95a4686b2119da7f1f326e2154ef31f9972
Signed-off-by: Ashish Sharma <email address hidden>
commit a2f3d15bfeaa7d76c1d7aed75608370cd448911f
Author: JP Abgrall <email address hidden>
Date: Thu Sep 29 15:36:49 2011 -0700
netfilter: ipv6: fix crash caused by ipv6_find_hdr()
When calling:
ipv6_find_hdr(skb, &thoff, -1, NULL)
on a fragmented packet, thoff would be left with a random
value causing callers to read random memory offsets with:
skb_header_pointer(skb, thoff, ...)
Now we force ipv6_find_hdr() to return a failure in this case.
Calling:
ipv6_find_hdr(skb, &thoff, -1, &fragoff)
will set fragoff as expected, and not return a failure.
Change-Id: Ib474e8a4267dd2b300feca325811330329684a88
Signed-off-by: JP Abgrall <email address hidden>
commit e2259443b613ae42e47dff2a06d60d6a06949c31
Author: JP Abgrall <email address hidden>
Date: Tue Jul 12 12:02:59 2011 -0700
netfilter: fixup the quota2, and enable.
The xt_quota2 came from
http://sourceforge.net/projects/xtables-addons/develop
It needed tweaking for it to compile within the kernel tree.
Fixed kmalloc() and create_proc_entry() invocations within
a non-interruptible context.
Removed useless copying of current quota back to the iptable's
struct matchinfo:
- those are per CPU: they will change randomly based on which
cpu gets to update the value.
- they prevent matching a rule: e.g.
-A chain -m quota2 --name q1 --quota 123
can't be followed by
-D chain -m quota2 --name q1 --quota 123
as the 123 will be compared to the struct matchinfo's quota member.
Use the NETLINK NETLINK_NFLOG family to log a single message
when the quota limit is reached.
It uses the same packet type as ipt_ULOG, but
- never copies skb data,
- uses 112 as the event number (ULOG's +1)
It doesn't log if the module param "event_num" is 0.
Change-Id: I021d3b743db3b22158cc49acb5c94d905b501492
Signed-off-by: JP Abgrall <email address hidden>
commit d6b8ed727301280ae0a142a7f23bfac988cdafa9
Author: JP Abgrall <email address hidden>
Date: Tue Jun 21 11:14:49 2011 -0700
netfilter: adding the original quota2 from xtables-addons
The original xt_quota in the kernel is plain broken:
- counts quota at a per CPU level
(was written back when ubiquitous SMP was just a dream)
- provides no way to count across IPV4/IPV6.
This patch is the original unaltered code from:
http://sourceforge.net/projects/xtables-addons
at commit e84391ce665cef046967f796dd91026851d6bbf3
Change-Id: I19d49858840effee9ecf6cff03c23b45a97efdeb
Signed-off-by: JP Abgrall <email address hidden>
commit 0d7182be8b2802aa4c705be4b2f58d4cdd085984
Author: Todd Poynor <email address hidden>
Date: Fri Jul 1 17:19:56 2011 -0700
USB: OTG: Take wakelock when VBUS present
Enabled by default, can disable with:
echo N > /sys/module/otg_wakelock/parameters/enabled
Change-Id: I34974624c52ae23490852b44c270d2f326cf6116
Signed-off-by: Todd Poynor <email address hidden>
commit d25e821ee0c89613dc0ec4124485fcbad43fe16c
Author: Rebecca Schultz Zavin <email address hidden>
Date: Wed Jun 29 19:44:29 2011 -0700
gpu: ion: Add ION Memory Manager
Signed-off-by: Rebecca Schultz Zavin <email address hidden>
commit bc6d40caf40b25e953ca05ceb68b71bed6cf1c19
Author: JP Abgrall <email address hidden>
Date: Thu Jun 16 14:37:03 2011 -0700
netfilter: have ip*t REJECT set the sock err when an icmp is to be sent
Allow the REJECT --reject-with icmp*blabla to also set the matching error
locally on the socket affected by the reject.
This allows the process to see an error almost as if it received it
via ICMP.
It avoids the local process who's ingress packet is rejected to have to
wait for a pseudo-eternity until some timeout kicks in.
Ideally, this should be enabled with a new iptables flag similar to
--reject-with-sock-err
For now it is enabled with CONFIG_IP*_NF_TARGET_REJECT_SKERR option.
Change-Id: I649a4fd5940029ec0b3233e5abb205da6984891e
Signed-off-by: JP Abgrall <email address hidden>
commit 8585cf5bba9514ff9ac3fb1db23c7fd36e618077
Author: JP Abgrall <email address hidden>
Date: Mon Jun 20 12:41:46 2011 -0700
netfilter: add xt_qtaguid matching module
This module allows tracking stats at the socket level for given UIDs.
It replaces xt_owner.
If the --uid-owner is not specified, it will just count stats based on
who the skb belongs to. This will even happen on incoming skbs as it
looks into the skb via xt_socket magic to see who owns it.
If an skb is lost, it will be assigned to uid=0.
To control what sockets of what UIDs are tagged by what, one uses:
echo t $sock_fd $accounting_tag $the_billed_uid \
> /proc/net/xt_qtaguid/ctrl
So whenever an skb belongs to a sock_fd, it will be accounted against
$the_billed_uid
and matching stats will show up under the uid with the given
$accounting_tag.
Because the number of allocations for the stats structs is not that big:
~500 apps * 32 per app
we'll just do it atomic. This avoids walking lists many times, and
the fancy worker thread handling. Slabs will grow when needed later.
It use netdevice and inetaddr notifications instead of hooks in the core dev
code to track when a device comes and goes. This removes the need for
exposed iface_stat.h.
Put procfs dirs in /proc/net/xt_qtaguid/
ctrl
stats
iface_stat/<iface>/...
The uid stats are obtainable in ./stats.
Change-Id: I01af4fd91c8de651668d3decb76d9bdc1e343919
Signed-off-by: JP Abgrall <email address hidden>
commit a4d6a1e97442c9249201c924e9799d07ce4bac18
Author: JP Abgrall <email address hidden>
Date: Wed Jun 15 16:52:40 2011 -0700
nf: xt_socket: export the fancy sock finder code
The socket matching function has some nifty logic to get the struct sock
from the skb or from the connection tracker.
We export this so other xt_* can use it, similarly to ho how
xt_socket uses nf_tproxy_get_sock.
Change-Id: I11c58f59087e7f7ae09e4abd4b937cd3370fa2fd
Signed-off-by: JP Abgrall <email address hidden>
commit 83dc69347210467aa6bafc5825c91d2864876527
Author: Dmitry Shmidt <email address hidden>
Date: Fri Oct 28 10:35:37 2011 -0700
net: wireless: Skip connect warning for CONFIG_CFG80211_ALLOW_RECONNECT
Signed-off-by: Dmitry Shmidt <email address hidden>
commit 83cf0216e98084e4587572d9bf1f5f85337dab07
Author: Dmitry Shmidt <email address hidden>
Date: Tue Oct 18 12:30:02 2011 -0700
net: wireless: Fix CFG80211_ALLOW_RECONNECT option for disconnect
Signed-off-by: Dmitry Shmidt <email address hidden>
commit 19146a36dd14d94d9f1277b2d767c88af6665be0
Author: Dmitry Shmidt <email address hidden>
Date: Thu Sep 15 09:22:35 2011 -0700
net: wireless: Add CFG80211_ALLOW_RECONNECT option
Signed-off-by: Dmitry Shmidt <email address hidden>
commit 7e1377fbf54d80bbd922881a5f16556dbd3481e8
Author: jun.ho.lee <email address hidden>
Date: Fri Sep 9 18:50:02 2011 +0900
net: wireless: change the expire time about each entry of scan results
Change-Id: I6e8d838d91bebc28f4cd09dcb8b9f1de775be13d
Signed-off-by: jun.ho.lee <email address hidden>
Signed-off-by: Dmitry Shmidt <email address hidden>
commit e0ff4f32f3f29c6cd89be9249f4de260e9779bd1
Author: Dmitry Shmidt <email address hidden>
Date: Wed Jun 8 15:16:52 2011 -0700
net: wireless: Add CONFIG_WIFI_CONTROL_FUNC option
Signed-off-by: Dmitry Shmidt <email address hidden>
commit 7eaf839c7a921a5c20ff0dd2c8c03d1b4eeb37db
Author: Colin Cross <email address hidden>
Date: Wed Feb 1 14:10:59 2012 -0800
wireless: bcmdhd: fix build for 3.3
ndo_set_multicast_list was replaced with ndo_set_rx_mode.
Add no_cck and dont_wait_for_ack parameters to mgmt_tx.
Change-Id: I56e0a924ee4417c6616336f9a8133425030b4d62
Signed-off-by: Colin Cross <email address hidden>
commit a2d116668045dd40f3fed04e7430b01becd1bf8d
Author: Dmitry Shmidt <email address hidden>
Date: Tue May 24 11:14:33 2011 -0700
net: wireless: bcmdhd: Initial version based on 5.90.195.23
Change-Id: I91012d9adf1d9506cc0f832a683bd88684111b71
Signed-off-by: Dmitry Shmidt <email address hidden>
commit 060e2e47059fb66a3ef99053be16e636478adcfc
Author: Dmitry Shmidt <email address hidden>
Date: Mon Feb 14 16:58:48 2011 -0800
net: wireless: Add get_country_code functionality to platform
Signed-off-by: Dmitry Shmidt <email address hidden>
commit e6e726512aec3fa373c6883e6b7f491fffc33402
Author: Dmitry Shmidt <email address hidden>
Date: Thu Jun 3 10:55:33 2010 -0700
network: wireless: Add get_mac_addr functionality to platform
Signed-off-by: Dmitry Shmidt <email address hidden>
commit 0aa3e8c9bc977759b321eaffa1d1956341f0a8bf
Author: Arve Hjønnevåg <email address hidden>
Date: Wed Feb 23 16:51:58 2011 -0800
ARM: etm: Power down etm(s) when tracing is not enabled
Without this change a saw an 18% increase in idle power consumption
on one deivce when trace support is compiled into the kernel. Now
I see the same increase only when tracing.
Change-Id: I21bb5ecf1b7d29ce3790ceeb5323409cc22d5a3b
Signed-off-by: Arve Hjønnevåg <email address hidden>
commit 519432d188a7efccf8a68f6fe276190a88b8cf5d
Author: Arve Hjønnevåg <email address hidden>
Date: Fri Feb 4 22:38:14 2011 -0800
ARM: etm: Support multiple ETMs/PTMs.
If more than one ETM or PTM are present, configure all of them
and enable the formatter in the ETB. This allows tracing on dual
core systems (e.g. omap4).
Change-Id: I028657d5cf2bee1b23f193d4387b607953b35888
Signed-off-by: Arve Hjønnevåg <email address hidden>
commit 102804cc017edff355309758ed346fc9098f74bd
Author: Arve Hjønnevåg <email address hidden>
Date: Fri Feb 4 22:38:14 2011 -0800
ARM: etm: Return the entire trace buffer if it is empty after reset
On some SOCs the read and write pointer are reset when the chip
resets, but the trace buffer content is preserved. If the status
bits indicates that the buffer is empty and we have never started
tracing, assume the buffer is full instead. This can be useful
if the system rebooted from a watchdog reset.
Change-Id: Iaf21c2c329c6059004ee1d38e3dfff66d7d28029
Signed-off-by: Arve Hjønnevåg <email address hidden>
commit 15de182469b60c343f3eb4a46ba34f2d24fd03d6
Author: Arve Hjønnevåg <email address hidden>
Date: Mon Feb 14 21:09:51 2011 -0800
ARM: etm: Add some missing locks and error checks
It is not safe to call etm_lock or etb_lock without holding the
mutex since another thread may also have unlocked the registers.
Also add some missing checks for valid etb_regs in the etm sysfs
entries.
Change-Id: I939f76a6ea7546a8fc0d4ddafa2fd2b6f38103bb
Signed-off-by: Arve Hjønnevåg <email address hidden>
commit 41aaa01be4835a7425ecd016219e6bee74c4090c
Author: Arve Hjønnevåg <email address hidden>
Date: Mon Jan 31 18:33:55 2011 -0800
ARM: etm: Configure data tracing
The old code enabled data tracing, but did not configure the
range. We now configure it to trace all data addresses by default,
and add a trace_data_range attribute to change the range or disable
data tracing.
Change-Id: I9d04e3e1ea0d0b4d4d5bcb93b1b042938ad738b2
Signed-off-by: Arve Hjønnevåg <email address hidden>
commit 6602784b0d9d1f57953cefd54f38f2fa829149f0
Author: Arve Hjønnevåg <email address hidden>
Date: Fri Jan 28 23:44:43 2011 -0800
ARM: etm: Allow range selection
Trace kernel text segment by default as before, allow tracing of other
ranges by writing a range to /sys/devices/etm/trace_range, or to trace
everything by writing 0 0.
Change-Id: Ibb734ca820fedf79560b20536247f1e1700cdc71
Signed-off-by: Arve Hjønnevåg <email address hidden>
commit fe838c87a6e3ef7bfd0c86651dce40681300c28d
Author: Arve Hjønnevåg <email address hidden>
Date: Mon Jan 31 21:34:47 2011 -0800
ARM: etm: Don't try to clear the buffer full status after reading the buffer
If the write address was at the end of the buffer, toggling the trace
capture bit would set the RAM-full status instead of clearing it, and
if any of the stop bits in the formatter is set toggling the trace
capture bit may not do anything.
Instead use the read position to find out if the data has already
been returned.
This also fixes the read function so it works when the trace buffer is
larger than the buffer passed in from user space. The old version
would reset the trace buffer pointers after every read, so the second
call to read would always return 0.
Change-Id: I75256abe2556adfd66fd5963e46f9e84ae4645e1
Signed-off-by: Arve Hjønnevåg <email address hidden>
commit 91516a10b4882050c98668cfbf1f28dcb8b2d1a0
Author: Arve Hjønnevåg <email address hidden>
Date: Fri Jan 28 23:33:11 2011 -0800
ARM: etm: Don't limit tracing to only non-secure code.
On some systems kernel code is considered secure, and this code
already limits tracing to the kernel text segment which results
in no trace data.
Change-Id: I098a0753e874859446d098e1ee209f67fc13cd5d
Signed-off-by: Arve Hjønnevåg <email address hidden>
commit e4374a790af1934bd84274d315f6653bea33adcc
Author: Arve Hjønnevåg <email address hidden>
Date: Fri Jan 28 23:12:32 2011 -0800
ARM: etm: Don't require clock control
If clk_get fail, assume the etb does not need a separate clock.
Change-Id: Ia0bf3f5391e94a60ea45876aa7afc8a88a7ec3bf
Signed-off-by: Arve Hjønnevåg <email address hidden>
commit b0a4a0d3d51ed0289d432bab8f014c276b0ab46b
Author: Chia-chi Yeh <email address hidden>
Date: Fri Apr 15 15:22:09 2011 -0700
net: Reorder incoming packets in PPPoLAC and PPPoPNS.
PPP handles packet loss but does not work with out of order packets.
This change performs reordering of incoming data packets within a
sliding window of one second. Since sequence number is optional,
receiving a packet without it will drop all queued packets.
Currently the logic is triggered by incoming packets, so queued
packets have to wait till another packet is arrived. It is done for
simplicity since no additional locks or threads are required. For
reliable protocols, a retransmission will kick it. For unreliable
protocols, queued packets just seem like packet loss. Time-critical
protocols might be broken, but they never work with queueing anyway.
Signed-off-by: Chia-chi Yeh <email address hidden>
commit f66447a866d904209a8eca64e68ff84e9d618734
Author: Colin Cross <email address hidden>
Date: Fri Jan 28 19:32:31 2011 -0800
cpufreq: Prevent memory leak in cpufreq_stats on hotplug
Ensures that cpufreq_stats_free_table is called before
__cpufreq_remove_dev on cpu hotplug (which also occurs during
suspend on SMP systems) to make sure that sysfs_remove_group
can get called before the cpufreq kobj is freed. Otherwise,
the sysfs file structures are leaked.
Change-Id: I87e55277272f5cfad47e9e7c92630e990bb90069
Signed-off-by: Colin Cross <email address hidden>
commit f1724765f84dffeaa3bbb09115f55efa79382f17
Author: Arve Hjønnevåg <email address hidden>
Date: Tue Nov 23 18:20:28 2010 -0800
staging: android: lowmemorykiller: Don't wait more than one second for a process to die
If a process forked and the child process was killed by the
lowmemorykiller, the lowmemory killer would be disabled until
the parent process reaped the child or it died itself.
Change-Id: I709b1a4e1b1a1970e51d26a39fcbee57977bbc7f
Signed-off-by: Arve Hjønnevåg <email address hidden>
commit 84a7bd81bc301b7a25151dac04a7c39048df33be
Author: Rabin Vincent <email address hidden>
Date: Thu Sep 9 10:48:21 2010 +0530
lowmemorykiller: don't unregister notifier from atomic context
The lowmemorykiller registers an atomic notifier for notfication of when
the task is freed. From this atomic notifier callback, it removes the
atomic notifier via task_free_unregister(). This is incorrect because
atomic_notifier_chain_unregister() calls syncronize_rcu(), which can
sleep, which shouldn't be done from an atomic notifier.
Fix this by registering the notifier during init, and only unregister it
if the lowmemorykiller is unloaded.
Change-Id: I1577b04e617bc2b2e39dcb490fcfc9ce660eb7ec
Signed-off-by: Rabin Vincent <email address hidden>
Signed-off-by: Christian Bejram <email address hidden>
commit f06c513a97d15d3ce8a0c054eef76500a5d94b4c
Author: Mike Chan <email address hidden>
Date: Tue Jun 22 11:26:45 2010 -0700
cpufreq: interactive: New 'interactive' governor
This governor is designed for latency-sensitive workloads, such as
interactive user interfaces. The interactive governor aims to be
significantly more responsive to ramp CPU quickly up when CPU-intensive
activity begins.
Existing governors sample CPU load at a particular rate, typically
every X ms. This can lead to under-powering UI threads for the period of
time during which the user begins interacting with a previously-idle system
until the next sample period happens.
The 'interactive' governor uses a different approach. Instead of sampling
the CPU at a specified rate, the governor will check whether to scale the
CPU frequency up soon after coming out of idle. When the CPU comes out of
idle, a timer is configured to fire within 1-2 ticks. If the CPU is very
busy from exiting idle to when the timer fires then we assume the CPU is
underpowered and ramp to MAX speed.
If the CPU was not sufficiently busy to immediately ramp to MAX speed, then
the governor evaluates the CPU load since the last speed adjustment,
choosing the highest value between that longer-term load or the short-term
load since idle exit to determine the CPU speed to ramp to.
A realtime thread is used for scaling up, giving the remaining tasks the
CPU performance benefit, unlike existing governors which are more likely to
schedule rampup work to occur after your performance starved tasks have
completed.
The tuneables for this governor are:
/sys/devices/system/cpu/cpufreq/interactive/min_sample_time:
The minimum amount of time to spend at the current frequency before
ramping down. This is to ensure that the governor has seen enough
historic CPU load data to determine the appropriate workload.
Default is 80000 uS.
/sys/devices/system/cpu/cpufreq/interactive/go_maxspeed_load
The CPU load at which to ramp to max speed. Default is 85.
Change-Id: Ib2b362607c62f7c56d35f44a9ef3280f98c17585
Signed-off-by: Mike Chan <email address hidden>
Signed-off-by: Todd Poynor <email address hidden>
Bug: 3152864
commit f175747e3062448ce1220f0120b61fd0fcd8a3e4
Author: Todd Poynor <email address hidden>
Date: Fri Jun 24 19:33:01 2011 -0700
ARM: Move leds idle start/stop calls to idle notifiers
Change-Id: I5d8e4e85b17bbab7992ecb477f0bdb5e4138b166
Acked-by: Nicolas Pitre <email address hidden>
Signed-off-by: Todd Poynor <email address hidden>
commit 2ff98538277159d47873dac5823af6dcd09cf9ee
Author: Todd Poynor <email address hidden>
Date: Wed Jun 15 17:44:50 2011 -0700
ARM: Call idle notifiers
Change-Id: Id833e61c13baa1783705ac9e9046d1f0cc90c95e
Acked-by: Nicolas Pitre <email address hidden>
Signed-off-by: Todd Poynor <email address hidden>
commit 2d3c750ee707c9b47d7dc6627cc08f56626dc6c0
Author: Todd Poynor <email address hidden>
Date: Wed Jun 15 17:21:57 2011 -0700
Move x86_64 idle notifiers to generic
Move the x86_64 idle notifiers originally by Andi Kleen and Venkatesh
Pallipadi to generic.
Change-Id: Idf29cda15be151f494ff245933c12462643388d5
Acked-by: Nicolas Pitre <email address hidden>
Signed-off-by: Todd Poynor <email address hidden>
commit 8244456a30e056d95f885f8738470c5504390e2c
Author: Brian Swetland <email address hidden>
Date: Thu Oct 21 14:19:31 2010 -0700
staging: remove Greg's TODO, now obsolete.
Signed-off-by: Brian Swetland <email address hidden>
commit 1b548cd626018bdf525c2693b3003c73e85fe578
Author: Iliyan Malchev <email address hidden>
Date: Sat Jun 5 17:36:24 2010 -0700
ARM: Add generic fiq serial debugger
Change-Id: Ibb536c88f0dbaf4766d0599296907e35e42cbfd6
Signed-off-by: Iliyan Malchev <email address hidden>
Signed-off-by: Arve Hjønnevåg <email address hidden>
commit 0b7cd86476f30e16d5f012fe8bae0e505ad76880
Author: Arve Hjønnevåg <email address hidden>
Date: Mon Sep 27 17:50:00 2010 -0700
ARM: Add fiq_glue
Change-Id: I27d2554e07d9de204e0a06696d38db51608d9f6b
Signed-off-by: Arve Hjønnevåg <email address hidden>
Signed-off-by: Colin Cross <email address hidden>
commit 180b4c853abfba102048379098e2234dcf291a51
Author: Arve Hjønnevåg <email address hidden>
Date: Thu Jun 3 16:33:07 2010 -0700
Allow CONFIG_STACKTRACE to be enabled by itself.
This allows us to get a kernel stacktrace for a thread though /proc.
Also enable it by default.
Change-Id: If8c21cd02feaf9863f4841ace524fa30c7328d49
Signed-off-by: Arve Hjønnevåg <email address hidden>
commit b2c9130f7eaa7c0806abcad5757d36f6644198d0
Author: Dmitry Shmidt <email address hidden>
Date: Mon Aug 30 10:29:37 2010 -0700
net: Fix CONFIG_RPS option to be turned off
Signed-off-by: Dmitry Shmidt <email address hidden>
commit 985c9208982a0b9a7b7298025d9fa1b119732b3d
Author: Colin Cross <email address hidden>
Date: Tue Apr 20 19:54:09 2010 -0700
misc: add akm8975 compass driver
Originally written by HTC. Contributions by Motorola and AKM.
misc: Import akm8975 from Motorola
Major style and code cleanups by Praveen Bharathi <email address hidden>
misc: akm8975: clean up code violations in akm8975.c
misc: akm8975: Clean up coding style, add suspend and resume
Change-Id: I4196913f15aec2dfbed47506d3dc085aada8e92d
Signed-off-by: Dima Zavin <email address hidden>
commit 1656b680930561b9b0fdefb2e212461c444a2e00
Author: Mike Chan <email address hidden>
Date: Fri May 28 14:32:19 2010 -0700
net: activity_stats: Add statistics for network transmission activity
When enabled, tracks the frequency of network transmissions
(inbound and outbound) and buckets them accordingly.
Buckets are determined by time between network activity.
Each bucket represents the number of network transmisions that were
N sec or longer apart. Where N is defined as 1 << bucket index.
This network pattern tracking is particularly useful for wireless
networks (ie: 3G) where batching network activity closely together
is more power efficient than far apart.
New file: /proc/net/stat/activity
output:
Min Bucket(sec) Count
1 7
2 0
4 1
8 0
16 0
32 2
64 1
128 0
Change-Id: I4c4cd8627b872a55f326b1715c51bc3bdd6e8d92
Signed-off-by: Mike Chan <email address hidden>
commit 730c51b8da40df4d6b27faea011849107eddb765
Author: San Mehat <email address hidden>
Date: Thu May 6 15:43:46 2010 -0700
staging: android: lowmemorykiller: Remove bitrotted codepath
Now that we're murder-synchronous, this code path will never be
called (and if it does, it doesn't tell us anything useful other
than we killed a task that was already being killed by somebody
else but hadn't gotten its' signal yet)
Signed-off-by: San Mehat <email address hidden>
commit af0240f095a704f75f032bbcc01f670c65c163ba
Author: San Mehat <email address hidden>
Date: Thu May 6 15:40:07 2010 -0700
staging: android: lowmemorykiller: Fix task_struct leak
As it turns out, the CONFIG_PROFILING interfaces leak a
task struct if the notifier chain returns NOTIFY_OK.. doh.
This patch reworks lowmemkiller to use the new generic task
free notifier chain.
Signed-off-by: San Mehat <email address hidden>
commit f7983488cb4c691cb58e9d4c81bdc64af3c6c857
Author: San Mehat <email address hidden>
Date: Mon Apr 26 15:11:04 2010 -0700
lowmemorykiller: Don't try to kill the same pid over and over
Under certain circumstances, a process can take awhile to
handle a sig-kill (especially if it's in a scheduler group with
a very low share ratio). When this occurs, lowmemkiller returns
to vmscan indicating the process memory has been freed - even
though the process is still waiting to die. Since the memory
hasn't actually freed, lowmemkiller is called again shortly after,
and picks the same process to die; regardless of the fact that
it has already been 'scheduled' to die and the memory has already
been reported to vmscan as having been freed.
Solution is to check fatal_signal_pending() on the selected
task, and if it's already pending destruction return; indicating
to vmscan that no resources were freed on this pass.
Signed-off-by: San Mehat <email address hidden>
commit 667dffa787a87ef4ea43cc65957ce96077fdcd0a
Author: San Mehat <email address hidden>
Date: Thu May 6 15:37:55 2010 -0700
sched: Add a generic notifier when a task struct is about to be freed
This patch adds a notifier which can be used by subsystems that may
be interested in when a task has completely died and is about to
have it's last resource freed.
The Android lowmemory killer uses this to determine when a task
it has killed has finally given up its goods.
Signed-off-by: San Mehat <email address hidden>
commit e14ae279472248bb10351a03c4d6ffc3b224094c
Author: Dmitry Shmidt <email address hidden>
Date: Thu Mar 18 16:04:18 2010 -0700
wlan: Extract generic wlan platform data from tiwlan specific header
Signed-off-by: Dmitry Shmidt <email address hidden>
commit d6a41cd16c6e1e0251f129ce98274d5de93ef91c
Author: San Mehat <email address hidden>
Date: Sat Oct 10 09:35:24 2009 -0700
block: genhd: Add disk/partition specific uevent callbacks for partition info
For disk devices, a new uevent parameter 'NPARTS' specifies the number
of partitions detected by the kernel. Partition devices get 'PARTN' which
specifies the partitions index in the table, and 'PARTNAME', which
specifies PARTNAME specifices the partition name of a partition device
Signed-off-by: Dima Zavin <email address hidden>
commit 98ec37b666b3b0a005e33858ee151ba98d3aaa8c
Author: San Mehat <email address hidden>
Date: Wed Sep 16 12:39:10 2009 -0700
proc: smaps: Allow smaps access for CAP_SYS_RESOURCE
Signed-off-by: San Mehat <email address hidden>
commit f521244ad0f238eb348b349e51f222ceff8473ec
Author: hyungseoung.yoo <email address hidden>
Date: Fri Nov 18 13:57:01 2011 +0900
Bluetooth: Keep master role when SCO or eSCO is active
This improves compatbility with a lot of headset / chipset
combinations. Ideally this should not be needed.
Change-Id: I8b676701e12e416aa7d60801b9d353b15d102709
Signed-off-by: hyungseoung.yoo <email address hidden>
Signed-off-by: Jaikumar Ganesh <email address hidden>
commit 88cb72e1243df38ea2b84f81fa70b398e6234953
Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx>
Date: Tue Aug 9 16:26:55 2011 -0400
Bluetooth: Fix l2cap conn failures for ssp devices
Commit 330605423c fixed l2cap conn establishment for non-ssp remote
devices by not setting HCI_CONN_ENCRYPT_PEND every time conn security
is tested (which was always returning failure on any subsequent
security checks).
However, this broke l2cap conn establishment for ssp remote devices
when an ACL link was already established at SDP-level security. This
fix ensures that encryption must be pending whenever authentication
is also pending.
Change-Id: I6876ea5134e90d1f3d0f84e8ed40b92977b3df64
Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx>
commit aec7cfff78584386acff3f02c9c2011b3f558352
Author: Vinicius Costa Gomes <email address hidden>
Date: Thu Jul 7 18:59:41 2011 -0300
Bluetooth: Use the stored LTK for restabilishing security
Now that it's possible that the exchanged key is present in
the link key list, we may be able to estabilish security with
an already existing key, without need to perform any SMP
procedure.
Signed-off-by: Vinicius Costa Gomes <email address hidden>
Signed-off-by: Gustavo F. Padovan <email address hidden>
commit fe43516a375dfe0034d80c48b5c7818cf2ebc128
Author: Nick Pelly <email address hidden>
Date: Thu Feb 11 11:54:28 2010 -0800
Bluetooth: Allow SCO/eSCO packet type selection for outgoing SCO connections.
__u16 sco_pkt_type is introduced to struct sockaddr_sco. It allows bitwise
selection of SCO/eSCO packet types. Currently those bits are:
0x0001 HV1 may be used.
0x0002 HV2 may be used.
0x0004 HV3 may be used.
0x0008 EV3 may be used.
0x0010 EV4 may be used.
0x0020 EV5 may be used.
0x0040 2-EV3 may be used.
0x0080 3-EV3 may be used.
0x0100 2-EV5 may be used.
0x0200 3-EV5 may be used.
This is similar to the Packet Type parameter in the HCI Setup Synchronous
Connection Command, except that we are not reversing the logic on the EDR bits.
This makes the use of sco_pkt_tpye forward portable for the use case of
white-listing packet types, which we expect will be the primary use case.
If sco_pkt_type is zero, or userspace uses the old struct sockaddr_sco,
then the default behavior is to allow all packet types.
Packet type selection is just a request made to the Bluetooth chipset, and
it is up to the link manager on the chipset to negiotiate and decide on the
actual packet types used. Furthermore, when a SCO/eSCO connection is eventually
made there is no way for the host stack to determine which packet type was used
(however it is possible to get the link type of SCO or eSCO).
sco_pkt_type is ignored for incoming SCO connections. It is possible
to add this in the future as a parameter to the Accept Synchronous Connection
Command, however its a little trickier because the kernel does not
currently preserve sockaddr_sco data between userspace calls to accept().
The most common use for sco_pkt_type will be to white-list only SCO packets,
which can be done with the hci.h constant SCO_ESCO_MASK.
This patch is motivated by broken Bluetooth carkits such as the Motorolo
HF850 (it claims to support eSCO, but will actually reject eSCO connections
after 5 seconds) and the 2007/2008 Infiniti G35/37 (fails to route audio
if a 2-EV5 packet type is negiotiated). With this patch userspace can maintain
a list of compatible packet types to workaround remote devices such as these.
Based on a patch by Marcel Holtmann.
Rebased to 2.6.39.
Change-Id: Ide1c89574fa4f6f1b9218282e1af17051eb86315
Signed-off-by: Nick Pelly <email address hidden>
commit 7c786ce33a1b4194cb95aa1e68bc38d552eda932
Author: Nick Pelly <email address hidden>
Date: Wed Dec 9 00:15:41 2009 -0800
Bluetooth: Add ACL MTU, available buffers and total buffers to hci_conn_info.
This provides userspace debugging tools access to ACL flow control state.
Signed-off-by: Nick Pelly <email address hidden>
commit 8cc0e2b58f7d0caef9fb9a617cb20abf4dc2583c
Author: Nick Pelly <email address hidden>
Date: Tue Sep 22 15:19:46 2009 -0700
Bluetooth: Fallback to SCO on error code 0x10 (Connection Accept Timeout).
This is to support the Motorola HF850 carkit which reports the error code 0x10
for an eSCO attempt, even though it advertises eSCO support. Here is the
hcidump:
2009-09-22 15:40:24.492391 < HCI Command: Setup Synchronous Connection
(0x01|0x0028) plen 17
handle 1 voice setting 0x0060
2009-09-22 15:40:24.493002 > HCI Event: Command Status (0x0f) plen 4
Setup Synchronous Connection (0x01|0x0028) status 0x00 ncmd 1
2009-09-22 15:40:30.594869 > HCI Event: Synchronous Connect Complete (0x2c)
plen 17
status 0x10 handle 257 bdaddr 00:50:CD:20:C6:84 type eSCO
Error: Connection Accept Timeout Exceeded
With this patch we will retry with a SCO connection, which succeeds.
Unfortunately the Moto HF850 also takes 5 seconds to return the error for the
eSCO attempt, so it will still take 5 seconds to fallback to SCO with this
patch.
Signed-off-by: Nick Pelly <email address hidden>
commit de6f7a9fdb56f4c7f47d77c0fc6975137ec1f6e7
Author: Nick Pelly <email address hidden>
Date: Fri Sep 18 18:29:23 2009 -0700
Bluetooth: Increase timeout for legacy pairing from 10 seconds to 40 seconds.
Legacy pairing is a bit of a problem because on the incoming end it is
impossible to know pairing has begun:
2009-09-18 18:29:24.115692 > HCI Event: Connect Request (0x04) plen 10
bdaddr 00:23:D4:04:51:7A class 0x58020c type ACL
2009-09-18 18:29:24.115966 < HCI Command: Accept Connection Request (0x01|0x0009) plen 7
bdaddr 00:23:D4:04:51:7A role 0x00
Role: Master
2009-09-18 18:29:24.117065 > HCI Event: Command Status (0x0f) plen 4
Accept Connection Request (0x01|0x0009) status 0x00 ncmd 1
2009-09-18 18:29:24.282928 > HCI Event: Role Change (0x12) plen 8
status 0x00 bdaddr 00:23:D4:04:51:7A role 0x00
Role: Master
2009-09-18 18:29:24.291534 > HCI Event: Connect Complete (0x03) plen 11
status 0x00 handle 1 bdaddr 00:23:D4:04:51:7A type ACL encrypt 0x00
2009-09-18 18:29:24.291839 < HCI Command: Read Remote Supported Features (0x01|0x001b) plen 2
handle 1
2009-09-18 18:29:24.292144 > HCI Event: Page Scan Repetition Mode Change (0x20) plen 7
bdaddr 00:23:D4:04:51:7A mode 1
2009-09-18 18:29:24.293823 > HCI Event: Command Status (0x0f) plen 4
Read Remote Supported Features (0x01|0x001b) status 0x00 ncmd 1
2009-09-18 18:29:24.303588 > HCI Event: Max Slots Change (0x1b) plen 3
handle 1 slots 5
2009-09-18 18:29:24.309448 > HCI Event: Read Remote Supported Features (0x0b) plen 11
status 0x00 handle 1
Features: 0xff 0xff 0x2d 0xfe 0x9b 0xff 0x79 0x83
2009-09-18 18:29:24.345916 < HCI Command: Remote Name Request (0x01|0x0019) plen 10
bdaddr 00:23:D4:04:51:7A mode 2 clkoffset 0x0000
2009-09-18 18:29:24.346923 > HCI Event: Command Status (0x0f) plen 4
Remote Name Request (0x01|0x0019) status 0x00 ncmd 1
2009-09-18 18:29:24.375793 > HCI Event: Remote Name Req Complete (0x07) plen 255
status 0x00 bdaddr 00:23:D4:04:51:7A name 'test'
2009-09-18 18:29:34.332190 < HCI Command: Disconnect (0x01|0x0006) plen 3
handle 1 reason 0x13
There are some mainline patches such as "Add different pairing timeout for
Legacy Pairing" but they do not address the HCI sequence above.
I think the real solution is to avoid using CreateBond(), and instead make
the profile connection immediately. This way both sides will use a longer
timeout because there is a higher level connection in progress, and we will
not end up with the useless HCI sequence above.
Signed-off-by: Nick Pelly <email address hidden>
commit 909a364281388fb67f7203e5fceb185276644a5c
Author: Nick Pelly <email address hidden>
Date: Thu Jul 9 12:23:44 2009 -0700
Bluetooth: Do not attempt to send dlci disconnect when in BT_CONFIG.
This fixes a bug where shutdown() and close() on a rfcomm socket during ACL
connection would not cause HCI Create Connection Cancel.
Signed-off-by: Nick Pelly <email address hidden>
commit 34005c9288184a2fd56854962a8fbe0458ecd7f0
Author: San Mehat <email address hidden>
Date: Wed Jul 29 20:21:28 2009 -0700
serial_core: Add wake_peer uart operation
Add wake_peer which is called before starting UART TX. The idea here
is to provide a mechanism where we can wakeup our peer before sending
data.
Change-Id: I42e0779b635f64ca99184b45d5b028de80197491
Signed-off-by: San Mehat <email address hidden>
commit 883130924a61ee24fafe43eccf2bc1a3d979c68d
Author: Nick Pelly <email address hidden>
Date: Thu Dec 4 17:37:05 2008 -0800
rfkill: Introduce CONFIG_RFKILL_PM and use instead of CONFIG_PM to power down
Some platforms do not want to power down rfkill devices on suspend.
Change-Id: I62a11630521c636d54a4a02ab9037a43435925f5
Signed-off-by: Nick Pelly <email address hidden>
commit 16f7492c95786bbbc087b32e533d838523bbdebc
Author: Nick Pelly <email address hidden>
Date: Thu Jun 11 10:49:48 2009 -0700
wl127x-rfkill: Add power control driver for TI WL127X Bluetooth chips
Signed-off-by: Nick Pelly <email address hidden>
commit 1bf723d8aa28f70391a775715bb09f9dac6dccf5
Author: Colin Cross <email address hidden>
Date: Wed Feb 1 16:02:23 2012 -0800
printk: update log_buf_copy for 3.3
logbuf_lock is a raw spinlock in 3.3, replace spin_(un)lock_irq
with raw_spin_(un)lock_irq.
Change-Id: I4b13c6a34bcbcbe95ef28ac3aec0528deef7fa9d
Signed-off-by: Colin Cross <email address hidden>
commit 0cfa041818ccb83c234b1151d1b2417cb17dec7a
Author: San Mehat <email address hidden>
Date: Thu Aug 6 10:25:21 2009 -0700
kernel: printk: Add non exported function for clearing the log ring buffer
Signed-off-by: San Mehat <email address hidden>
commit a828919ab77fa1e6f4b6091df7f9975e8607ebfb
Author: Arve Hjønnevåg <email address hidden>
Date: Mon Apr 14 21:35:25 2008 -0700
printk: Fix log_buf_copy termination.
If idx was non-zero and the log had wrapped, len did not get truncated
to stop at the last byte written to the log.
commit 9a710981d766164396786e25ebcad450569bdb1c
Author: Arve Hjønnevåg <email address hidden>
Date: Thu Jan 15 19:07:27 2009 -0800
Revert "printk: remove unused code from kernel/printk.c"
This reverts commit acff181d3574244e651913df77332e897b88bff4.
commit 10647800b773ca2539a2dce4c25b8779e9f2bf5f
Author: Chia-chi Yeh <email address hidden>
Date: Tue Jun 30 11:23:04 2009 +0800
net: Replace AID_NET_RAW checks with capable(CAP_NET_RAW).
Signed-off-by: Chia-chi Yeh <email address hidden>
commit b64107245dbade3bd0a341fb7bd1b9cd4698ff6d
Author: Chia-chi Yeh <email address hidden>
Date: Fri Jun 19 07:15:05 2009 +0800
security: Add AID_NET_RAW and AID_NET_ADMIN capability check in cap_capable().
Signed-off-by: Chia-chi Yeh <email address hidden>
commit e7a8aa97bb9f4439e63948800883d8d874c78c95
Author: Chia-chi Yeh <email address hidden>
Date: Sat Jun 13 02:29:04 2009 +0800
net: PPPoPNS and PPPoLAC fixes.
net: Fix a bitmask in PPPoPNS and rename constants in PPPoPNS and PPPoLAC.
Signed-off-by: Chia-chi Yeh <email address hidden>
net: Fix a potential deadlock while releasing PPPoLAC/PPPoPNS socket.
PPP driver guarantees that no thread will be executing start_xmit() after
returning from ppp_unregister_channel(). To achieve this, a spinlock (downl)
is used. In pppolac_release(), ppp_unregister_channel() is called after sk_udp
is locked. At the same time, another thread might be running in pppolac_xmit()
with downl. Thus a deadlock will occur if the thread tries to lock sk_udp.
The same situation might happen on sk_raw in pppopns_release().
Signed-off-by: Chia-chi Yeh <email address hidden>
net: Force PPPoLAC and PPPoPNS to bind an interface before creating PPP channel.
It is common to manipulate the routing table after configuring PPP device.
Since both PPPoLAC and PPPoPNS run over IP, care must be taken to make sure
that there is no loop in the routing table.
Although this can be done by adding a host route, it might still cause
problems when the interface is down for some reason.
To solve this, this patch forces both drivers to bind an interface before
creating PPP channel, so the system will not re-route the tunneling sockets
to another interface when the original one is down. Another benefit is that
now the host route is no longer required, so there is no need to remove it
when PPP channel is closed.
Signed-off-by: Chia-chi Yeh <email address hidden>
net: Avoid sleep-inside-spinlock in PPPoLAC and PPPoPNS.
Since recv() and xmit() are called with a spinlock held, routines which might
sleep cannot be used. This issue is solved by following changes:
Incoming packets are now processed in backlog handler, recv_core(), instead of
recv(). Since backlog handler is always executed with socket spinlock held, the
requirement of ppp_input() is still satisfied.
Outgoing packets are now processed in workqueue handler, xmit_core(), instead of
xmit(). Note that kernel_sendmsg() is no longer used to prevent touching dead
sockets.
In release(), lock_sock() and pppox_unbind_sock() ensure that no thread is in
recv_core() or xmit(). Then socket handlers are restored before release_sock(),
so no packets will leak in backlog queue.
Signed-off-by: Chia-chi Yeh <email address hidden>
net: Fix msg_iovlen in PPPoLAC and PPPoPNS.
Although any positive value should work (which is always true in both drivers),
the correct value should be 1.
Signed-off-by: Chia-chi Yeh <email address hidden>
commit 461d4adc1e7d3d8be6b3068eec233ae548c4a3ff
Author: Chia-chi Yeh <email address hidden>
Date: Fri Jun 12 01:09:30 2009 +0800
net: add PPP on PPTP Network Server (PPPoPNS) driver.
Signed-off-by: Chia-chi Yeh <email address hidden>
ppopns: dont include px_proto define in if_pppopns.h
Change-Id: I27e687667db5b45182562f4a517a2e6cec6b1350
Signed-off-by: Dima Zavin <email address hidden>
commit 1938688002071febffcf30a8f2ddfd1fd76e2e0c
Author: Chia-chi Yeh <email address hidden>
Date: Fri May 8 04:02:40 2009 +0800
net: add PPP on L2TP Access Concentrator (PPPoLAC) driver.
Change-Id: I3ae3ee7520951ae24269db0ef2898c6455cf6bcc
Signed-off-by: Chia-chi Yeh <email address hidden>
ppolac: dont include px_proto define in if_pppolac.h
Change-Id: I55bc9cf91ea0e9e8f7bf5d6e241d188e1269343a
Signed-off-by: Dima Zavin <email address hidden>
commit 25397e9344a06febf3bb4c87aa668b91010daa58
Author: Dima Zavin <email address hidden>
Date: Wed Jan 5 16:03:21 2011 -0800
fs: yaffs: don't force YAFFS_TRACE_ALWAYS for all trace levels
Change-Id: I9ddc676382d26aef7f12145d412fe670cb486317
Signed-off-by: Dima Zavin <email address hidden>
commit 5ea813fd8970de4fa59e3aa9a493ee708c774a61
Author: Arve Hjønnevåg <email address hidden>
Date: Tue May 18 20:35:30 2010 -0700
fs: yaffs: Import yaffs from Thu Dec 23 13:31:37 2010 +1300
commit ddf33fed15c2376bfb602d62dd018c63fce60df8
Author: Timothy Manning <email address hidden>
Date: Thu Dec 23 13:31:37 2010 +1300
yaffs updated direct/timothy_tests/quick_tests
Signed-off-by: Timothy Manning <email address hidden>
Change-Id: I5bbe5a05277bdf8a6fe188bbe4c77725b3fa2aae
Signed-off-by: Dima Zavin <email address hidden>
commit 6bbd5b121293756fc3c5b84fdf885040ba7a61da
Author: San Mehat <email address hidden>
Date: Sat Mar 21 18:48:54 2009 -0700
fs: block_dump: Don't display inode changes if block_dump < 2
Signed-off-by: San Mehat <email address hidden>
commit dca1c7150aa84a2a8cd1565083a25b2b50eaf379
Author: Dmitry Shmidt <email address hidden>
Date: Thu Dec 18 09:55:20 2008 -0800
tiwlan: Add abstract wifi control functions support
commit caa230ddee7e8ea663ffe72262ed000ac2c8a448
Author: Dmitry Shmidt <email address hidden>
Date: Fri Dec 16 17:52:18 2011 -0800
mmc: Set suspend/resume bus operations if CONFIG_PM_RUNTIME is used
Signed-off-by: Dmitry Shmidt <email address hidden>
commit 789f42190adca8dd4d8e9e2ac4d4e124d63295a5
Author: Ken Sumrall <email address hidden>
Date: Tue Oct 25 18:16:58 2011 -0700
mmc: block: Improve logging of handling emmc timeouts
Add some logging to make it clear just how the emmc timeout
was handled.
Change-Id: Id33fd28d8b9778dc4e85db829e2637a328eddab4
Signed-off-by: Ken Sumrall <email address hidden>
commit 3663054dcf6f6bed472d4f7fb05d1d3588d9638f
Author: Colin Cross <email address hidden>
Date: Wed Sep 7 17:28:58 2011 -0700
mmc: core: host: only use wakelock for detect work
There is no need to take a wakelock for delayed lazy disable
work, it will be cancelled in the suspend handler and force
disabled. Only take the wakelock when the detect work is
queued, and make sure to drop the wakelock if the work is
cancelled.
Change-Id: I1e507a5f98848954ea21d45e23b6192c3132a349
Signed-off-by: Colin Cross <email address hidden>
commit f20721ec028a606fd27cbe8fe10ab7cfa5549109
Author: Dmitry Shmidt <email address hidden>
Date: Tue May 3 11:05:04 2011 -0700
ARM: Add 'card_present' state to mmc_platfrom_data
Signed-off-by: Dmitry Shmidt <email address hidden>
commit c92e3eb11fae82d93e30147820e3bab8769fc914
Author: Colin Cross <email address hidden>
Date: Fri Apr 8 22:20:53 2011 -0700
Recreate asm/mach/mmc.h include file
Change-Id: I9f10244b0603f7842b8504a16124d40dc4a71ed2
Signed-off-by: Colin Cross <email address hidden>
commit 4744d50648b2a0fd3437afacc088121bb8793243
Author: Dmitry Shmidt <email address hidden>
Date: Thu Oct 14 15:20:21 2010 -0700
mmc: Fix pm_notifier obeying deferred resume
Signed-off-by: Dmitry Shmidt <email address hidden>
commit 5ac72c80ecc0b708659ccc433c1d2eaaf0707754
Author: Dmitry Shmidt <email address hidden>
Date: Thu Oct 7 14:39:16 2010 -0700
mmc: Add "ignore mmc pm notify" functionality
Signed-off-by: Dmitry Shmidt <email address hidden>
commit 880857a6e6bf1de9e574c7978430ad00ddb421ce
Author: Dmitry Shmidt <email address hidden>
Date: Wed Oct 6 17:25:02 2010 -0700
mmc: sdio: Fix enable_hs and enable_wide in sdio_reset_comm()
Signed-off-by: Dmitry Shmidt <email address hidden>
commit fdb7587cf12bf9c325eeec456d035145d51e4365
Author: San Mehat <email address hidden>
Date: Tue Feb 9 12:08:48 2010 -0800
mmc: core: Release delayed mmc work wakelock after deep disable
Signed-off-by: San Mehat <email address hidden>
commit d431f5275f8033f633c7474c6d8c748678907f9d
Author: Daniel Chen <email address hidden>
Date: Wed Dec 9 09:45:36 2009 -0800
mmc: sdio: Add high speed support to sdio_reset_comm()
Signed-off-by: San Mehat <email address hidden>
commit 52d8a4d97afcdf1197d885f1b2690ce6b10748eb
Author: Dmitry Shmidt <email address hidden>
Date: Wed Jul 29 10:22:03 2009 -0700
mmc: sdio: Claim host in sdio_reset_comm()
Signed-off-by: Dmitry Shmidt <email address hidden>
commit b81bc9436fa79740d69fb2e0f34fe48fc33ff75e
Author: San Mehat <email address hidden>
Date: Thu Jul 30 08:21:19 2009 -0700
mmc: mmcblk: Add support for deferred SD bus resume
Signed-off-by: San Mehat <email address hidden>
mmc: card: Add MMC_BLOCK_DEFERRED_RESUME option to Kconfig
Signed-off-by: San Mehat <email address hidden>
commit 399cb95d04f32e5158891b84bd40f2875ed02bf4
Author: San Mehat <email address hidden>
Date: Thu Jul 30 07:55:28 2009 -0700
mmc: core: Add deferred bus resume policy.
A card driver can now specify that the underlying bus should *not*
auto-resume with the rest of the system. This is useful for reducing resume
latency as well as saving power when the card driver is not using the
bus. In the future, we'll add support for manual suspend
Signed-off-by: San Mehat <email address hidden>
commit 5255bb98a04d20d830c640dbf8b5f68bf830eaa0
Author: San Mehat <email address hidden>
Date: Mon Mar 23 12:20:37 2009 -0700
mmc: core: Hold a wake lock accross delayed work + mmc rescan
Signed-off-by: San Mehat <email address hidden>
mmc: core: Rework mmc_delayed_work wakelock so that the wakelock is only extended if a card is added or removed.
Signed-off-by: San Mehat <email address hidden>
commit 70d371b3e5836724c8f7aa4f36bcd3653aa42c3b
Author: San Mehat <email address hidden>
Date: Thu Dec 4 11:18:00 2008 -0800
mmc: sd: Add retries in re-detection
Signed-off-by: San Mehat <email address hidden>
mmc: sd: Remove debugging printk
Signed-off-by: Dima Zavin <email address hidden>
commit ce8cae08681cd5049542a0a98aecefc29495eee3
Author: San Mehat <email address hidden>
Date: Mon Dec 1 08:52:34 2008 -0800
mmc: sd: When resuming, try a little harder to init the card
Signed-off-by: San Mehat <email address hidden>
commit 6efc9dd9b7b8c9214975cd73fd91e1520658351e
Author: San Mehat <email address hidden>
Date: Thu May 15 09:15:37 2008 -0700
mmc: Add new API call 'sdio_reset_comm' for resetting communication with an SDIO device
Signed-off-by: San Mehat <email address hidden>
commit 8683060cda702378e5582315cedf613893db735a
Author: Dmitry Shmidt <email address hidden>
Date: Tue Nov 11 11:22:38 2008 -0800
trout: Add functions for WiFi
commit 9ee8858fe8b5588cbb85a536179171880820aac6
Author: San Mehat <email address hidden>
Date: Mon Apr 14 15:22:49 2008 -0700
mmc: Add concept of an 'embedded' SDIO device.
This is required to support chips which use SDIO for signaling/
communication but do not implement the various card enumeration registers
as required for full SD / SDIO cards.
mmc: sdio: Fix bug where we're freeing the CIS tables we never allocated when using EMBEDDED_SDIO
mmc: Add max_blksize to embedded SDIO data
Signed-off-by: San Mehat <email address hidden>
commit b22fdab146fdf7bf910346a845d9f55bc8aee09b
Author: San Mehat <email address hidden>
Date: Tue Nov 11 09:35:36 2008 -0800
mmc: sd: Add new CONFIG_MMC_PARANOID_SD_INIT for enabling retries during SD detection
Signed-off-by: San Mehat <email address hidden>
commit 42dd11907fff6a716766fedcaead5ec0e2211d95
Author: San Mehat <email address hidden>
Date: Mon Nov 10 16:29:50 2008 -0800
mmc: Add status IRQ and status callback function to mmc platform data
Signed-off-by: San Mehat <email address hidden>
commit 3b84b5cb35820397a0c5c94ee63d8a6b8981010e
Author: Arve Hjønnevåg <email address hidden>
Date: Tue Aug 21 21:56:46 2007 -0700
Input: synaptics_i2c_rmi: Driver for Synaptics Touchscreens using RMI over I2C.
Signed-off-by: Arve Hjønnevåg <email address hidden>
Input: synaptics_i2c_rmi: disable_irq -> disable_irq_nosync
Also remove duplicate swap macro
Change-Id: I77266431ba5c267a5d92c4bdc2f127a5297065a8
Signed-off-by: Arve Hjønnevåg <email address hidden>
commit d071815f3d56bd113997b35de1d3dc2ecec3780a
Author: Mike Lockwood <email address hidden>
Date: Mon Dec 15 14:51:56 2008 -0500
input: keychord: Add keychord driver
This driver allows userspace to receive notification when client
specified key combinations are pressed.
The client opens /dev/keychord and writes a list of keychords
for the driver to monitor.
The client then reads or polls /dev/keychord for notifications.
A client specified ID for the keychord is returned from read()
when a keychord press is detected.
Signed-off-by: Mike Lockwood <email address hidden>
keychord: fix to build without CONFIG_PREEMPT
Change-Id: I911f13aeda4224b6fa57863bc7e8972fec8837fb
commit a2d364c55ad4cbfe2df5a019c81b7159b7857db6
Author: Arve Hjønnevåg <email address hidden>
Date: Fri Nov 21 21:47:23 2008 -0800
input: Add keyreset driver.
Add a platform device in the board file to specify a reset key-combo.
The first time the key-combo is detected a work function that syncs
the filesystems is scheduled. If all the keys are released and then
pressed again, it calls panic. Reboot on panic should be set for
this to work.
Change-Id: I9d54283ca1fba45e4b1ae1a407524cdda8171143
Signed-off-by: Arve Hjønnevåg <email address hidden>
commit f811f7f66c3ca0047fbbfae747cb09433bd64824
Author: Colin Cross <email address hidden>
Date: Wed Feb 1 20:26:28 2012 -0800
input: misc: gpio_event: remove early suspend
Remove the early suspend handler. Leave the suspend functions
for now, they should eventually get called through a userspace
interface.x
Change-Id: I67f9dafe32fe32577bab93c42b95824db96c215c
Signed-off-by: Colin Cross <email address hidden>
commit 6cf80c7fbf27523037b2306322c60cc97a23814c
Author: Arve Hjønnevåg <email address hidden>
Date: Wed Oct 15 18:23:47 2008 -0700
Input: Generic GPIO Input device.
Supports keyboard matrixces, direct inputs, direct outputs and axes connected to gpios.
Change-Id: I5e921e6e3a1cc169316ee3b665f4cc21b5735114
Signed-off-by: Arve Hjønnevåg <email address hidden>
Signed-off-by: Nick Pelly <email address hidden>
commit 404ed7fe2ee785c745de28dcb5a2ae7e226d87f0
Author: Mike Chan <email address hidden>
Date: Thu Apr 24 10:22:26 2008 -0700
Grants system server access to /proc/<pid>/oom_adj for Android applications.
Signed-off-by: Brian Swetland <email address hidden>
commit aa98eb7a0ff0b114b9a3e08bc8f3a262e22bbb47
Author: Mike Lockwood <email address hidden>
Date: Sat Mar 15 13:29:36 2008 -0400
FAT: Add new ioctl VFAT_IOCTL_GET_VOLUME_ID for reading the volume ID.
Signed-off-by: Brian Swetland <email address hidden>
commit afa58dd873439d3002ecf02a199deadbe908fd64
Author: Mike Chan <email address hidden>
Date: Wed Jan 7 11:40:42 2009 -0800
misc: uidstat: Adding uid stat driver to collect network statistics.
Signed-off-by: Mike Chan <email address hidden>
commit 80985f7e2d6d948d904292aa05db04f2e5798a81
Author: Robert Love <email address hidden>
Date: Thu Jul 31 11:12:44 2008 -0400
sysfs_net_ipv4: Add sysfs-based knobs for controlling TCP window size
Add a family of knobs to /sys/kernel/ipv4 for controlling the TCP window size:
tcp_wmem_min
tcp_wmem_def
tcp_wmem_max
tcp_rmem_min
tcp_rmem_def
tcp_rmem_max
This six values mirror the sysctl knobs in /proc/sys/net/ipv4/tcp_wmem and
/proc/sys/net/ipv4/tcp_rmem.
Sysfs, unlike sysctl, allows us to set and manage the files' permissions and
owners.
Signed-off-by: Robert Love <email address hidden>
commit 9fd1b8bf6d0990ec27056df9141b70a36b0bd48c
Author: Robert Love <email address hidden>
Date: Mon May 12 17:08:29 2008 -0400
net: socket ioctl to reset connections matching local address
Introduce a new socket ioctl, SIOCKILLADDR, that nukes all sockets
bound to the same local address. This is useful in situations with
dynamic IPs, to kill stuck connections.
Signed-off-by: Brian Swetland <email address hidden>
net: fix tcp_v4_nuke_addr
Signed-off-by: Dima Zavin <email address hidden>
net: ipv4: Fix a spinlock recursion bug in tcp_v4_nuke.
We can't hold the lock while calling to tcp_done(), so we drop
it before calling. We then have to start at the top of the chain again.
Signed-off-by: Dima Zavin <email address hidden>
net: ipv4: Fix race in tcp_v4_nuke_addr().
To fix a recursive deadlock in 2.6.29, we stopped holding the hash table lock
across tcp_done() calls. This fixed the deadlock, but introduced a race where
the socket could die or change state.
Fix: Before unlocking the hash table, we grab a reference to the socket. We
can then unlock the hash table without risk of the socket going away. We then
lock the socket, which is safe because it is pinned. We can then call
tcp_done() without recursive deadlock and without race. Upon return, we unlock
the socket and then unpin it, killing it.
Change-Id: Idcdae072b48238b01bdbc8823b60310f1976e045
Signed-off-by: Robert Love <email address hidden>
Acked-by: Dima Zavin <email address hidden>
ipv4: disable bottom halves around call to tcp_done().
Signed-off-by: Robert Love <email address hidden>
Signed-off-by: Colin Cross <email address hidden>
ipv4: Move sk_error_report inside bh_lock_sock in tcp_v4_nuke_addr
When sk_error_report is called, it wakes up the user-space thread, which then
calls tcp_close. When the tcp_close is interrupted by the tcp_v4_nuke_addr
ioctl thread running tcp_done, it leaks 392 bytes and triggers a WARN_ON.
This patch moves the call to sk_error_report inside the bh_lock_sock, which
matches the locking used in tcp_v4_err.
Signed-off-by: Colin Cross <email address hidden>
commit edafde808437a9038cd1e84f8bfb349dc529a2b4
Author: Robert Love <email address hidden>
Date: Wed Oct 15 15:35:44 2008 -0400
Paranoid network.
With CONFIG_ANDROID_PARANOID_NETWORK, require specific uids/gids to instantiate
network sockets.
Signed-off-by: Robert Love <email address hidden>
paranoid networking: Use in_egroup_p() to check group membership
The previous group_search() caused trouble for partners with module builds.
in_egroup_p() is also cleaner.
Signed-off-by: Nick Pelly <email address hidden>
Fix 2.6.29 build.
Signed-off-by: Arve Hjønnevåg <email address hidden>
net: Fix compilation of the IPv6 module
Fix compilation of the IPv6 module -- current->euid does not exist anymore,
current_euid() is what needs to be used.
Signed-off-by: Steinar H. Gunderson <email address hidden>
commit d260ada6528933d87724e2b9dba5de0c627e29a3
Author: John Stultz <email address hidden>
Date: Thu Dec 15 18:51:04 2011 -0800
ashmem: Add shmem_set_file to mm/shmem.c
NOT FOR STAGING
This patch re-adds the original shmem_set_file to mm/shmem.c
and converts ashmem.c back to using it.
CC: Brian Swetland <email address hidden>
CC: Colin Cross <email address hidden>
CC: Arve Hjønnevåg <email address hidden>
CC: Dima Zavin <email address hidden>
CC: Robert Love <email address hidden>
CC: Greg KH <email address hidden>
Signed-off-by: John Stultz <email address hidden>
commit 84b436d537be985c9ecaf1a96151085a3ba120aa
Author: Robert Love <email address hidden>
Date: Wed Oct 15 15:34:49 2008 -0400
Add android_aid.h
Add <linux/android_aid.h>, our mapping of AID defines to gid numbers.
Signed-off-by: Robert Love <email address hidden>
commit a147b2b5898c0df6db9cfa44c1e91a3e53463d39
Author: Mike Lockwood <email address hidden>
Date: Tue Oct 14 12:50:16 2008 -0400
switch: switch class and GPIO drivers.
switch: Export symbol switch_set_state.
Signed-off-by: Mike Lockwood <email address hidden>
switch: gpio: Don't call request_irq with interrupts disabled
Signed-off-by: Arve Hjønnevåg <email address hidden>
switch: Use device_create instead of device_create_drvdata.
device_create_drvdata is obsolete.
Signed-off-by: Arve Hjønnevåg <email address hidden>
switch_gpio: Add missing #include <linux/interrupt.h>
Change-Id: I6c397e41bbe1457162cc69e31a29db5d9f76fccb
Signed-off-by: Mike Lockwood <email address hidden>
commit b2d895d9c53648b2dac6d3b697f0a8ec9e0d7983
Author: Arve Hjønnevåg <email address hidden>
Date: Mon Sep 21 17:26:47 2009 -0700
power_supply: Hold a wake_lock while power supply change notifications are pending
When connecting usb or the charger the device would often go back to sleep
before the charge led and screen turned on.
Change-Id: I01def6d86ddece0d4e31d2a91d176ed0975b6b9d
Signed-off-by: Arve Hjønnevåg <email address hidden>
commit 18504990f0df5ed655ab6d8918be9aa93de2e8a5
Author: Arve Hjønnevåg <email address hidden>
Date: Fri Oct 17 15:28:08 2008 -0700
Input: Use monotonic time for event time stamps.
Since wall time can jump backwards, it cannot be used to determine if one
event occured before another or for how long a key was pressed.
Signed-off-by: Arve Hjønnevåg <email address hidden>
commit 2f8f1b5814f65e82de93d2115c6fcaa7f90b2883
Author: Arve Hjønnevåg <email address hidden>
Date: Fri Oct 17 15:20:55 2008 -0700
Input: evdev - Add ioctl to block suspend while event queue is not empty.
Add an ioctl, EVIOCSSUSPENDBLOCK, to enable a wakelock that will block
suspend while the event queue is not empty. This allows userspace code to
process input events while the device appears to be asleep.
The current code holds the wakelock for up 5 seconds for every input
device and client. This can prevent suspend if sensor with a high data
rate is active, even when that sensor is not capable of waking the
device once it is suspended.
Change-Id: I624d66ef30a0b3abb543685c343382b8419b42b9
Signed-off-by: Arve Hjønnevåg <email address hidden>
commit 237323ce36a4adc845e1ed883948b1085a1187a2
Author: Arve Hjønnevåg <email address hidden>
Date: Sun Mar 30 21:47:13 2008 -0700
ledtrig-sleep: Add led trigger for sleep debugging.
Signed-off-by: Brian Swetland <email address hidden>
commit 6e4b6932f7f1d7a9ce5b537b545fa924b83f21b6
Author: Arve Hjønnevåg <email address hidden>
Date: Tue Dec 1 20:54:37 2009 -0800
PM: wakelock: Don't dump unfrozen task list when aborting try_to_freeze_tasks after less than one second
Change-Id: Ib2976e5b97a5ee4ec9abd4d4443584d9257d0941
Signed-off-by: Arve Hjønnevåg <email address hidden>
commit dce3610a81ec6ef81ee90b2640d2dac7efcc0a15
Author: Arve Hjønnevåg <email address hidden>
Date: Tue Oct 14 16:02:39 2008 -0700
PM: wakelock: Abort task freezing if a wake lock is held.
Avoids a problem where the device sometimes hangs for 20 seconds
before the screen is turned on.
commit 92e7a6e6a59c3cf0742621309a1d534eaecab5f5
Author: Arve Hjønnevåg <email address hidden>
Date: Thu Oct 9 21:01:46 2008 -0700
PM: Add user-space wake lock api.
This adds /sys/power/wake_lock and /sys/power/wake_unlock.
Writing a string to wake_lock creates a wake lock the
first time is sees a string and locks it. Optionally, the
string can be followed by a timeout.
To unlock the wake lock, write the same string to wake_unlock.
Change-Id: I66c6e3fe6487d17f9c2fafde1174042e57d15cd7
commit 596f2eedbddfce675d86d0c4ba992294cd39aaba
Author: Arve Hjønnevåg <email address hidden>
Date: Tue Sep 9 22:14:34 2008 -0700
PM: Implement wakelock api.
PM: wakelock: Replace expire work with a timer
The expire work function did not work in the normal case.
Signed-off-by: Arve Hjønnevåg <email address hidden>
commit 29da5497e11428cdafa6f7586d63ee0a4f2bced3
Author: Arve Hjønnevåg <email address hidden>
Date: Fri Sep 26 22:10:56 2008 -0700
PM: Add wake lock api.
commit 635b74d95aa5bd9dadfb2fdb7d4a177a465af3a8
Author: Mike Chan <email address hidden>
Date: Thu Jan 22 12:23:32 2009 -0800
[docs] android: Add android config documentation to boot framework.
Signed-off-by: Mike Chan <email address hidden>
commit e6b1a63d5329640a411a705f30d3f3a8190b221b
Author: Arve Hjønnevåg <email address hidden>
Date: Tue Jun 9 20:17:45 2009 -0700
[ARM] Optionally flush entire dcache from v6_dma_flush_range
If CACHE_FLUSH_RANGE_LIMIT is defined, then the entire dcache will
be flushed if the requested range is larger than this limit.
Change-Id: I29277d645a9d6716b1952cf3b870c78496261dd0
Signed-off-by: Arve Hjønnevåg <email address hidden>
commit bdae58317df5f1a25de82ff684347badc76ba006
Author: Arve Hjønnevåg <email address hidden>
Date: Tue Feb 17 14:51:02 2009 -0800
mm: Add min_free_order_shift tunable.
By default the kernel tries to keep half as much memory free at each
order as it does for one order below. This can be too agressive when
running without swap.
Change-Id: I5efc1a0b50f41ff3ac71e92d2efd175dedd54ead
Signed-off-by: Arve Hjønnevåg <email address hidden>
commit ca4333c55419e8c2e453611598b30e54760a2001
Author: Brian Swetland <email address hidden>
Date: Mon Jan 26 17:15:49 2009 -0800
[ARM] avoid mis-detecting some V7 cores in the decompressor
This allows kernel decompress to happen nearly instantly instead
of taking over 20 seconds.
Signed-off-by: Brian Swetland <email address hidden>
commit cbc3c4bdcb9c51dbf20a4949d809e0e55dcd39bc
Author: Arve Hjønnevåg <email address hidden>
Date: Sat Dec 1 18:34:14 2007 -0800
[ARM] armv6 dcc tty driver
Signed-off-by: Brian Swetland <email address hidden>
Signed-off-by: Arve Hjønnevåg <email address hidden>
commit 665bf97ed8f73c4ef0305bbe259f70d8d93c4055
Author: Tony Lindgren <email address hidden>
Date: Mon May 9 14:10:26 2005 -0700
ARM: Make low-level printk work
Makes low-level printk work.
Signed-off-by: Tony Lindgren <email address hidden>
commit 0d545d47c2c516503b34f72192d0af73bb199b6c
Author: Colin Cross <email address hidden>
Date: Tue Nov 23 21:37:04 2010 -0800
cgroup: Remove call to synchronize_rcu in cgroup_attach_task
synchronize_rcu can be very expensive, averaging 100 ms in
some cases. In cgroup_attach_task, it is used to prevent
a task->cgroups pointer dereferenced in an RCU read side
critical section from being invalidated, by delaying the
call to put_css_set until after an RCU grace period.
To avoid the call to synchronize_rcu, make the put_css_set
call rcu-safe by moving the deletion of the css_set links
into free_css_set_work, scheduled by the rcu callback
free_css_set_rcu.
The decrement of the cgroup refcount is no longer
synchronous with the call to put_css_set, which can result
in the cgroup refcount staying positive after the last call
to cgroup_attach_task returns. To allow the cgroup to be
deleted with cgroup_rmdir synchronously after
cgroup_attach_task, have rmdir check the refcount of all
associated css_sets. If cgroup_rmdir is called on a cgroup
for which the css_sets all have refcount zero but the
cgroup refcount is nonzero, reuse the rmdir waitqueue to
block the rmdir until free_css_set_work is called.
Signed-off-by: Colin Cross <email address hidden>
Conflicts:
kernel/cgroup.c
Change-Id: I3b3f245c8f5e2e5d33f1e54178b2bb6ef10a0817
commit 4bc55fc26751762393d33fb9b69da8077742f6cf
Author: Colin Cross <email address hidden>
Date: Tue Jul 12 19:53:24 2011 -0700
cgroup: Add generic cgroup subsystem permission checks
Rather than using explicit euid == 0 checks when trying to move
tasks into a cgroup via CFS, move permission checks into each
specific cgroup subsystem. If a subsystem does not specify a
'allow_attach' handler, then we fall back to doing our checks
the old way.
Use the 'allow_attach' handler for the 'cpu' cgroup to allow
non-root processes to add arbitrary processes to a 'cpu' cgroup
if it has the CAP_SYS_NICE capability set.
This version of the patch adds a 'allow_attach' handler instead
of reusing the 'can_attach' handler. If the 'can_attach' handler
is reused, a new cgroup that implements 'can_attach' but not
the permission checks could end up with no permission checks
at all.
Change-Id: Icfa950aa9321d1ceba362061d32dc7dfa2c64f0c
Original-Author: San Mehat <email address hidden>
Signed-off-by: Colin Cross <email address hidden>
commit 6cccd363001a0cf18c12ad7daff1ca81af7824e2
Author: Colin Cross <email address hidden>
Date: Tue Nov 23 21:37:03 2010 -0800
cgroup: Set CGRP_RELEASABLE when adding to a cgroup
Changes the meaning of CGRP_RELEASABLE to be set on any cgroup
that has ever had a task or cgroup in it, or had css_get called
on it. The bit is set in cgroup_attach_task, cgroup_create,
and __css_get. It is not necessary to set the bit in
cgroup_fork, as the task is either in the root cgroup, in
which can never be released, or the task it was forked from
already set the bit in croup_attach_task.
Signed-off-by: Colin Cross <email address hidden>
commit b5b7dd27b9a72e769e8c0ef4205365e0a9b3d5ca
Author: Colin Cross <email address hidden>
Date: Thu Aug 11 17:15:24 2011 -0700
ARM: allow the kernel text section to be made read-only
This patch implements CONFIG_DEBUG_RODATA, allowing
the kernel text section to be marked read-only in
order to catch bugs that write over the kernel. This
requires mapping the kernel code, plus up to 4MB, using
pages instead of sections, which can increase TLB
pressure.
The kernel is normally mapped using 1MB section entries
in the first level page table, and the first level page
table is copied into every mm. This prevents marking
the kernel text read-only, because the 1MB section
entries are too large granularity to separate the init
section, which is reused as read-write memory after
init, and the kernel text section. Also, the top level
page table for every process would need to be updated,
which is not possible to do safely and efficiently on SMP.
To solve both problems, allow alloc_init_pte to overwrite
an existing section entry with a fully-populated second
level page table. When CONFIG_DEBUG_RODATA is set, all
the section entries that overlap the kernel text section
will be replaced with page mappings. The kernel always
uses a pair of 2MB-aligned 1MB sections, so up to 2MB
of memory before and after the kernel may end up page
mapped.
When the top level page tables are copied into each
process the second level page tables are not copied,
leaving a single second level page table that will
affect all processes on all cpus. To mark a page
read-only, the second level page table is located using
the pointer in the first level page table for the
current process, and the supervisor RO bit is flipped
atomically. Once all pages have been updated, all TLBs
are flushed to ensure the changes are visible on all
cpus.
If CONFIG_DEBUG_RODATA is not set, the kernel will be
mapped using the normal 1MB section entries.
Change-Id: I94fae337f882c2e123abaf8e1082c29cd5d483c6
Signed-off-by: Colin Cross <email address hidden>
commit 2c27087440fb7f32c3a753e9f4e0ea89a1e5c909
Author: Colin Cross <email address hidden>
Date: Wed Feb 1 15:58:57 2012 -0800
binder: fix warning
Convert binder_debug_no_lock to a bool to fix a warning:
drivers/staging/android/binder.c:107: warning: return from incompatible
pointer type
Change-Id: I3ce97c1394cff7903d8bc9191f479bf55915920f
Signed-off-by: Colin Cross <email address hidden>
commit 845c038adc58e7448f58bc2cebf7c428601c9da3
Author: Dima Zavin <email address hidden>
Date: Thu Jan 12 15:55:25 2012 -0800
ram_console: set CON_ANYTIME console flag
We want to ensure that we get all the console messages, even ones
that occur while the printing CPU is not yet online.
Change-Id: I1d2694d05ac9415669a92f38efdd8e71c927705b
Signed-off-by: Dima Zavin <email address hidden>
commit 06a809c0c16658ab4bf45ddb61cad8ee18afff80
Author: Dima Zavin <email address hidden>
Date: Tue Oct 18 16:59:54 2011 -0700
ARM: smp: implement arch_trigger_all_cpus_backtrace using IPI
Based on a rough patch by <email address hidden>
Since ARM doesn't have an NMI (fiq's are not always available),
send an IPI to all other CPUs (current cpu prints the stack directly)
to capture a backtrace.
Change-Id: I8b163c8cec05d521b433ae133795865e8a33d4e2
Signed-off-by: Dima Zavin <email address hidden>
commit 963c34b2653005804739c81cde97001a561655e2
Author: Colin Cross <email address hidden>
Date: Wed Sep 14 15:59:50 2011 -0700
ARM: cache-l2x0: update workaround for PL310 errata 727915
ARM errata 727915 for PL310 has been updated to include a new
workaround required for PL310 r2p0 for l2x0_flush_all, which also
affects l2x0_clean_all in my testing. For r2p0, clean or flush
each set/way individually. For r3p0 or greater, use the debug
register for cleaning and flushing.
Requires exporting the cache_id, sets and ways detected in the
init function for later use.
Change-Id: I215055cbe5dc7e4e8184fb2befc4aff672ef0a12
Signed-off-by: Colin Cross <email address hidden>
commit a134394008368f33920c7609cf94ef307692aefc
Author: Colin Cross <email address hidden>
Date: Mon Sep 19 16:42:44 2011 -0700
cpuidle: governor: menu: don't use loadavg
get_loadavg doesn't work as intended. According to the comments, it
should be returning an average over a few seconds, but it is actually
reading the instantaneous load. It is almost always returning 0, but
can sometimes, depending on workload, spike very high into the hundreds
even when the average cpu load is under 10%. Disable it for now.
Change-Id: I63ed100af1cf9463549939b8113ed83676db5f86
Signed-off-by: Colin Cross <email address hidden>
commit 1d3d549416a1e55087eb5b9f44c4361e7c6faae8
Author: Dima Zavin <email address hidden>
Date: Tue Aug 23 15:56:50 2011 -0700
ARM: add option to flush console before reboot
If the console_lock was held while the system was rebooted, the messages
in the temporary logbuffer would not have propogated to all the console
drivers.
This force releases the console lock if it failed to be acquired.
Change-Id: I193dcf7b968be17966833e50b8b8bc70d5d9fe89
Signed-off-by: Dima Zavin <email address hidden>
commit 31fd5c2fc00755f7775191bab1d7463f6b6d5978
Author: Colin Cross <email address hidden>
Date: Tue Jul 19 12:33:45 2011 -0700
power: Add option to log time spent in suspend
Prints the time spent in suspend in the kernel log, and
keeps statistics on the time spent in suspend in
/sys/kernel/debug/suspend_time
Change-Id: Ia6b9ebe4baa0f7f5cd211c6a4f7e813aefd3fa1d
Signed-off-by: Colin Cross <email address hidden>
Signed-off-by: Todd Poynor <email address hidden>
commit f68f4c8dd669509a97645b3c5ab7c53117a106e0
Author: Nishanth Menon <email address hidden>
Date: Wed Aug 17 18:31:58 2011 -0500
panic: Add board ID to panic output
At times, it is necessary for boards to provide some additional information
as part of panic logs. Provide information on the board hardware as part
of panic logs.
It is safer to print this information at the very end in case something
bad happens as part of the information retrieval itself.
To use this, set global mach_panic_string to an appropriate string in the
board file.
Change-Id: Id12cdda87b0cd2940dd01d52db97e6162f671b4d
Signed-off-by: Nishanth Menon <email address hidden>
commit dd1e2d7d3b95e53be5d628a66ca755d6effba55b
Author: Todd Poynor <email address hidden>
Date: Mon Jan 24 14:36:39 2011 -0800
PM: Print pending wakeup IRQ preventing suspend to dmesg
Prints the name of the first action for a pending wakeup IRQ.
Change-Id: I36f90735c75fb7c7ab1084775ec0d0ab02336e6e
Signed-off-by: Todd Poynor <email address hidden>
commit 7d96f042b81c99782c0fcb44d297abd3423c42e2
Author: mhban <email address hidden>
Date: Wed Jun 8 09:13:15 2011 +0000
printk: do not handle non-sleepable notification in console_cpu_notify
- CPU_DYING should not be handled in sleepable context
Signed-off-by: Minho Ban <email address hidden>
commit 4e44768015de4eeeb4592ccc2c013375cbed5bcf
Author: Colin Cross <email address hidden>
Date: Tue Aug 16 16:36:29 2011 -0700
ARM: vfp: Always save VFP state in vfp_pm_suspend
vfp_pm_suspend should save the VFP state in suspend after
any lazy context switch. If it only saves when the VFP is enabled,
the state can get lost when, on a UP system:
Thread 1 uses the VFP
Context switch occurs to thread 2, VFP is disabled but the
VFP context is not saved
Thread 2 initiates suspend
vfp_pm_suspend is called with the VFP disabled, and the unsaved
VFP context of Thread 1 in the registers
Modify vfp_pm_suspend to save the VFP context whenever
vfp_current_hw_state is not NULL.
Change-Id: I91f29722d256a3afc1cc04df8b227541434ccffb
Cc: Russell King <email address hidden>
Cc: Barry Song <email address hidden>
Cc: Catalin Marinas <email address hidden>
Signed-off-by: Colin Cross <email address hidden>
commit 868fba1d755e9674c9941aa3e1d78779c8fd3a8b
Author: Colin Cross <email address hidden>
Date: Thu Jan 27 15:46:20 2011 -0800
ARM: vfp: Move exception address fixup into vfphw.S
If the PC on the stack is updated in entry-armv.S,
do_undefinstr can get called after the fixup. do_undefinstr
does its own fixup, and doing both causes the PC to point to
half way through an instruction.
Instead, do the fixup in do_vfp, where only the vfp code
can get called.
Change-Id: I6d966887adc8ed58d88bfe0cb3c0ba29213be488
Signed-off-by: Colin Cross <email address hidden>
commit 0d382dca409e83813dbdff031dd3ecfca01d1355
Author: San Mehat <email address hidden>
Date: Tue Aug 25 16:52:22 2009 -0700
[ARM] process: Add display of memory around registers when displaying regs.
This is extremely useful in diagnosing remote crashes, and is based heavily
on original work by <email address hidden>.
Signed-off-by: San Mehat <email address hidden>
Cc: Michael Davidson <email address hidden>
[ARM] process: Use uber-safe probe_kernel_address() to read mem when dumping.
This prevents the dump from taking pagefaults / external aborts.
Signed-off-by: San Mehat <email address hidden>
commit 5ded4f63f7f6c47f3b689138b8a9807fc50c34ff
Author: Benoit Goby <email address hidden>
Date: Thu Aug 13 09:40:42 2009 -0700
drivers: power: Add watchdog timer to catch drivers which lockup during suspend.
Rather than hard-lock the kernel, dump the suspend thread stack and
BUG() when a driver takes too long to suspend. The timeout is set
to 12 seconds to be longer than the usbhid 10 second timeout.
Exclude from the watchdog the time spent waiting for children that
are resumed asynchronously and time every device, whether or not they
resumed synchronously.
Change-Id: Ifd211c06b104860c2fee6eecfe0d61774aa4508a
Original-author: San Mehat <email address hidden>
Signed-off-by: Benoit Goby <email address hidden>
commit 5b45cdd3fc03b4f950454fa967b2c187b75db6cb
Author: Colin Cross <email address hidden>
Date: Fri Sep 3 12:41:21 2010 -0700
mmc_block: Allow more than 8 partitions per card
Set the GENHD_FL_EXT_DEVT flag, which will allocate minor numbers
in major 259 for partitions past disk->minors.
Also remove the use of disk_devt to determine devidx from md->disk.
md->disk->first_minor is always initialized from devidx and can
always be used to recover it.
Signed-off-by: Colin Cross <email address hidden>
commit a7b5afec648a754968abfb51d12c0deeb33bef7b
Author: Dima Zavin <email address hidden>
Date: Thu Dec 4 12:19:57 2008 -0800
mtd: nand: Allow NAND chip ids to be included standalone.
Lets non-standard NAND drivers take advantage of known NAND
chip information.
Change-Id: I87e2fcb40b07b2ec91e102f1fa7f419a4b4af0a3
Signed-off-by: Dima Zavin <email address hidden>
commit 7b1e78d6051d4c202574bd79148c99fa8bd26d00
Author: Robert Love <email address hidden>
Date: Tue Apr 29 16:44:10 2008 -0400
Make /dev/mem configurable, as we don't want it.
Signed-off-by: Brian Swetland <email address hidden>
commit f7d2d451f673ed320357d34669380391cda0d02f
Author: Arve Hjønnevåg <email address hidden>
Date: Tue May 8 15:39:13 2007 +0700
Add build option to to set the default panic timeout.
commit ec89ae92433d743442287a8b88ff58993388387d
Author: Arve Hjønnevåg <email address hidden>
Date: Wed Dec 10 20:06:28 2008 -0800
sched: Enable might_sleep before initializing drivers.
This allows detection of init bugs in built-in drivers.
Signed-off-by: Arve Hjønnevåg <email address hidden>
commit 78cd9e17ef5aad9cf751cb500daf9b6f4d7b176b
Author: Dima Zavin <email address hidden>
Date: Tue Apr 27 20:57:04 2010 -0700
[ARM] Do not call flush_cache_user_range with mmap_sem held
We can't be holding the mmap_sem while calling flush_cache_user_range
because the flush can fault. If we fault on a user address, the
page fault handler will try to take mmap_sem again. Since both places
acquire the read lock, most of the time it succeeds. However, if another
thread tries to acquire the write lock on the mmap_sem (e.g. mmap) in
between the call to flush_cache_user_range and the fault, the down_read
in do_page_fault will deadlock.
Also, since we really can't be holding the mmap_sem while calling
flush_cache_user_range AND vma is actually unused by the flush itself,
get rid of vma as an argument.
Change-Id: If55409bde41ad1060fa4fe7cbd4ac530d4d9a106
Signed-off-by: Dima Zavin <email address hidden>
commit 4893b826a3b83f4393adb0c333f22665828a13f0
Merge: 057bdfd 704e55b
Author: Andrey Konovalov <email address hidden>
Date: Thu Mar 22 20:34:26 2012 +0400
Merge branch 'tracking-unsorted' into linux-linaro
commit 704e55b9b95d2a5a9d2a2963a7e27d5330bf7e16
Author: Avik Sil <email address hidden>
Date: Wed Feb 15 17:06:50 2012 +0530
Perf: Fallback to /bin/more if less is not found for perf pager
Signed-off-by: Avik Sil <email address hidden>
Signed-off-by: Andrey Konovalov <email address hidden>
commit c17e143a4ace2c5151ae9c63b0728113e132f72e
Author: Grant Likely <email address hidden>
Date: Mon Oct 24 11:09:15 2011 +0200
dt: Linux dt usage model documentation
v2: 2nd draft
- Editorial cleanups from Randy Dunlap
Signed-off-by: Grant Likely <email address hidden>
commit 077ee355fefd5ff3343209434a80e8db9b85d4a3
Author: Grant Likely <email address hidden>
Date: Mon Oct 24 11:09:11 2011 +0200
arm/dt: Add basic device tree support for mx51 and mx53 boards
This patch add support for the Genesi Efika MX Smarttop and Smartbook,
the Freescale mx51 babbage board, and the Freescale mx53 loco board
Signed-off-by: Jason Liu <email address hidden>
Signed-off-by: Grant Likely <email address hidden>
Conflicts:
arch/arm/mach-imx/mach-mx51_babbage.c
arch/arm/mach-imx/mach-mx51_efikamx.c
arch/arm/mach-imx/mach-mx51_efikasb.c
arch/arm/mach-imx/mach-mx53_loco.c
arch/arm/mach-mx5/Makefile.boot
commit 89cd1705b33f806c000a7a5daace18b84bc8f9b1
Author: Andrey Konovalov <email address hidden>
Date: Fri Jan 6 23:12:42 2012 +0400
arm/dt: Add basic device tree support for smdkv310 board
Enable basic device tree support for Exynos4 smdkv310 board.
Signed-off-by: Thomas Abraham <email address hidden>
Signed-off-by: Grant Likely <email address hidden>
Conflicts:
arch/arm/mach-exynos/mach-smdkv310.c
commit c7ab4d3da88f319a4b615ab38a426495d0893088
Author: Grant Likely <email address hidden>
Date: Mon Oct 24 11:09:10 2011 +0200
arm/dt: omap3 basic device tree board support
Enable basic device tree support for the Gumstix Overo, IGEP, Panda
and Beagle OMAP boards
Signed-off-by: Andy Doan <email address hidden>
Signed-off-by: Jon Medhurst <email address hidden>
Signed-off-by: Grant Likely <email address hidden>
Conflicts:
arch/arm/mach-omap2/board-igep0020.c
arch/arm/mach-omap2/board-omap3beagle.c
arch/arm/mach-omap2/board-omap4panda.c
arch/arm/mach-omap2/board-overo.c
commit 2a38ab0a255c81abac214fed4cea6ad8fe665bf2
Author: Shawn Guo <email address hidden>
Date: Mon Oct 24 11:09:07 2011 +0200
arm/dt: add versatile dtb build rules
Makes 'make dtbs' build the versatile .dtb files when versatile is enabled.
Signed-off-by: Grant Likely <email address hidden>
commit df1d2adf45d591ae47778ecd985117b45f9f4817
Author: John Bonesio <email address hidden>
Date: Mon Oct 24 11:09:06 2011 +0200
dt: Add id to AUXDATA structure
This patch adds the ability to set the device id in the AUXDATA structure for
those few device drivers that just have to have a statically defined device id.
Signed-off-by: John Bonesio <email address hidden>
Signed-off-by: Grant Likely <email address hidden>
commit fc6a2f3ad58f34a8eee9c2c94693633dba1fed73
Author: Andrey Konovalov <email address hidden>
Date: Mon Jan 23 21:06:26 2012 +0400
Get rid of "ERROR: "omap_bus_sync" undefined!" when building modules
Signed-off-by: Andrey Konovalov <email address hidden>
commit 42069610503807c0f6d0a2b234f0548708e5d4d1
Author: Vincent Guittot <email address hidden>
Date: Fri Oct 21 09:02:47 2011 +0200
sched: Ensure cpu_power periodic update
With a lot of small task, the softirq sched is nearly never called
when no_hz is enable. Te load_balance is mainly called with
the newly_idle mode which doesn't update the cpu_power.
Add a next_update field which ensure a maximum update period when
there is short activity
Signed-off-by: Vincent Guittot <email address hidden>
Conflicts:
include/linux/sched.h
commit 82d9b44532aaf130498c2c68f65969ba63d1903d
Author: Arnd Bergmann <email address hidden>
Date: Sat Oct 8 17:07:50 2011 +0200
ARM: kprobes: work around build errors
I got a few build errors for kprobes playing with randconfig on the
latest kernel. While this patch manages to avoid these errors, I'm
pretty sure that it is not the ideal solution.
The errors I got in arm are while building for ARMv6 with
the arm-linux-gnueabihf-gcc-4.6 provided by Linaro, which
results in these messages:
/tmp/ccGpftnj.s: Assembler messages:
/tmp/ccGpftnj.s:22066: Error: selected processor does not support ARM mode `mls r0,r1,r2,r3'
/tmp/ccGpftnj.s:22099: Error: selected processor does not support ARM mode `mlshi r7,r8,r9,r10'
/tmp/ccGpftnj.s:22128: Error: selected processor does not support ARM mode `mls lr,r1,r2,r13'
/tmp/ccGpftnj.s:23781: Error: selected processor does not support ARM mode `strexd r0,r2,r3,[sp]'
/tmp/ccGpftnj.s:23802: Error: selected processor does not support ARM mode `ldrexd r2,r3,[sp]'
/tmp/ccGpftnj.s:23823: Error: selected processor does not support ARM mode `strexb r0,r2,[sp]'
/tmp/ccGpftnj.s:23844: Error: selected processor does not support ARM mode `ldrexb r2,[sp]'
/tmp/ccGpftnj.s:23865: Error: selected processor does not support ARM mode `strexh r0,r2,[sp]'
/tmp/ccGpftnj.s:23886: Error: selected processor does not support ARM mode `ldrexh r2,[sp]'
/tmp/ccGpftnj.s:25836: Warning: base register written back, and overlaps second transfer register
[ NP: I didn't reproduce the T2 errors, and Tixy was doubtful about them.
Merged Tixy's change suggestions and his ACK. ]
Signed-off-by: Arnd Bergmann <email address hidden>
Acked-by: Jon Medhurst <email address hidden>
Signed-off-by: Nicolas Pitre <email address hidden>
commit 0f3d74603129a7abb9c93a8d7454cac933aa066c
Author: Ming Lei <email address hidden>
Date: Wed Aug 31 00:03:13 2011 +0800
usb: ehci: make HC see up-to-date qh/qtd descriptor ASAP
This patch introduces the helper of ehci_sync_mem to flush
qtd/qh into memory immediately on some ARM, so that HC can
see the up-to-date qtd/qh descriptor asap.
This patch fixs one performance bug on ARM Cortex A9 dual core
platform, which has been reported on quite a few ARM machines
(OMAP4, Tegra 2, snowball...), see details from link of
https://bugs.launchpad.net/bugs/709245.
The patch has been tested ok on OMAP4 panda A1 board, and the
performance of 'dd' over usb mass storage can be increased from
4~5MB/sec to 14~16MB/sec after applying this patch.
Cc: Russell King <email address hidden>
Signed-off-by: Ming Lei <email address hidden>
Signed-off-by: Alan Stern <email address hidden>
commit 057bdfdcbaed06f47630385a699fad33b83908f4
Merge: ae92777 ba9d77c
Author: Andrey Konovalov <email address hidden>
Date: Thu Mar 22 20:34:24 2012 +0400
Merge branch 'tracking-umm-3.3-wip' into linux-linaro
commit ba9d77cd2402fb307d8f0944d4fa71e4915bb478
Author: Rob Clark <email address hidden>
Date: Mon Mar 19 16:42:49 2012 -0500
dma-buf: document fd flags and O_CLOEXEC requirement
Otherwise subsystems will get this wrong and end up with a second
export ioctl with the flag and O_CLOEXEC support added.
Signed-off-by: Rob Clark <email address hidden>
Reviewed-by: Daniel Vetter <email address hidden>
Signed-off-by: Sumit Semwal <email address hidden>
commit 8c0b7e760f2eefb3601cc21edbf3699efbdba19c
Author: Daniel Vetter <email address hidden>
Date: Mon Mar 19 00:34:27 2012 +0100
dma_buf: Add documentation for the new cpu access support
v2: Fix spelling issues noticed by Rob Clark.
Signed-off-by: Daniel Vetter <email address hidden>
Signed-off-by: Rob Clark <email address hidden>
Signed-off-by: Sumit Semwal <email address hidden>
commit 813cdca056f1b317df340e8d25e22be6a22e7472
Author: Daniel Vetter <email address hidden>
Date: Tue Mar 20 00:02:37 2012 +0100
dma-buf: add support for kernel cpu access
Big differences to other contenders in the field (like ion) is
that this also supports highmem, so we have to split up the cpu
access from the kernel side into a prepare and a kmap step.
Prepare is allowed to fail and should do everything required so that
the kmap calls can succeed (like swapin/backing storage allocation,
flushing, ...).
More in-depth explanations will follow in the follow-up documentation
patch.
Changes in v2:
- Clear up begin_cpu_access confusion noticed by Sumit Semwal.
- Don't automatically fallback from the _atomic variants to the
non-atomic variants. The _atomic callbacks are not allowed to
sleep, so we want exporters to make this decision explicit. The
function signatures are explicit, so simpler exporters can still
use the same function for both.
- Make the unmap functions optional. Simpler exporters with permanent
mappings don't need to do anything at unmap time.
Changes in v3:
- Adjust the WARN_ON checks for the new ->ops functions as suggested
by Rob Clark and Sumit Semwal.
- Rebased on top of latest dma-buf-next git.
Changes in v4:
- Fixup a missing - in a return -EINVAL; statement.
Signed-Off-by: Daniel Vetter <email address hidden>
Signed-off-by: Rob Clark <email address hidden>
Signed-off-by: Sumit Semwal <email address hidden>
commit c84dadc00d155c145d2c6c0e5021fbc44f95517e
Author: Daniel Vetter <email address hidden>
Date: Mon Mar 19 00:34:25 2012 +0100
dma-buf: don't hold the mutex around map/unmap calls
The mutex protects the attachment list and hence needs to be held
around the callbakc to the exporters (optional) attach/detach
functions.
Holding the mutex around the map/unmap calls doesn't protect any
dma_buf state. Exporters need to properly protect any of their own
state anyway (to protect against calls from their own interfaces).
So this only makes the locking messier (and lockdep easier to anger).
Therefore let's just drop this.
v2: Rebased on top of latest dma-buf-next git.
Signed-off-by: Daniel Vetter <email address hidden>
Reviewed-by: Rob Clark <email address hidden>
Signed-off-by: Sumit Semwal <email address hidden>
commit d37c8fe4ce25fe5158020145216f8357edea6829
Author: Sumit Semwal <email address hidden>
Date: Thu Mar 22 12:23:52 2012 +0530
v4l:vb2: pass flag to dma_buf_fd
dma_buf_fd() now requires a flag to be passed for the fd. For now it can
only be FD_CLOEXEC. Adapt vb2_expbuf() to pass this flag.
Signed-off-by: Sumit Semwal <email address hidden>
commit 0bcdcceef58806c83da0bb5287ffdf33a826708f
Author: Tomasz Stanislawski <email address hidden>
Date: Fri Jul 15 17:18:31 2011 +0200
v4l: s5p-tv: mixer: integrate with dmabuf
Signed-off-by: Tomasz Stanislawski <email address hidden>
Signed-off-by: Kyungmin Park <email address hidden>
commit 7871a33e0ee0479acc0ff4e8410573844f82ff6c
Author: Tomasz Stanislawski <email address hidden>
Date: Fri Jul 15 17:17:47 2011 +0200
v4l: fimc: integrate capture i-face with dmabuf
Signed-off-by: Tomasz Stanislawski <email address hidden>
Signed-off-by: Kyungmin Park <email address hidden>
commit 260a394b2c898528d91059cfc571afabcb2aa603
Author: Tomasz Stanislawski <email address hidden>
Date: Wed Feb 29 11:23:32 2012 +0100
v4l: vb2-dma-contig: change map/unmap behaviour
The DMABUF documentation says that the map_dma_buf callback should return
scatterlist that is mapped into a caller's address space. In practice, almost
none of existing implementations of DMABUF exporter does it. This patch breaks
the DMABUF specification in order to allow exchange DMABUF buffers between
other APIs like DRM.
Signed-off-by: Tomasz Stanislawski <email address hidden>
Signed-off-by: Kyungmin Park <email address hidden>
commit 3286b0bbe5e8587b3fef8c0bab8fb150f072b86e
Author: Tomasz Stanislawski <email address hidden>
Date: Wed Feb 29 10:01:23 2012 +0100
v4l: vb2-dma-contig: add support for DMABUF exporting
This patch adds support for exporting a dma-contig buffer using
DMABUF interface.
Signed-off-by: Tomasz Stanislawski <email address hidden>
Signed-off-by: Kyungmin Park <email address hidden>
commit a65b87e28bd888dd0f91f2079f068b3dcc158fb7
Author: Tomasz Stanislawski <email address hidden>
Date: Tue Jan 10 13:51:38 2012 +0100
v4l: vb2: add buffer exporting via dmabuf
This patch adds extension to videobuf2-core. It allow to export a mmap buffer
as a file descriptor.
Signed-off-by: Tomasz Stanislawski <email address hidden>
Signed-off-by: Kyungmin Park <email address hidden>
commit a5bfa79cae6f4bd1e6bc5978a9b4651b048fe57a
Author: Tomasz Stanislawski <email address hidden>
Date: Tue Jan 10 13:51:38 2012 +0100
v4l: add buffer exporting via dmabuf
This patch adds extension to V4L2 api. It allow to export a mmap buffer as file
descriptor. New ioctl VIDIOC_EXPBUF is added. It takes a buffer offset used by
mmap and return a file descriptor on success.
Signed-off-by: Tomasz Stanislawski <email address hidden>
Signed-off-by: Kyungmin Park <email address hidden>
commit c0e317f5f2a35589d702fb79b5fef87a7b313830
Author: Sumit Semwal <email address hidden>
Date: Thu Jan 5 16:11:58 2012 +0530
v4l: vb2: Add dma-contig allocator as dma_buf user
This patch makes changes for adding dma-contig as a dma_buf user. It provides
function implementations for the {attach, detach, map, unmap}_dmabuf()
mem_ops of DMABUF memory type.
Signed-off-by: Sumit Semwal <email address hidden>
Signed-off-by: Sumit Semwal <email address hidden>
[author of the original patch]
Signed-off-by: Tomasz Stanislawski <email address hidden>
[integration with refactored dma-contig allocator]
commit 837aa53400efafe9ef24be998bdc05300673afcf
Author: Tomasz Stanislawski <email address hidden>
Date: Mon Oct 17 15:06:56 2011 +0200
v4l: vb2-dma-contig: update and code refactoring
This patch combines updates and fixes to dma-contig allocator.
Moreover the allocator code was refactored.
The most important changes are:
- functions were reordered
- move compression of scatterlist to separete function
- add support for multichunk but contiguous scatterlists
- simplified implementation of vb2-dma-contig context structure
- let mmap method to use dma_mmap_writecombine
- add support for scatterlist in userptr mode
Signed-off-by: Marek Szyprowski <email address hidden>
[mmap method]
Signed-off-by: Andrzej Pietrasiewicz <email address hidden>
[scatterlist in userptr mode]
Signed-off-by: Kamil Debski <email address hidden>
[bugfixing]
Signed-off-by: Tomasz Stanislawski <email address hidden>
[core refactoring, helper functions]
Signed-off-by: Kyungmin Park <email address hidden>
commit ec02becbdd0ecc796c7a890ce9441dbbc1021e0f
Author: Tomasz Stanislawski <email address hidden>
Date: Fri Jan 20 15:53:24 2012 +0100
v4l: vb2: fixes for DMABUF support
This patch contains fixes to DMABUF support in vb2-core.
- fixes number of arguments of call_memop macro
- fixes setup of plane length
- fixes handling of error pointers
Signed-off-by: Tomasz Stanislawski <email address hidden>
Signed-off-by: Kyungmin Park <email address hidden>
commit 1343efd112d4966ee8b254f340f2cab0fbb5244b
Author: Sumit Semwal <email address hidden>
Date: Thu Jan 5 16:11:57 2012 +0530
v4l:vb: remove warnings about MEMORY_DMABUF
Adding DMABUF memory type causes videobuf to complain about not using it
in some switch cases. This patch removes these warnings.
Signed-off-by: Sumit Semwal <email address hidden>
commit d7a549e9ee7003b64fb9b53418d15bff944c9992
Author: Sumit Semwal <email address hidden>
Date: Thu Jan 5 16:11:56 2012 +0530
v4l:vb2: add support for shared buffer (dma_buf)
This patch adds support for DMABUF memory type in videobuf2. It calls relevant
APIs of dma_buf for v4l reqbuf / qbuf / dqbuf operations.
For this version, the support is for videobuf2 as a user of the shared buffer;
so the allocation of the buffer is done outside of V4L2. [A sample allocator of
dma-buf shared buffer is given at [1]]
[1]: Rob Clark's DRM:
https://github.com/robclark/kernel-omap4/commits/drmplane-dmabuf
Signed-off-by: Tomasz Stanislawski <email address hidden>
[original work in the PoC for buffer sharing]
Signed-off-by: Sumit Semwal <email address hidden>
Signed-off-by: Sumit Semwal <email address hidden>
commit f3d29bdc08fe60bc2f1fc7622094e6a2b69e1dda
Author: Sumit Semwal <email address hidden>
Date: Thu Jan 5 16:11:55 2012 +0530
v4l: Add DMABUF as a memory type
Adds DMABUF memory type to v4l framework. Also adds the related file
descriptor in v4l2_plane and v4l2_buffer.
Signed-off-by: Tomasz Stanislawski <email address hidden>
[original work in the PoC for buffer sharing]
Signed-off-by: Sumit Semwal <email address hidden>
Signed-off-by: Sumit Semwal <email address hidden>
commit 4cb45a0381809a0ecfccaa1f3d3c445ec3bb7d6a
Author: Tomasz Stanislawski <email address hidden>
Date: Fri Mar 2 17:57:00 2012 +0100
drm: exynos: fix gem-prime support
Fixes to error handling of GEM prime buffers for exynos-drm drive.
Signed-off-by: Tomasz Stanislawski <email address hidden>
Signed-off-by: Kyungmin Park <email address hidden>
commit 768dbd6e9e0dd15d9d249a64cf5726778a175fa8
Author: Inki Dae <email address hidden>
Date: Wed Jan 18 12:05:00 2012 +0900
drm/exynos: removed unnecessary codes and fixed exception bug.
Signed-off-by: Inki Dae <email address hidden>
commit f8d19baa0f9c6443fc78b04638a96424f1f8b20a
Author: Inki Dae <email address hidden>
Date: Wed Jan 11 13:36:53 2012 +0900
drm/exynos: fixed resource releasing bug with dmabug.
Signed-off-by: Inki Dae <email address hidden>
commit f883899b155e3e39458d5817001ae1c447651970
Author: Inki Dae <email address hidden>
Date: Mon Jan 9 13:53:32 2012 +0900
exynos/drm: added padding and fixed size type.
Signed-off-by: Inki Dae <email address hidden>
commit 05afd25be6149fded0f7368db741d8b282fa0ac0
Author: Inki Dae <email address hidden>
Date: Mon Jan 9 13:21:53 2012 +0900
drm/exynos: added dmabuf support for exynos.
Signed-off-by: Inki Dae <email address hidden>
commit 4ade7df83735f14102db2079fb5d08dd9f7e84af
Author: Inki Dae <email address hidden>
Date: Mon Jan 9 13:20:34 2012 +0900
DMABUF: added get_shared_cnt callback.
Signed-off-by: Inki Dae <email address hidden>
commit f2e8e61e1b0a5f7010fda1ab7f2e7d506b966c74
Author: Marek Szyprowski <email address hidden>
Date: Tue Oct 18 11:27:52 2011 +0200
media: vb2: add prepare/finish callbacks to allocators
Signed-off-by: Marek Szyprowski <email address hidden>
commit a462ef64274026dbfd2ff4d2010dd5793dd27110
Author: Tomasz Stanislawski <email address hidden>
Date: Tue Jan 10 17:53:47 2012 +0100
arm: dma: support for dma_get_pages
This patch provides reliable mechanism for obtaining pages associated with a
given dma_mapping. This is a proof-of-concept patch.
Signed-off-by: Tomasz Stanislawski <email address hidden>
Signed-off-by: Kyungmin Park <email address hidden>
commit c6057839d81581a0c8062a884501ce3ae435fc08
Author: Hiroshi DOYU <email address hidden>
Date: Mon Mar 5 13:04:38 2012 +0200
ARM: dma-mapping: Fix mapping->bits size
Amount of bits should be mutiplied by BITS_PER_BITE.
Signed-off-by: Hiroshi DOYU <email address hidden>
[added ARM prefix to the patch title]
Signed-off-by: Marek Szyprowski <email address hidden>
commit 4dd4f31bb4abd741d6273ad7b154d1512e277d77
Author: Marek Szyprowski <email address hidden>
Date: Wed Feb 29 15:50:48 2012 +0100
ARM: dma-mapping: add support for IOMMU mapper
This patch add a complete implementation of DMA-mapping API for
devices that have IOMMU support. All DMA-mapping calls are supported.
This patch contains some of the code kindly provided by Krishna Reddy
<email address hidden> and Andrzej Pietrasiewicz <email address hidden>
Signed-off-by: Marek Szyprowski <email address hidden>
Signed-off-by: Kyungmin Park <email address hidden>
Reviewed-by: Konrad Rzeszutek Wilk <email address hidden>
commit 448e83b3da9ef582f5fa7d9bf97dc7aae23f81e3
Author: Marek Szyprowski <email address hidden>
Date: Fri Feb 10 19:55:20 2012 +0100
ARM: dma-mapping: use alloc, mmap, free from dma_ops
This patch converts dma_alloc/free/mmap_{coherent,writecombine}
functions to use generic alloc/free/mmap methods from dma_map_ops
structure. A new DMA_ATTR_WRITE_COMBINE DMA attribute have been
introduced to implement writecombine methods.
Signed-off-by: Marek Szyprowski <email address hidden>
Signed-off-by: Kyungmin Park <email address hidden>
commit 14d01097c7480c189b642bdcb0cb1b1555c22102
Author: Marek Szyprowski <email address hidden>
Date: Fri Feb 10 19:55:20 2012 +0100
ARM: dma-mapping: remove redundant code and cleanup
This patch just performs a global cleanup in DMA mapping implementation
for ARM architecture. Some of the tiny helper functions have been moved
to the caller code, some have been merged together.
Signed-off-by: Marek Szyprowski <email address hidden>
Signed-off-by: Kyungmin Park <email address hidden>
commit 6e1f7659e47fa6aa7088d3d5e521a50a1682b17c
Author: Marek Szyprowski <email address hidden>
Date: Fri Feb 10 19:55:20 2012 +0100
ARM: dma-mapping: move all dma bounce code to separate dma ops structure
This patch removes dma bounce hooks from the common dma mapping
implementation on ARM architecture and creates a separate set of
dma_map_ops for dma bounce devices.
Signed-off-by: Marek Szyprowski <email address hidden>
Signed-off-by: Kyungmin Park <email address hidden>
commit 83f28bb24e1a9e1d3adc1f8cb493914db260d3f5
Author: Marek Szyprowski <email address hidden>
Date: Fri Feb 10 19:55:20 2012 +0100
ARM: dma-mapping: implement dma sg methods on top of any generic dma ops
This patch converts all dma_sg methods to be generic (independent of the
current DMA mapping implementation for ARM architecture). All dma sg
operations are now implemented on top of respective
dma_map_page/dma_sync_single_for* operations from dma_map_ops structure.
Signed-off-by: Marek Szyprowski <email address hidden>
Signed-off-by: Kyungmin Park <email address hidden>
commit 6cd73971b499fe563ad55068a8ff8117075de0dc
Author: Marek Szyprowski <email address hidden>
Date: Fri Feb 10 19:55:20 2012 +0100
ARM: dma-mapping: use asm-generic/dma-mapping-common.h
This patch modifies dma-mapping implementation on ARM architecture to
use common dma_map_ops structure and asm-generic/dma-mapping-common.h
helpers.
Signed-off-by: Marek Szyprowski <email address hidden>
Signed-off-by: Kyungmin Park <email address hidden>
commit 28134fc1ed9a76fd313a2c3585e7197a1a686e40
Author: Marek Szyprowski <email address hidden>
Date: Fri Feb 10 19:55:20 2012 +0100
ARM: dma-mapping: remove offset parameter to prepare for generic dma_ops
This patch removes the need for offset parameter in dma bounce
functions. This is required to let dma-mapping framework on ARM
architecture use common, generic dma-mapping helpers.
Signed-off-by: Marek Szyprowski <email address hidden>
Signed-off-by: Kyungmin Park <email address hidden>
commit 8e91ccd4ef8ecb65af2f487b90d6e96cad2419e8
Author: Marek Szyprowski <email address hidden>
Date: Tue Feb 28 10:19:14 2012 +0100
ARM: dma-mapping: use pr_* instread of printk
Replace all calls to printk with pr_* functions family.
Signed-off-by: Marek Szyprowski <email address hidden>
Signed-off-by: Kyungmin Park <email address hidden>
commit 038982c4368e103ab35e8bc3cf27f66a96ad1f24
Author: Marek Szyprowski <email address hidden>
Date: Wed Feb 29 14:45:28 2012 +0100
ARM: dma-mapping: introduce ARM_DMA_ERROR constant
Replace all uses of ~0 with ARM_DMA_ERROR, what should make the code
easier to read.
Signed-off-by: Marek Szyprowski <email address hidden>
Signed-off-by: Kyungmin Park <email address hidden>
commit 91dfa01835db617857c5a53484f30807a4ca9a55
Author: Russell King <email address hidden>
Date: Thu Jan 12 23:08:07 2012 +0000
ARM: add dma coherent region reporting via procfs
Add a new seqfile for reporting coherent DMA allocations. This contains
the address range, size and the function which was used to allocate
each region, allowing these allocations to be viewed in much the same
way as /proc/vmallocinfo.
The DMA coherent region has limited space, so this allows allocation
failures to be viewed, as well as finding out how much space is being
used.
Make sure this file is only readable by root - same as vmallocinfo - to
prevent information leakage.
Acked-by: Nicolas Pitre <email address hidden>
Signed-off-by: Russell King <email address hidden>
commit 04ae409fc999f894d0be79dc6a7845f89201b614
Merge: d4e888d e749a9f
Author: Sumit Semwal <email address hidden>
Date: Tue Mar 20 14:49:24 2012 +0530
Merge branch 'dma-mapping-next' of git://git.infradead.org/users/kmpark/linux-2.6-samsung into umm-3.3rc7-wip
commit e749a9f707f1102735e02338fa564be86be3bb69
Author: Marek Szyprowski <email address hidden>
Date: Fri Dec 23 10:37:13 2011 +0100
common: DMA-mapping: add NON-CONSISTENT attribute
DMA_ATTR_NON_CONSISTENT lets the platform to choose to return either
consistent or non-consistent memory as it sees fit. By using this API,
you are guaranteeing to the platform that you have all the correct and
necessary sync points for this memory in the driver should it choose to
return non-consistent memory.
Signed-off-by: Marek Szyprowski <email address hidden>
Signed-off-by: Kyungmin Park <email address hidden>
Reviewed-by: Arnd Bergmann <email address hidden>
commit 13905d68bbe8a3fba829dfb41312ff7d2afd70cc
Author: Marek Szyprowski <email address hidden>
Date: Fri Dec 23 09:30:47 2011 +0100
common: DMA-mapping: add WRITE_COMBINE attribute
DMA_ATTR_WRITE_COMBINE specifies that writes to the mapping may be
buffered to improve performance. It will be used by the replacement for
ARM/ARV32 specific dma_alloc_writecombine() function.
Signed-off-by: Marek Szyprowski <email address hidden>
Signed-off-by: Kyungmin Park <email address hidden>
Reviewed-by: Arnd Bergmann <email address hidden>
commit 638ad497eece84aa4ec88d570c106afce171ae97
Author: Marek Szyprowski <email address hidden>
Date: Wed Dec 21 16:55:33 2011 +0100
common: dma-mapping: introduce mmap method
Introduce new generic mmap method with attributes argument.
This method lets drivers to create a userspace mapping for a DMA buffer
in generic, architecture independent way.
Signed-off-by: Marek Szyprowski <email address hidden>
Signed-off-by: Kyungmin Park <email address hidden>
Reviewed-by: Arnd Bergmann <email address hidden>
commit 3142381f981e4b7de64abb755775d50647078cad
Author: Marek Szyprowski <email address hidden>
Date: Wed Dec 21 16:55:57 2011 +0100
common: dma-mapping: remove old alloc_coherent and free_coherent methods
Remove old, unused alloc_coherent and free_coherent methods from
dma_map_ops structure.
Signed-off-by: Marek Szyprowski <email address hidden>
Signed-off-by: Kyungmin Park <email address hidden>
Reviewed-by: Arnd Bergmann <email address hidden>
commit 3f2f7b32827cd84e751d816708b540a9101ab701
Author: Marek Szyprowski <email address hidden>
Date: Mon Feb 13 10:31:31 2012 +0100
Hexagon: adapt for dma_map_ops changes
Adapt core Hexagon architecture code for dma_map_ops changes: replace
alloc/free_coherent with generic alloc/free methods.
Signed-off-by: Marek Szyprowski <email address hidden>
Signed-off-by: Kyungmin Park <email address hidden>
Reviewed-by: Arnd Bergmann <email address hidden>
commit 8c91ba6a647954bdd5541a9eeb0cff096f841be6
Author: Andrzej Pietrasiewicz <email address hidden>
Date: Fri Dec 16 13:05:20 2011 +0100
Unicore32: adapt for dma_map_ops changes
Adapt core Unicore32 architecture code for dma_map_ops changes: replace
alloc/free_coherent with generic alloc/free methods.
Signed-off-by: Andrzej Pietrasiewicz <email address hidden>
Signed-off-by: Marek Szyprowski <email address hidden>
Signed-off-by: Kyungmin Park <email address hidden>
Reviewed-by: Arnd Bergmann <email address hidden>
commit cdd549989b6e850fdcba984787be10353b88570a
Author: Andrzej Pietrasiewicz <email address hidden>
Date: Thu Dec 15 11:47:51 2011 +0100
Microblaze: adapt for dma_map_ops changes
Adapt core Microblaze architecture code for dma_map_ops changes: replace
alloc/free_coherent with generic alloc/free methods.
Signed-off-by: Andrzej Pietrasiewicz <email address hidden>
Signed-off-by: Marek Szyprowski <email address hidden>
Signed-off-by: Kyungmin Park <email address hidden>
Reviewed-by: Arnd Bergmann <email address hidden>
commit 2d9d57833acc03adf469eeeea8c9379c1667f191
Author: Andrzej Pietrasiewicz <email address hidden>
Date: Wed Dec 14 12:11:13 2011 +0100
SH: adapt for dma_map_ops changes
Adapt core SH architecture code for dma_map_ops changes: replace
alloc/free_coherent with generic alloc/free methods.
Signed-off-by: Andrzej Pietrasiewicz <email address hidden>
Signed-off-by: Marek Szyprowski <email address hidden>
Signed-off-by: Kyungmin Park <email address hidden>
Reviewed-by: Arnd Bergmann <email address hidden>
commit 5cd3f01ad97767ffaa5c5834d8c86904439552b3
Author: Andrzej Pietrasiewicz <email address hidden>
Date: Thu Dec 22 13:58:21 2011 +0100
Alpha: adapt for dma_map_ops changes
Adapt core Alpha architecture code for dma_map_ops changes: replace
alloc/free_coherent with generic alloc/free methods.
Signed-off-by: Andrzej Pietrasiewicz <email address hidden>
Signed-off-by: Marek Szyprowski <email address hidden>
Signed-off-by: Kyungmin Park <email address hidden>
Reviewed-by: Arnd Bergmann <email address hidden>
commit baa1954924802ffeec30908cfff57582b6e47a33
Author: Andrzej Pietrasiewicz <email address hidden>
Date: Thu Dec 8 12:59:35 2011 +0100
SPARC: adapt for dma_map_ops changes
Adapt core SPARC architecture code for dma_map_ops changes: replace
alloc/free_coherent with generic alloc/free methods.
Signed-off-by: Andrzej Pietrasiewicz <email address hidden>
Signed-off-by: Marek Szyprowski <email address hidden>
Signed-off-by: Kyungmin Park <email address hidden>
Reviewed-by: Arnd Bergmann <email address hidden>
commit a08c9b3b5894d77f969173d8d8cd7c384827192d
Author: Andrzej Pietrasiewicz <email address hidden>
Date: Wed Dec 7 16:51:38 2011 +0100
IA64: adapt for dma_map_ops changes
Adapt core IA64 architecture code for dma_map_ops changes: replace
alloc/free_coherent with generic alloc/free methods.
Signed-off-by: Andrzej Pietrasiewicz <email address hidden>
Signed-off-by: Marek Szyprowski <email address hidden>
Signed-off-by: Kyungmin Park <email address hidden>
Reviewed-by: Arnd Bergmann <email address hidden>
commit 75ab645afcf3cf5537ca88a2c1aff831909822fc
Author: Andrzej Pietrasiewicz <email address hidden>
Date: Tue Dec 6 14:14:46 2011 +0100
PowerPC: adapt for dma_map_ops changes
Adapt core PowerPC architecture code for dma_map_ops changes: replace
alloc/free_coherent with generic alloc/free methods.
Signed-off-by: Andrzej Pietrasiewicz <email address hidden>
Signed-off-by: Marek Szyprowski <email address hidden>
[added missing changes to arch/powerpc/kernel/vio.c]
Signed-off-by: Kyungmin Park <email address hidden>
Reviewed-by: David Gibson <email address hidden>
Reviewed-by: Arnd Bergmann <email address hidden>
commit 5a0ec54b355466bb54390e7c033528a0b528d9bf
Author: Andrzej Pietrasiewicz <email address hidden>
Date: Tue Dec 6 11:16:46 2011 +0100
MIPS: adapt for dma_map_ops changes
Adapt core MIPS architecture code for dma_map_ops changes: replace
alloc/free_coherent with generic alloc/free methods.
Signed-off-by: Andrzej Pietrasiewicz <email address hidden>
[added missing changes to arch/mips/cavium-octeon/dma-octeon.c,
fixed attrs argument in dma-mapping.h]
Signed-off-by: Marek Szyprowski <email address hidden>
Signed-off-by: Kyungmin Park <email address hidden>
Reviewed-by: Arnd Bergmann <email address hidden>
commit f0553cf4f64f0c1e6c680014b05c980d800ed046
Author: Andrzej Pietrasiewicz <email address hidden>
Date: Thu Dec 1 15:06:04 2011 +0100
X86: adapt for dma_map_ops changes
Adapt core X86 architecture code for dma_map_ops changes: replace
alloc/free_coherent with generic alloc/free methods.
Signed-off-by: Andrzej Pietrasiewicz <email address hidden>
Signed-off-by: Marek Szyprowski <email address hidden>
Signed-off-by: Kyungmin Park <email address hidden>
Reviewed-by: Arnd Bergmann <email address hidden>
commit 43581f8a23de713cf7fe42e400758108715cb1ed
Author: Marek Szyprowski <email address hidden>
Date: Wed Dec 21 16:51:09 2011 +0100
common: dma-mapping: introduce alloc_attrs and free_attrs methods
Introduce new generic alloc and free methods with attributes argument.
Existing alloc_coherent and free_coherent can be implemented on top of the
new calls with NULL attributes argument. Later also dma_alloc_non_coherent
can be implemented using DMA_ATTR_NONCOHERENT attribute as well as
dma_alloc_writecombine with separate DMA_ATTR_WRITECOMBINE attribute.
This way the drivers will get more generic, platform independent way of
allocating dma buffers with specific parameters.
Signed-off-by: Marek Szyprowski <email address hidden>
Signed-off-by: Kyungmin Park <email address hidden>
Reviewed-by: David Gibson <email address hidden>
Reviewed-by: Arnd Bergmann <email address hidden>
commit d4e888d27e89fbfc357128dffd15dbf43fd2e0d0
Merge: ff626cc 40a384c
Author: Sumit Semwal <email address hidden>
Date: Sun Mar 18 15:10:11 2012 +0530
Merge branch 'drm-dmabuf2' of git://people.freedesktop.org/~airlied/linux into umm-3.3rc7
commit 40a384ccbfe1001a3b858aa940d16c0c650f61e4
Author: Dave Airlie <email address hidden>
Date: Wed Dec 21 11:30:31 2011 +0000
nouveau: add prime support.
this involves changing the nouveau_bo_new api.
commit 3645c6c8ae3cac90c6163d71c3945a8de57d3344
Author: Dave Airlie <email address hidden>
Date: Wed Dec 21 11:26:26 2011 +0000
ttm: introduce slave objects from an sg_table
This creates a new TTM object type, a slave object, that is created
from a passed in sg_table. The code has to make sure we don't ever
free the pages associated with the object, and the driver have to
be changed to call the correct populate paths.
Signed-off-by: Dave Airlie <email address hidden>
commit c325d7b87be91311dd19efa2933e36d1391009ca
Author: Dave Airlie <email address hidden>
Date: Wed Dec 21 11:23:44 2011 +0000
udl: add prime fd->handle support.
udl can only be used as an output offload so doesn't need to support
handle->fd direction.
Signed-off-by: Dave Airlie <email address hidden>
commit 93f9460dc89fca53557da9d78bfe60375a56254a
Author: Dave Airlie <email address hidden>
Date: Wed Dec 21 11:20:54 2011 +0000
i915: add dmabuf/prime buffer sharing support.
This adds handle->fd and fd->handle support to i915, this is to allow
for offloading of rendering in one direction and outputs in the other.
Signed-off-by: Dave Airlie <email address hidden>
commit d19a667eb951025ed7cf7347a15c6fa4d1797ae2
Author: Dave Airlie <email address hidden>
Date: Fri Nov 25 15:21:02 2011 +0000
drm: base prime/dma-buf support
This adds the basic drm dma-buf interface layer, called PRIME,
The main APIs exposed to userspace allow translating a 32-bit object handle
to a file descriptor, and a file descriptor to a 32-bit object handle.
The flags value is currently limited to O_CLOEXEC.
TODO: rework driver internals interface (Rob Clark) for non-GEM.
Acknowledgements:
Ben Widawsky: added the hash table support
Daniel Vetter: lots of review
Rob Clark: cleaned up lots of the internals and did lifetime review.
Signed-off-by: Dave Airlie <email address hidden>
commit 44f11fbc3fafe8057e07d054611d378313a1cee8
Author: Dave Airlie <email address hidden>
Date: Fri Mar 16 10:31:25 2012 +0000
dma-buf: pass flags into dma_buf_fd.
We need to pass the flags into dma_buf_fd at this point,
so the flags end up doing the right thing for O_CLOEXEC.
Signed-off-by: Dave Airlie <email address hidden>
commit 03182e93bccf8a5532951991cc12f275ccf1a4b0
Author: Sumit Semwal <email address hidden>
Date: Fri Jan 27 15:09:27 2012 +0530
dma-buf: add dma_data_direction to unmap dma_buf_op
Some exporters may use DMA map/unmap APIs in dma-buf ops, which require
enum dma_data_direction for both map and unmap operations.
Thus, the unmap dma_buf_op also needs to have enum dma_data_direction as
a parameter.
Reported-by: Tomasz Stanislawski <email address hidden>
Signed-off-by: Sumit Semwal <email address hidden>
Reviewed-by: Daniel Vetter <email address hidden>
commit 753685a0c640f963d20e250f58454ccd8b5fe5a3
Author: Laurent Pinchart <email address hidden>
Date: Thu Jan 26 12:27:25 2012 +0100
dma-buf: Move code out of mutex-protected section in dma_buf_attach()
Some fields can be set without mutex protection. Initialize them before
locking the mutex.
Signed-off-by: Laurent Pinchart <email address hidden>
Reviewed-by: Daniel Vetter <email address hidden>
Signed-off-by: Sumit Semwal <email address hidden>
commit 1ab43d0ff29dc519f1ef12785e6aad9265c09703
Author: Laurent Pinchart <email address hidden>
Date: Thu Jan 26 12:27:24 2012 +0100
dma-buf: Return error instead of using a goto statement when possible
Remove an error label in dma_buf_attach() that just returns an error
code.
Signed-off-by: Laurent Pinchart <email address hidden>
Reviewed-by: Daniel Vetter <email address hidden>
Signed-off-by: Sumit Semwal <email address hidden>
commit bcbfdae6fccc0ffea99e7f8b4ccc0f6a008f5add
Author: Laurent Pinchart <email address hidden>
Date: Thu Jan 26 12:27:23 2012 +0100
dma-buf: Remove unneeded sanity checks
ops, ops->map_dma_buf and ops->unmap_dma_buf are guaranteed to be
non-NULL by a check in dma_buf_export(). Remove NULL checks on those
variables in the other API functions.
Signed-off-by: Laurent Pinchart <email address hidden>
Reviewed-by: Daniel Vetter <email address hidden>
Signed-off-by: Sumit Semwal <email address hidden>
commit 447b27489eb2060f25fb3b54ac739b5897a9e3db
Author: Laurent Pinchart <email address hidden>
Date: Thu Jan 26 12:27:22 2012 +0100
dma-buf: Constify ops argument to dma_buf_export()
This allows drivers to make the dma buf operations structure constant.
Signed-off-by: Laurent Pinchart <email address hidden>
Reviewed-by: Daniel Vetter <email address hidden>
Signed-off-by: Sumit Semwal <email address hidden>
commit 380c02d3aec60399c4354fca6527913c1c369766
Author: Dave Airlie <email address hidden>
Date: Fri Nov 25 10:10:45 2011 +0000
nouveau: add optimus detection
Signed-off-by: Dave Airlie <email address hidden>
commit 48e7d3eacedab24b513f4953ae2111240605bee6
Author: Dave Airlie <email address hidden>
Date: Mon Nov 14 10:37:06 2011 +0000
drm/usb: add a busid implementation
This adds an implementation for the busid callback so userspace can distinguish
usb devices better.
Signed-off-by: Dave Airlie <email address hidden>
commit 99f508035cf93d6a0e450f5fd456307cd7a119bf
Author: Dave Airlie <email address hidden>
Date: Fri Aug 12 12:52:26 2011 +0100
drm/kms: add support for memory bandwidth considerations (v2)
Some GPUs (mostly in the lower server end of the market) have memory
bandwidth limitations that hit in the real world, however memory
bw calcs require bit depth to be worked out and at the moment, the
KMS interface doesn't know about bit depth until we set the mode.
This "overloads" the connector_type_id in the get connector ioctl
to pass a depth value to the kernel code. A new libdrm API is added
to utilise this. libdrm has always set this to 0 up until now.
This depth value is what the kms user proposed to use, the actual
API in libdrm is drmModeGetConnectorWithDepth and will follow
along.
This patch also adds RN50 support to the radeon kms to check
the memory bandwidth calcs and refuse the higher modes on these
chips.
v2: rebased onto latest kernel - fixup radeon usage.
Signed-off-by: Dave Airlie <email address hidden>
commit 5320918b9a87865223fd6b228e530bf30bc64d9d
Author: Dave Airlie <email address hidden>
Date: Wed Dec 15 07:14:24 2010 +1000
drm/udl: initial UDL driver (v4)
This is an initial drm/kms driver for the displaylink devices.
Supports fb_defio,
supports KMS dumb interface
supports 24bpp via conversion to 16bpp, hw can do this better.
supports hot unplug using new drm core features.
On an unplug, it disables connector polling, unplugs connectors
from sysfs, unplugs fbdev layer (using Kay's API), drops all the
USB device URBs, and call the drm core to unplug the device.
This driver is based in large parts on udlfb.c so I've licensed
it under GPLv2.
Signed-off-by: Dave Airlie <email address hidden>
commit 2c07a21d6fb0be47fda696a618b726ea258ed1dd
Author: Dave Airlie <email address hidden>
Date: Mon Feb 20 14:18:07 2012 +0000
drm: add core support for unplugging a device (v2)
Two parts to this, one is simple unplug from sysfs for the device node.
The second adds an unplugged state, if we have device opens, we
just set the unplugged state and return, if we have no device
opens we drop the drm device.
If after a lastclose we discover we are unplugged we then
drop the drm device.
v2: use an atomic for unplugged and wrap it for users,
add checks on open + mmap + ioctl entry points.
Signed-off-by: Dave Airlie <email address hidden>
commit cbc7e22151d99ed1dd7649d268ad3d81b9e6255a
Author: Dave Airlie <email address hidden>
Date: Mon Feb 20 14:16:40 2012 +0000
drm/modeset: add helper to unplug all connectors from sysfs
In order to get correct ordering at hot-unplug for userspace,
we need to tear down all the sysfs bits at the correct time.
This adds a helper to allow drivers to remove the sysfs nodes
for all connectors.
Signed-off-by: Dave Airlie <email address hidden>
commit 1828fe6c5f593b835197edd30a28d80635238ab3
Author: Dave Airlie <email address hidden>
Date: Mon Feb 20 14:15:02 2012 +0000
drm/sysfs: protect sysfs removal code against being run twice.
a step towards correct hot unplug for USB devices, we need to
remove the userspace facing bits at the unplug time for correct
udev operation.
Signed-off-by: Dave Airlie <email address hidden>
commit ce880cb860f36694d2cdebfac9e6ae18176fe4c4
Author: Kay Sievers <email address hidden>
Date: Sat Jan 28 19:57:46 2012 +0000
udlfb: remove sysfs framebuffer device with USB .disconnect()
The USB graphics card driver delays the unregistering of the framebuffer
device to a workqueue, which breaks the userspace visible remove uevent
sequence. Recent userspace tools started to support USB graphics card
hotplug out-of-the-box and rely on proper events sent by the kernel.
The framebuffer device is a direct child of the USB interface which is
removed immediately after the USB .disconnect() callback. But the fb device
in /sys stays around until its final cleanup, at a time where all the parent
devices have been removed already.
To work around that, we remove the sysfs fb device directly in the USB
.disconnect() callback and leave only the cleanup of the internal fb
data to the delayed work.
Before:
add /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2 (usb)
add /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2/2-1.2:1.0 (usb)
add /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2/2-1.2:1.0/graphics/fb0 (graphics)
remove /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2/2-1.2:1.0 (usb)
remove /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2 (usb)
remove /2-1.2:1.0/graphics/fb0 (graphics)
After:
add /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2 (usb)
add /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2/2-1.2:1.0 (usb)
add /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2/2-1.2:1.0/graphics/fb1 (graphics)
remove /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2/2-1.2:1.0/graphics/fb1 (graphics)
remove /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2/2-1.2:1.0 (usb)
remove /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2 (usb)
Cc: <email address hidden>
Tested-by: Bernie Thompson <email address hidden>
Acked-by: Bernie Thompson <email address hidden>
Signed-off-by: Kay Sievers <email address hidden>
Signed-off-by: Florian Tobias Schandinat <email address hidden>
commit 8229c885fe361e521ac64de36b16011e54a30de0
Merge: c3c50e8 fde7d90
Author: Dave Airlie <email address hidden>
Date: Thu Mar 15 10:24:32 2012 +0000
drm: Merge tag 'v3.3-rc7' into drm-core-next
Merge the fixes so far into core-next, needed to test
intel driver.
Conflicts:
drivers/gpu/drm/i915/intel_ringbuffer.c
commit c3c50e8b651887bcefcc13beb3739c00b2379b5c
Author: Ville Syrjälä <email address hidden>
Date: Tue Mar 13 12:35:51 2012 +0200
drm: Add drm_mode_copy()
Add a helper function to copy a display mode. Use it in
drm_mode_duplicate() and nouveau mode_fixup hooks.
Signed-off-by: Ville Syrjälä <email address hidden>
Signed-off-by: Dave Airlie <email address hidden>
commit d63f5e6bf6f2a1573ea39c9937cdf5ab0b3a4b77
Author: Ville Syrjälä <email address hidden>
Date: Tue Mar 13 12:35:49 2012 +0200
drm: Use a flexible array member for blob property data
The blob property data is always allocated immediately after the object
header. No need for the extra indirection when accessing it, just use
a flexible array member.
Signed-off-by: Ville Syrjälä <email address hidden>
Reviewed-by: Alex Deucher <email address hidden>
Signed-off-by: Dave Airlie <email address hidden>
commit 6bfc56aa89f963becbafbaeb105b6a84e0eb0db7
Author: Ville Syrjälä <email address hidden>
Date: Tue Mar 13 12:35:48 2012 +0200
drm: Handle drm_object_get() failures
Check drm_mode_object_get() return value everywhere.
Signed-off-by: Ville Syrjälä <email address hidden>
Reviewed-by: Alex Deucher <email address hidden>
Signed-off-by: Dave Airlie <email address hidden>
commit 93bbf6dbdadbb47ef5a19aecf45669c01ee8830d
Author: Ville Syrjälä <email address hidden>
Date: Tue Mar 13 12:35:47 2012 +0200
drm: Make drm_crtc_convert_{umode, to_umode} static and constify their params
drm_crtc_convert_umode() and drm_crtc_convert_to_umode() are never
used outside drm_crtc.c, so make them static. Also make the input
mode structure const for both functions.
Signed-off-by: Ville Syrjälä <email address hidden>
Reviewed-by: Alex Deucher <email address hidden>
Signed-off-by: Dave Airlie <email address hidden>
commit ac235dafb60d3ba4fa4e7341503b16d6e0645ee7
Author: Ville Syrjälä <email address hidden>
Date: Tue Mar 13 12:35:46 2012 +0200
drm: Fix drm_mode_attachmode_crtc()
Change drm_mode_attachmode_crtc() to take an "all or nothing" approach.
If an error is returned, there are no side effects visible.
Also change the function to always duplicate the mode passed in.
Also change the function to not give up when it finds the first
connector without and encoder.
A simpler approach would be to just remove the function completely as
it's unused currently.
Signed-off-by: Ville Syrjälä <email address hidden>
Reviewed-by: Alex Deucher <email address hidden>
Signed-off-by: Dave Airlie <email address hidden>
commit 5f61bb421f01023986902200b6486978c07176f7
Author: Ville Syrjälä <email address hidden>
Date: Tue Mar 13 12:35:45 2012 +0200
drm: Check CRTC viewport against framebuffer size
Make sure the requested CRTC viewport fits inside the
framebuffer.
Signed-off-by: Ville Syrjälä <email address hidden>
Reviewed-by: Alex Deucher <email address hidden>
Signed-off-by: Dave Airlie <email address hidden>
commit 90367bf6e98352520d15634ac4e79f0d4598cff1
Author: Ville Syrjälä <email address hidden>
Date: Tue Mar 13 12:35:44 2012 +0200
drm: Check user mode against overflows
The internal mode representation drm_display_mode uses signed data
types. When converting the user mode to internal representation,
check that the unsigned values don't overflow the signed datatypes.
Signed-off-by: Ville Syrjälä <email address hidden>
Reviewed-by: Alex Deucher <email address hidden>
Signed-off-by: Dave Airlie <email address hidden>
commit ee34ab5b01e6e7cbd9438aeb6ccbd08d3727988e
Author: Ville Syrjälä <email address hidden>
Date: Tue Mar 13 12:35:43 2012 +0200
drm: Fix memory leak in drm_mode_setcrtc()
The mode passed to the .set_config() hook was never freed. The drivers
will make a copy of the mode, so simply free it when done.
Signed-off-by: Ville Syrjälä <email address hidden>
Reviewed-by: Alex Deucher <email address hidden>
Signed-off-by: Dave Airlie <email address hidden>
commit 1dd6c8bda9aef72a819707cfc293917295af15d3
Author: Ville Syrjälä <email address hidden>
Date: Tue Mar 13 12:35:42 2012 +0200
drm: Make drm_mode_attachmode() void
drm_mode_attachmode() always returns 0. Change the return type to void.
Signed-off-by: Ville Syrjälä <email address hidden>
Reviewed-by: Alex Deucher <email address hidden>
Signed-off-by: Dave Airlie <email address hidden>
commit 1d97e9154821d52a5ebc226176d4839c7b86b116
Author: Ville Syrjälä <email address hidden>
Date: Tue Mar 13 12:35:41 2012 +0200
drm: Check crtc x and y coordinates
The crtc x/y panning coordinates are stored as signed integers
internally. The user provides them as unsigned, so we should check
that the user provided values actually fit in the internal datatypes.
Signed-off-by: Ville Syrjälä <email address hidden>
Reviewed-by: Alex Deucher <email address hidden>
Signed-off-by: Dave Airlie <email address hidden>
commit e36fae3889db38f6cacabea3998b9a09320f2ad2
Author: Ville Syrjälä <email address hidden>
Date: Tue Mar 13 12:35:40 2012 +0200
drm: Warn if mode to umode conversion overflows the destination types
When converting from a drm_display_mode to drm_mode_modeinfo, print a
warning if the the timings values don't fit into the __u16 datatype.
Signed-off-by: Ville Syrjälä <email address hidden>
Reviewed-by: Alex Deucher <email address hidden>
Signed-off-by: Dave Airlie <email address hidden>
commit 2fcfc75b112e897609faed30bcf80565fb005087
Author: Ville Syrjälä <email address hidden>
Date: Tue Mar 13 12:35:39 2012 +0200
drm: Change drm_display_mode::type to unsigned
The drm_display_mode type is a bitmask so it should be unsigned.
Signed-off-by: Ville Syrjälä <email address hidden>
Reviewed-by: Alex Deucher <email address hidden>
Signed-off-by: Dave Airlie <email address hidden>
commit 6653cc8d3b8d1c685fbf01cc8a536957045f4609
Author: Ville Syrjälä <email address hidden>
Date: Tue Mar 13 12:35:38 2012 +0200
drm: Reject mode set with current fb if no current fb is bound
When doing a mode set with the special fb id -1, reject the mode set if
no fb is currently bound to the crtc.
Also remove the pointless list traversal to find the current crtc based
on the current crtc :)
Signed-off-by: Ville Syrjälä <email address hidden>
Reviewed-by: Alex Deucher <email address hidden>
Signed-off-by: Dave Airlie <email address hidden>
commit 09016a11fc738e82ca1303e2332473b517bbd660
Author: Alan Cox <email address hidden>
Date: Wed Mar 14 12:00:29 2012 +0000
gma500: suspend/resume support for Cedartrail
Update our tree to match the current driver head.
Signed-off-by: Alan Cox <email address hidden>
Signed-off-by: Dave Airlie <email address hidden>
commit 50d44a523759c39af1119285a5396ca387288af0
Author: Alan Cox <email address hidden>
Date: Wed Mar 14 12:00:09 2012 +0000
gma500: Fix resume paths
We fall apart somewhat on resume because we don't invoke all the resume
methods as we should. Fix the silly error in the logic.
Signed-off-by: Alan Cox <email address hidden>
Signed-off-by: Dave Airlie <email address hidden>
commit f1377998eede7a8caa124fcf6a589b02c9e2bac7
Author: Dave Airlie <email address hidden>
Date: Mon Feb 20 14:39:11 2012 +0000
drm/nouveau: add userspace fallback hints.
This lets the modesetting driver work better.
Signed-off-by: Dave Airlie <email address hidden>
commit abd32008ff0b21eabf0074df47189047adbca37a
Merge: 8346532 2f5394c
Author: Dave Airlie <email address hidden>
Date: Tue Mar 13 10:16:06 2012 +0000
Merge branch 'drm-nouveau-next' of git://anongit.freedesktop.org/git/nouveau/linux-2.6 into drm-core-next
* 'drm-nouveau-next' of git://anongit.freedesktop.org/git/nouveau/linux-2.6: (57 commits)
drm/nouveau: map first page of mmio early and determine chipset earlier
drm/nvd0/disp: disconnect encoders before reprogramming them
drm/nvd0/disp: move syncs/magic setup to or mode_set
drm/nouveau/dp: account for channel coding overhead in link training
drm/nvd0/disp: fix dcb sor link matching in supervisor handler
drm/nvd0/disp: initial implementation of displayport
drm/nouveau/dp: make dp dpms function common, call from sor code instead
drm/nv50/hwsq: some nv92 fixes
drm/nouveau/dp: move all nv50/sor-specific code out of nouveau_dp.c
drm/nouveau/dp: make functions for executing various bios tables
drm/nouveau/pm: fix oops if chipset has no pm support at all
drm/nouveau/bios: rework vbios shadowing
drm/nouveau/bios: attempt acpi rom fetch before pcirom
drm/nvd0/disp: attempt to handle more than 2 crtcs if possible
drm/nvc0/vram: get part count from PUNITS
drm/nv40/pm: fix fanspeed regression
drm/nouveau/pm: several fixes for nvc0 memory timings
drm/nvc0/pm: restrict pll mode to clocks that can actually use it
drm/nouveau/dp: fix bad comparison in dp_link_train_commit()
drm/nouveau/mxm: call mxmi to determine revision before calling mxms
...
commit 2f5394c3ed573de2ab18cdac503b8045cd16ac5e
Author: Ben Skeggs <email address hidden>
Date: Mon Mar 12 15:55:43 2012 +1000
drm/nouveau: map first page of mmio early and determine chipset earlier
Signed-off-by: Ben Skeggs <email address hidden>
commit 4cbb0f8d2b06c72aae3552ff1a0a57814c6ce7d2
Author: Ben Skeggs <email address hidden>
Date: Mon Mar 12 15:23:44 2012 +1000
drm/nvd0/disp: disconnect encoders before reprogramming them
Signed-off-by: Ben Skeggs <email address hidden>
commit 3488c57b983546e6bf4c9e0bfd0f7f2a1292267a
Author: Ben Skeggs <email address hidden>
Date: Mon Mar 12 11:42:20 2012 +1000
drm/nvd0/disp: move syncs/magic setup to or mode_set
NVIDIA appear to do these around the same place they do the MODE_CTRL
methods, and for DP at least we need to bash some extra bits in "syncs"
to keep EVO happy.
It's a bit of a guess as to the 6/8bpc, but i have no better idea yet.
Signed-off-by: Ben Skeggs <email address hidden>
commit 6860dc8251eacd1672fa660b85bb59a45350aa70
Author: Ben Skeggs <email address hidden>
Date: Mon Mar 12 11:16:55 2012 +1000
drm/nouveau/dp: account for channel coding overhead in link training
Signed-off-by: Ben Skeggs <email address hidden>
commit c674844bab6df084ef1c93d65925af6e1bfb06a0
Author: Ben Skeggs <email address hidden>
Date: Sun Mar 11 16:13:49 2012 +1000
drm/nvd0/disp: fix dcb sor link matching in supervisor handler
Signed-off-by: Ben Skeggs <email address hidden>
commit 6e83fda2c055f17780b2feef404f06803a49a261
Author: Ben Skeggs <email address hidden>
Date: Sun Mar 11 01:28:48 2012 +1000
drm/nvd0/disp: initial implementation of displayport
Signed-off-by: Ben Skeggs <email address hidden>
commit f14d9a4dda65439d74326694db727c6d2a5df0ce
Author: Ben Skeggs <email address hidden>
Date: Sun Mar 11 01:20:54 2012 +1000
drm/nouveau/dp: make dp dpms function common, call from sor code instead
GF119 will use this too.
Signed-off-by: Ben Skeggs <email address hidden>
commit e436d1bb0a3e5ff27b190d0bf9173f4f6ad21d3f
Author: Martin Peres <email address hidden>
Date: Fri Mar 9 00:15:01 2012 +0100
drm/nv50/hwsq: some nv92 fixes
The shift from hwsq_data = 0x1400 to 0x080000 actually happened in nv94, not nv92
This fixes some reclocking issues on my newly acquired nv92
Signed-off-by: Martin Peres <email address hidden>
Signed-off-by: Ben Skeggs <email address hidden>
commit 8663bc7cde00c8e832d985354f8a6d57a52f7d92
Author: Ben Skeggs <email address hidden>
Date: Fri Mar 9 16:22:56 2012 +1000
drm/nouveau/dp: move all nv50/sor-specific code out of nouveau_dp.c
Off-chip encoders (which we don't support yet anyway), and newer chipsets
(such as NVD9...), will need their own code for this.
Signed-off-by: Ben Skeggs <email address hidden>
commit 8c1dcb6573ae71ffae392edf5f458543d310607e
Author: Ben Skeggs <email address hidden>
Date: Fri Mar 9 15:22:19 2012 +1000
drm/nouveau/dp: make functions for executing various bios tables
More code to do the same thing, but will make it easier to handle various
changes that could possibly happen the the VBIOS tables.
Signed-off-by: Ben Skeggs <email address hidden>
commit c11dd0da5277596d0ccdccb745b273d69a94f2d7
Author: Ben Skeggs <email address hidden>
Date: Wed Mar 7 14:18:49 2012 +1000
drm/nouveau/pm: fix oops if chipset has no pm support at all
Signed-off-by: Ben Skeggs <email address hidden>
commit 4489b9835a0867617a9ec29cc978a9c2c9eca363
Author: Ben Skeggs <email address hidden>
Date: Wed Mar 7 13:22:50 2012 +1000
drm/nouveau/bios: rework vbios shadowing
Refactored to allow shadowing of VBIOS images longer than 64KiB, which
allows us to pass the VBIOS checksum test on certain boards.
There's also a workaround for reading the PROM VBIOS on some chipsets.
Signed-off-by: Ben Skeggs <email address hidden>
commit 05a7c15d48ff53b054bc36fc8a2be8bc9b60d9e7
Author: Ben Skeggs <email address hidden>
Date: Sun Mar 4 17:05:54 2012 +1000
drm/nouveau/bios: attempt acpi rom fetch before pcirom
There's cards out there with completely messed up PCIROM images that have
a perfectly valid signature.. Sigh!
Signed-off-by: Ben Skeggs <email address hidden>
commit 7c5f6a87b2337cc81fb6d16e848501e2dbe00a3d
Author: Ben Skeggs <email address hidden>
Date: Sun Mar 4 16:25:59 2012 +1000
drm/nvd0/disp: attempt to handle more than 2 crtcs if possible
Theoretically handles CRTC2/CRTC3, should any GF119 out there actually
have them enabled. The room is there for the regs etc, so why not :)
Signed-off-by: Ben Skeggs <email address hidden>
commit 29181d2f7bec0f51273ceab8c565410d52ef1eb0
Author: Ben Skeggs <email address hidden>
Date: Sun Mar 4 15:44:59 2012 +1000
drm/nvc0/vram: get part count from PUNITS
Signed-off-by: Ben Skeggs <email address hidden>
commit 8b83d67c2e2b7e704e6923d00209b6e67f7bdb35
Author: Ben Skeggs <email address hidden>
Date: Thu Feb 9 15:25:25 2012 +1000
drm/nv40/pm: fix fanspeed regression
Signed-off-by: Ben Skeggs <email address hidden>
commit e6084257d07fffc394ac6e4cf4496c946fd904ed
Author: Roy Spliet <email address hidden>
Date: Tue Feb 7 00:29:06 2012 +0100
drm/nouveau/pm: several fixes for nvc0 memory timings
This patch fixes two small issues in timing generation as spotted on
several NVCx cards.
In addition, the header of the file is updated to also contain (some of)
the current developers of this code.
Signed-off-by: Roy Spliet <email address hidden>
Signed-off-by: Ben Skeggs <email address hidden>
commit 1ae73f2f16f1a905ada71e2a190d5760b4f17ed8
Author: Ben Skeggs <email address hidden>
Date: Tue Feb 7 09:59:54 2012 +1000
drm/nvc0/pm: restrict pll mode to clocks that can actually use it
Fixes reclocking failure on some chips where we attempted to set PDAEMON
to PLL mode.
Signed-off-by: Ben Skeggs <email address hidden>
commit 44ab8cc56c45ca781371a4a77f35da19cf5db028
Author: Xi Wang <email address hidden>
Date: Fri Feb 3 11:13:55 2012 -0500
drm/nouveau/dp: fix bad comparison in dp_link_train_commit()
The comparison (lpre == DP_TRAIN_PRE_EMPHASIS_9_5) is always false:
lpre is initialized as (lane & 0x0c) >> 2, which is at most 3, while
DP_TRAIN_PRE_EMPHASIS_9_5 is defined as (3 << 3).
Signed-off-by: Xi Wang <email address hidden>
Signed-off-by: Ben Skeggs <email address hidden>
commit 84ddfda6d4765e410981edeef81c9b5a5a1ce87b
Author: Ben Skeggs <email address hidden>
Date: Thu Feb 2 09:33:05 2012 +1000
drm/nouveau/mxm: call mxmi to determine revision before calling mxms
There's a HP laptop out there where the MXM version in the VBIOS doesn't
match what the ACPI implementation is expecting. These tables will accept
0x00 to MXMS to return latest version, but *only* if MXMI has been called
first..
Signed-off-by: Ben Skeggs <email address hidden>
commit 7d3a766b6aa4e293e72bfd6add477f05ac7fdf5a
Author: Ben Skeggs <email address hidden>
Date: Wed Feb 1 15:17:07 2012 +1000
drm/nouveau/pm: init only after display subsystem has been created
This patch fixes an oops cause by pm_trigger accessing the (uninitialised)
crtc list.
Reported-by: Roy Spliet <email address hidden>
Signed-off-by: Ben Skeggs <email address hidden>
commit 950c44b6ddc0dfb44e59fdb031e09567a1b391c0
Author: Ben Skeggs <email address hidden>
Date: Wed Feb 1 09:05:42 2012 +1000
drm/nvc0/fb: detect presense of second rank
Signed-off-by: Ben Skeggs <email address hidden>
commit df26bc9c320602539b1b5b3d85786e4c8de7bf43
Author: Christoph Bumiller <email address hidden>
Date: Sat Jan 21 23:13:26 2012 +0100
drm/nv50/display: expose color vibrance control
Signed-off-by: Christoph Bumiller <email address hidden>
Signed-off-by: Ben Skeggs <email address hidden>
commit 990449c77cafb77e7468722262c049675ab03e30
Author: Ben Skeggs <email address hidden>
Date: Thu Jan 12 15:34:54 2012 +1000
drm/nv50-nvc0/vm: support unsnooped system memory
v2 (Emil Velikov <email address hidden>):
- Fixed a regression on certain nv50 IGP due to not passing the correct
target type to nv50_vm_addr()
Signed-off-by: Ben Skeggs <email address hidden>
Signed-off-by: Emil Velikov <email address hidden>
Tested-by: Johannes Obermayr <email address hidden>
commit 4abb410a13eec3f49863be2e84ad062fef00dac0
Author: Ben Skeggs <email address hidden>
Date: Thu Jan 12 16:17:16 2012 +1000
drm/nouveau: recognise DCB connector type for DP+DVI+VGA DMS-59
Signed-off-by: Ben Skeggs <email address hidden>
commit 070be296b65d120c2fef58a5435f159ae32c4995
Author: Ben Skeggs <email address hidden>
Date: Tue Jan 24 18:30:10 2012 +1000
drm/nouveau/mem: handle dll_off for ddr2/ddr3
Signed-off-by: Ben Skeggs <email address hidden>
Signed-off-by: Martin Peres <email address hidden>
commit 25c53c1068a804c6b51f86e937cebab6274dc056
Author: Ben Skeggs <email address hidden>
Date: Tue Jan 24 18:03:25 2012 +1000
drm/nouveau/pm: extend profile interface for destroy/init/fini
Signed-off-by: Ben Skeggs <email address hidden>
Signed-off-by: Martin Peres <email address hidden>
commit 8d7bb400638906075c38cb07891993cf95076aa7
Author: Ben Skeggs <email address hidden>
Date: Tue Jan 24 15:59:07 2012 +1000
drm/nouveau/pm: rework to allow selecting separate profiles for ac/battery
Signed-off-by: Ben Skeggs <email address hidden>
Signed-off-by: Martin Peres <email address hidden>
commit b830973b68895813b911fb04626d907744e7d7a2
Author: Ben Skeggs <email address hidden>
Date: Tue Jan 24 13:39:56 2012 +1000
drm/nouveau/pm: fix dll off -> dll on transitions
Signed-off-by: Ben Skeggs <email address hidden>
Signed-off-by: Martin Peres <email address hidden>
commit a9bc247cbbc6310d2aefe4db0a6e92defde4426b
Author: Ben Skeggs <email address hidden>
Date: Tue Jan 24 11:26:40 2012 +1000
drm/nouveau/pm: detect when we need dll disabled for gddr3
Fixes minor flickering on NVS295 when at perflvl 0.
Signed-off-by: Ben Skeggs <email address hidden>
Signed-off-by: Martin Peres <email address hidden>
commit 0ce71415587b1fd56f67294ac46f860b8b679b95
Author: Ben Skeggs <email address hidden>
Date: Tue Jan 24 11:03:14 2012 +1000
drm/nv50: fix detection of second vram rank
Goes a long way to correcting NVS295 memory reclocking issues.
Signed-off-by: Ben Skeggs <email address hidden>
Signed-off-by: Martin Peres <email address hidden>
commit 1a7287ea6f37c930a092123f6584b0b24cfe2d13
Author: Ben Skeggs <email address hidden>
Date: Tue Jan 24 10:24:05 2012 +1000
drm/nouveau/pm: track mr2 for gddr3
There's some "extended" GDDR3 chipsets out there with EMRS2 settings that
change the layout of MRS/EMRS1 bitmaps.. Sigh.. Still need to track down
how exactly we're supposed to handle this.
Signed-off-by: Ben Skeggs <email address hidden>
Signed-off-by: Martin Peres <email address hidden>
commit c57ebf5ef3588d21031f12e39131d79071269845
Author: Martin Peres <email address hidden>
Date: Mon Jan 9 15:23:10 2012 +1000
drm/nv50/pm: wait for all fifo-connected engines to idle before reclocking
Signed-off-by: Martin Peres <email address hidden>
Signed-off-by: Ben Skeggs <email address hidden>
commit 496a73bbecb81e6753715995e4519d152f814667
Author: Ben Skeggs <email address hidden>
Date: Tue Jan 24 09:47:04 2012 +1000
drm/nv50/pm: use hwsq for engine reclocking too
Idea from Martin Peres, different implementation by me.
v2: Martin Peres:
- fix mast calculation
Signed-off-by: Ben Skeggs <email address hidden>
Signed-off-by: Martin Peres <email address hidden>
commit e495d0d7e36298f76336fdc58685ac4cacd454ba
Author: Ben Skeggs <email address hidden>
Date: Mon Jan 23 13:22:58 2012 +1000
drm/nv50/disp: more accurate function to determine active crtcs
Signed-off-by: Ben Skeggs <email address hidden>
Signed-off-by: Martin Peres <email address hidden>
commit 6bdf68c9a427220692ad7607858e96caa2cd3147
Author: Ben Skeggs <email address hidden>
Date: Mon Jan 23 13:17:11 2012 +1000
drm/nv50/pm: initial work towards proper memory reclocking, with timings
Signed-off-by: Ben Skeggs <email address hidden>
Signed-off-by: Martin Peres <email address hidden>
commit 2d85bc8855d2734f5585861b261c5fe7a7ed92c1
Author: Ben Skeggs <email address hidden>
Date: Mon Jan 23 13:12:09 2012 +1000
drm/nouveau/pm: introduce ram reclocking helper
This will probably result in more lines of code, however, we're going to
have at least 3 slightly different implementations of this very soon and
I'd rather keep the ram reclocking logic separate from the hw specifics.
DDR2/DDR3/GDDR3 implemented thus far, others will be added as necessary.
Signed-off-by: Ben Skeggs <email address hidden>
Signed-off-by: Martin Peres <email address hidden>
commit 085028ce3bf7136c5ab2eeb8bf012024d88905c8
Author: Ben Skeggs <email address hidden>
Date: Wed Jan 18 09:02:28 2012 +1000
drm/nouveau/pm: embed timings into perflvl structs
Signed-off-by: Ben Skeggs <email address hidden>
Signed-off-by: Martin Peres <email address hidden>
commit fd99fd6100d3b7aaa8dc76888a38bbb15e8041bc
Author: Ben Skeggs <email address hidden>
Date: Tue Jan 17 21:10:58 2012 +1000
drm/nouveau/pm: calculate memory timings at perflvl creation time
Statically generating the PFB register and MR values for each timing set
turns out to be insufficient. There's at least one (so far) known piece
of information which effects MR values which is stored in the perflvl
entry on some chipsets (and in another table on later ones), which is
disconnected from the timing table entries.
After this change we will generate a timing set based on an input clock
frequency instead, and have this data stored in the performance level
data.
Signed-off-by: Ben Skeggs <email address hidden>
Signed-off-by: Martin Peres <email address hidden>
commit 68a64cad07057c3395b3b18c282df884e87ff3d6
Author: Ben Skeggs <email address hidden>
Date: Mon Jan 23 13:47:02 2012 +1000
drm/nouveau/pm: readback boot perflvl *before* parsing vbios
We might want/need the boot data to generate the other perflevels.
Signed-off-by: Ben Skeggs <email address hidden>
Signed-off-by: Martin Peres <email address hidden>
commit c7c039fd31be82ecb8d48477955e76badd38141a
Author: Roy Spliet <email address hidden>
Date: Mon Jan 9 15:23:07 2012 +1000
drm/nouveau/pm: implement DDR2/DDR3/GDDR3/GDDR5 MR generation and validation
Roy Spliet:
- Implement according to specs
- Simplify
- Make array for mc latency registers
Martin Peres:
- squash and split all the commits from Roy
- rework following Ben Skeggs comments
- add a form of timings validation
- store the initial timings for later use
Ben Skeggs
- merge slightly modified tidy-up patch with this one
- remove perflvl-dropping logic for the moment
Signed-off-by: Roy Spliet <email address hidden>
Signed-off-by: Martin Peres <email address hidden>
Signed-off-by: Ben Skeggs <email address hidden>
commit 03ddf04bdb9cc4cdf8edb231b78f031647498314
Author: Ben Skeggs <email address hidden>
Date: Mon Jan 16 22:34:03 2012 +1000
drm/nouveau/pm: restructure bios table parsing
It turns out we need access to some additional information in various VBIOS
tables to handle PFB memory timings correctly.
Rather than hack in parsing of the new stuff in some kludgy way, I've
restructured the VBIOS parsing to be more primitive, so we can use them in
more flexible ways in the future.
The perflvl->timing association code is disabled for the moment until it can
be reworked. We don't use this stuff yet anyway, so no harm done.
Signed-off-by: Ben Skeggs <email address hidden>
Signed-off-by: Martin Peres <email address hidden>
commit 3d8a408c43828d586629204fe22134ae8f39b8be
Author: Ben Skeggs <email address hidden>
Date: Mon Jan 23 12:58:33 2012 +1000
drm/nouveau/pm: avoid potential divide-by-zero
Signed-off-by: Ben Skeggs <email address hidden>
Signed-off-by: Martin Peres <email address hidden>
commit 1a5f985c17c31367d1cd89db2278e0420c81d635
Author: Jean Delvare <email address hidden>
Date: Wed Nov 30 17:23:55 2011 +0100
drm/nouveau: Fix module parameter description formats
Module parameter descriptions don't take a trailing \n, otherwise it
breaks formatting of modinfo's output. Also remove trailing space.
Signed-off-by: Jean Delvare <email address hidden>
Cc: David Airlie <email address hidden>
Cc: Ben Skeggs <email address hidden>
Signed-off-by: Ben Skeggs <email address hidden>
commit bfb314652430ceca302bae0981d00903f055eee4
Author: Roy Spliet <email address hidden>
Date: Fri Nov 25 15:52:22 2011 +0100
drm/nouveau/pm: improve memory timing generation
- Rename several VBIOS entries to closer match the real world
- Add the missing 0x100238 and 0x100240 register values
- Parse bit 14 of the VBIOS timing table
- "Magic value" -> tCWL, fixing some minor bugs in the process
- Also name a few more by their name rather than their number.
- Some values seem to be dependent on the memory type. Fix
Edits by Martin Peres <email address hidden>:
- this is a squash commit
- reworked for fixing some style issues
Signed-off-by: Roy Spliet <email address hidden>
Signed-off-by: Martin Peres <email address hidden>
Signed-off-by: Ben Skeggs <email address hidden>
commit b0103747094b62231fc951dfaca4897f67670874
Author: Martin Peres <email address hidden>
Date: Thu Nov 3 00:03:06 2011 +0100
drm/nouveau/pm: improve the reclocking logs' readability
Signed-off-by: Martin Peres <email address hidden>
Signed-off-by: Ben Skeggs <email address hidden>
commit b1aa5531cc74ea023ad35e9cf5872112a15b4f70
Author: Martin Peres <email address hidden>
Date: Sat Aug 20 16:37:06 2011 +0200
drm/nouveau: move pwm_divisor to the nouveau_pm_fan struct
Signed-off-by: Martin Peres <email address hidden>
Signed-off-by: Ben Skeggs <email address hidden>
commit bc6389e4fa1a6535021ffc4d3b37d48f9a0542e2
Author: Martin Peres <email address hidden>
Date: Fri Oct 7 01:33:12 2011 +0200
drm/nouveau/pm: restore fan speed after suspend
Signed-off-by: Martin Peres <email address hidden>
Signed-off-by: Ben Skeggs <email address hidden>
commit ddb2005516949dc50d117cb8381d7a3f8f0614b0
Author: Martin Peres <email address hidden>
Date: Sat Dec 17 12:24:59 2011 +0100
drm/nouveau/pm: style fixes
Signed-off-by: Martin Peres <email address hidden>
Signed-off-by: Ben Skeggs <email address hidden>
commit 668b6c097dbaf190f5d3974798fef37aee025385
Author: Ben Skeggs <email address hidden>
Date: Thu Dec 15 10:43:03 2011 +1000
drm/nouveau: rework the init/takedown ordering
Signed-off-by: Ben Skeggs <email address hidden>
commit f3298532f71f163877b9003009d6e1eefe988258
Author: Ben Skeggs <email address hidden>
Date: Tue Dec 13 12:46:18 2011 +1000
drm/nvc0: add initial memory type detection
Uses only the VBIOS tables, from what I can tell this is what NVIDIA do
too, I was able to change the detected memory type by modifying this table
on a NVC1 chipset.
Signed-off-by: Ben Skeggs <email address hidden>
commit c70c41e89f0481f26749d8264aebc594566c2a6d
Author: Ben Skeggs <email address hidden>
Date: Tue Dec 13 11:57:55 2011 +1000
drm/nv50: hopefully handle the DDR2/DDR3 memtype detection somewhat better
M version 2 appears to have a table with some form of memory type info
available.
NVIDIA appear to ignore the table information except for this DDR2/DDR3
case (which has the same value in 0x100714). My guess is this is due to
some of the supported memory types not being represented in the table.
Signed-off-by: Ben Skeggs <email address hidden>
commit 1072856a1c604726be6a8adfb6b2c86033e6a314
Author: Ben Skeggs <email address hidden>
Date: Tue Dec 13 09:45:25 2011 +1000
drm/nv50: add memory type detection
DDR1/DDR[23] confirmed on NVA8 (see note about DDR3 in source) by changing
the value and watching the binary driver's behaviour.
GDDR3/4 values confirmed on a NV96 via the same method above. That GDDR4
is present is interesting, as far as I can see no boards using it were ever
released.
GDDR5 value is based on VBIOS images of known GDDR5 boards.
Signed-off-by: Ben Skeggs <email address hidden>
commit ff92a6cda74c0a51cb723f5e224124cf74e62f25
Author: Ben Skeggs <email address hidden>
Date: Mon Dec 12 23:03:14 2011 +1000
drm/nv20-nv40: add memory type detection
NV20/NV30 is partially educated guesswork at this point, based on any
information around about available memory types and a horribly unspeakable
amount of vbios image scouring. I'm not entirely certain the GDDR3 define
is correct, I have not spotted a single vbios with that value yet (though
it is mentioned in some 1218-using nv4x vbios), but there are reports that
some nv3x did use it..
NV40(100914) confirmed by switching an NV49 to DDR1/DDR2 values and making
sure that the binary driver behaviour showed it had detected DDR1/DDR2
instead of GDDR3 before dying horribly.
NV40(100474) confirmed by doing much the same task as above on an NV44,
except this was *much* easier as changing the values didn't seem to have
any noticable effect on the memory controller aside from changing the
binary driver's behaviour.
Signed-off-by: Ben Skeggs <email address hidden>
commit d81c19e312a22bdcebef1370f3af30a146670787
Author: Ben Skeggs <email address hidden>
Date: Mon Dec 12 22:51:33 2011 +1000
drm/nv20: split PFB code out of nv10_fb.c
Most functions were quite different between NV10/NV20 already, and they're
about to get even more so.
Signed-off-by: Ben Skeggs <email address hidden>
commit ddfd2da48421e6b217e8b4fa7ec967e55555ce65
Author: Ben Skeggs <email address hidden>
Date: Sun Dec 11 01:31:17 2011 +1000
drm/nouveau: memory type detection for the really old chipsets
Signed-off-by: Ben Skeggs <email address hidden>
commit 7ad2d31cb692597f7918fce2f52a4c1949fbcf8d
Author: Ben Skeggs <email address hidden>
Date: Sun Dec 11 00:30:05 2011 +1000
drm/nouveau: move vram detection funcs to chipset-specific fb code
Also, display detected memory type in logs - though, we don't even try to
detect this yet.
Signed-off-by: Ben Skeggs <email address hidden>
commit 83465324cb50e22b45ad53fd6e8887b1f8e43702
Merge: b19c19a 8e18db8
Author: Dave Airlie <email address hidden>
Date: Sat Mar 10 13:10:41 2012 +0000
Merge branch 'drm-gma500-alanc' into drm-core-next
* drm-gma500-alanc: (47 commits)
gma500: psb_irq: mark mid_{enable, disable}_pipe_event() as static
gma500: mark psb_intel_sdvo_hdmi_sink_detect() as static
gma500: psb_intel_display: drop unused variables
gma500: mark psb_intel_pipe_set_base() as static
gma500: drop unused psb_intel_modeset_cleanup()
gma500: oaktrail_lvds_init() drop unused variable
gma500: oaktrail_hdmi_i2c_access() drop unused variable
gma500: mark oaktrail_backlight_init() as static
gma500: oaktrail_hdmi: fix -Wmissing-field-initializers warning
gma500: oaktrail_hdmi: drop dead code
gma500: oaktrail_crtc: drop unused variables
gma500: oaktrail_crtc: mark few functions as static
gma500: mdfld_intel_display: drop unused variables
gma500: mdfld_dsi_pkg_sender: fix -Wtype-limits warning
gma500: mdfld_dsi_dpi: drop unused variables
gma500: mdfld_device: mark few functions as static
gma500: cdv_intel_lvds: #if 0 currently unused functions
gma500: cdv_intel_lvds: mark few functions as static
gma500: cdv_intel_hdmi: add missing include
gma500: cdv_intel_crt: mark few functions as static
...
commit 8e18db815c92f17e96afaccd33c6b8f08c16dd03
Author: Kirill A. Shutemov <email address hidden>
Date: Thu Mar 8 16:15:47 2012 +0000
gma500: psb_irq: mark mid_{enable, disable}_pipe_event() as static
Signed-off-by: Kirill A. Shutemov <email address hidden>
Signed-off-by: Alan Cox <email address hidden>
Signed-off-by: Dave Airlie <email address hidden>
commit f42aaa6f7c35e0e61dab7771d82aa197f317f4a8
Author: Kirill A. Shutemov <email address hidden>
Date: Thu Mar 8 16:15:34 2012 +0000
gma500: mark psb_intel_sdvo_hdmi_sink_detect() as static
Signed-off-by: Kirill A. Shutemov <email address hidden>
Signed-off-by: Alan Cox <email address hidden>
Signed-off-by: Dave Airlie <email address hidden>
commit 2e33d6b92ff3298c06e87661040c5401e1099ea5
Author: Kirill A. Shutemov <email address hidden>
Date: Thu Mar 8 16:15:20 2012 +0000
gma500: psb_intel_display: drop unused variables
Signed-off-by: Kirill A. Shutemov <email address hidden>
Signed-off-by: Alan Cox <email address hidden>
Signed-off-by: Dave Airlie <email address hidden>
commit 3c1d08d7af81b4dbd77530cb4f21f28cd4035f40
Author: Kirill A. Shutemov <email address hidden>
Date: Thu Mar 8 16:14:44 2012 +0000
gma500: mark psb_intel_pipe_set_base() as static
Signed-off-by: Kirill A. Shutemov <email address hidden>
Signed-off-by: Alan Cox <email address hidden>
Signed-off-by: Dave Airlie <email address hidden>
commit 412a3df1ce4203ca8887ac986e4fc692301a949b
Author: Kirill A. Shutemov <email address hidden>
Date: Thu Mar 8 16:14:32 2012 +0000
gma500: drop unused psb_intel_modeset_cleanup()
Signed-off-by: Kirill A. Shutemov <email address hidden>
Signed-off-by: Alan Cox <email address hidden>
Signed-off-by: Dave Airlie <email address hidden>
commit cc2e991c1564c952fd21f850db8d4a8f43847c09
Author: Kirill A. Shutemov <email address hidden>
Date: Thu Mar 8 16:14:18 2012 +0000
gma500: oaktrail_lvds_init() drop unused variable
Signed-off-by: Kirill A. Shutemov <email address hidden>
Signed-off-by: Alan Cox <email address hidden>
Signed-off-by: Dave Airlie <email address hidden>
commit 1e30296a603812fc3592b2a25e0daf3b416d42ce
Author: Kirill A. Shutemov <email address hidden>
Date: Thu Mar 8 16:13:23 2012 +0000
gma500: oaktrail_hdmi_i2c_access() drop unused variable
Signed-off-by: Kirill A. Shutemov <email address hidden>
Signed-off-by: Alan Cox <email address hidden>
Signed-off-by: Dave Airlie <email address hidden>
commit 771f64d027db83f3627757723d63dac4ac9b523e
Author: Kirill A. Shutemov <email address hidden>
Date: Thu Mar 8 16:13:10 2012 +0000
gma500: mark oaktrail_backlight_init() as static
Signed-off-by: Kirill A. Shutemov <email address hidden>
Signed-off-by: Alan Cox <email address hidden>
Signed-off-by: Dave Airlie <email address hidden>
commit 6e7f45736e46f14e0f30ff94883fbc665d100d61
Author: Kirill A. Shutemov <email address hidden>
Date: Thu Mar 8 16:12:56 2012 +0000
gma500: oaktrail_hdmi: fix -Wmissing-field-initializers warning
Signed-off-by: Kirill A. Shutemov <email address hidden>
Signed-off-by: Alan Cox <email address hidden>
Signed-off-by: Dave Airlie <email address hidden>
commit e1bb07cbe18b28d112122deb6a7f2ef67ebd95a6
Author: Kirill A. Shutemov <email address hidden>
Date: Thu Mar 8 16:12:28 2012 +0000
gma500: oaktrail_hdmi: drop dead code
Signed-off-by: Kirill A. Shutemov <email address hidden>
Signed-off-by: Alan Cox <email address hidden>
Signed-off-by: Dave Airlie <email address hidden>
commit 4398e58c5fc2bcd1b64a38fd28c3ffba8c36eefa
Author: Kirill A. Shutemov <email address hidden>
Date: Thu Mar 8 16:12:16 2012 +0000
gma500: oaktrail_crtc: drop unused variables
Signed-off-by: Kirill A. Shutemov <email address hidden>
Signed-off-by: Alan Cox <email address hidden>
Signed-off-by: Dave Airlie <email address hidden>
commit 44332ddfeb07960e57fd6db9be0a3f7c6a01d4e9
Author: Kirill A. Shutemov <email address hidden>
Date: Thu Mar 8 16:12:04 2012 +0000
gma500: oaktrail_crtc: mark few functions as static
Signed-off-by: Kirill A. Shutemov <email address hidden>
Signed-off-by: Alan Cox <email address hidden>
Signed-off-by: Dave Airlie <email address hidden>
commit cbc5a1850d83bbf2676fa56c3badb2b9a442539e
Author: Kirill A. Shutemov <email address hidden>
Date: Thu Mar 8 16:11:50 2012 +0000
gma500: mdfld_intel_display: drop unused variables
Signed-off-by: Kirill A. Shutemov <email address hidden>
Signed-off-by: Alan Cox <email address hidden>
Signed-off-by: Dave Airlie <email address hidden>
commit c7a5ae2f232e77ffd4e0713a6d72cb20471ae81c
Author: Kirill A. Shutemov <email address hidden>
Date: Thu Mar 8 16:11:38 2012 +0000
gma500: mdfld_dsi_pkg_sender: fix -Wtype-limits warning
Signed-off-by: Kirill A. Shutemov <email address hidden>
Signed-off-by: Alan Cox <email address hidden>
Signed-off-by: Dave Airlie <email address hidden>
commit e4b9ff716fd6b49b062884e339882efe305e922f
Author: Kirill A. Shutemov <email address hidden>
Date: Thu Mar 8 16:11:26 2012 +0000
gma500: mdfld_dsi_dpi: drop unused variables
Signed-off-by: Kirill A. Shutemov <email address hidden>
Signed-off-by: Alan Cox <email address hidden>
Signed-off-by: Dave Airlie <email address hidden>
commit 1c6a62680beeeb3bf9cda23177d4b32c2609cf81
Author: Kirill A. Shutemov <email address hidden>
Date: Thu Mar 8 16:11:14 2012 +0000
gma500: mdfld_device: mark few functions as static
Signed-off-by: Kirill A. Shutemov <email address hidden>
Signed-off-by: Alan Cox <email address hidden>
Signed-off-by: Dave Airlie <email address hidden>
commit 062d054eb359bf143fdd61c8c8837b4d6fd8a10c
Author: Kirill A. Shutemov <email address hidden>
Date: Thu Mar 8 16:11:02 2012 +0000
gma500: cdv_intel_lvds: #if 0 currently unused functions
cdv_intel_lvds_set_brightness() is only used in commented out code in
cdv_set_brightness().
Signed-off-by: Kirill A. Shutemov <email address hidden>
Signed-off-by: Alan Cox <email address hidden>
Signed-off-by: Dave Airlie <email address hidden>
commit bc11da70aca65283e62e8a4bdccc11c3324ccf97
Author: Kirill A. Shutemov <email address hidden>
Date: Thu Mar 8 16:10:50 2012 +0000
gma500: cdv_intel_lvds: mark few functions as static
Signed-off-by: Kirill A. Shutemov <email address hidden>
Signed-off-by: Alan Cox <email address hidden>
Signed-off-by: Dave Airlie <email address hidden>
commit 455b9e91f2a4206d45d0f2b850968a214ee4ea6e
Author: Kirill A. Shutemov <email address hidden>
Date: Thu Mar 8 16:10:38 2012 +0000
gma500: cdv_intel_hdmi: add missing include
drivers/gpu/drm/gma500/cdv_intel_hdmi.c:305:6: warning: no previous prototype for 'cdv_hdmi_init' [-Wmissing-prototypes]
Signed-off-by: Kirill A. Shutemov <email address hidden>
Signed-off-by: Alan Cox <email address hidden>
Signed-off-by: Dave Airlie <email address hidden>
commit 657da160cc22c69edc2bea6d9825c9e041d1c83f
Author: Kirill A. Shutemov <email address hidden>
Date: Thu Mar 8 16:10:23 2012 +0000
gma500: cdv_intel_crt: mark few functions as static
Signed-off-by: Kirill A. Shutemov <email address hidden>
Signed-off-by: Alan Cox <email address hidden>
Signed-off-by: Dave Airlie <email address hidden>
commit 0313c0de54ee241b2c139f11c9a285e6c2b8bd52
Author: Kirill A. Shutemov <email address hidden>
Date: Thu Mar 8 16:10:10 2012 +0000
gma500: cdv_intel_crt: drop unused variables
Signed-off-by: Kirill A. Shutemov <email address hidden>
Signed-off-by: Alan Cox <email address hidden>
Signed-off-by: Dave Airlie <email address hidden>
commit a8ec6229651b36b03c2003dca6843f7bc4da9d6e
Author: Kirill A. Shutemov <email address hidden>
Date: Thu Mar 8 16:09:57 2012 +0000
gma500: cdv_intel_crt: drop dead code
Signed-off-by: Kirill A. Shutemov <email address hidden>
Signed-off-by: Alan Cox <email address hidden>
Signed-off-by: Dave Airlie <email address hidden>
commit 2acdc9fa7e0b6fa383ac742a4203c7c1997b1a61
Author: Kirill A. Shutemov <email address hidden>
Date: Thu Mar 8 16:09:45 2012 +0000
gma500: cdv_intel_crt: add missing include
drivers/gpu/drm/gma500/cdv_intel_crt.c:273:6: warning: no previous prototype for 'cdv_intel_crt_init' [-Wmissing-prototypes]
Signed-off-by: Kirill A. Shutemov <email address hidden>
Signed-off-by: Alan Cox <email address hidden>
Signed-off-by: Dave Airlie <email address hidden>
commit 017350bcb065ba72b776b99fdf26a6ce60bf703a
Author: Kirill A. Shutemov <email address hidden>
Date: Thu Mar 8 16:09:33 2012 +0000
gma500: fix cdv_intel_wait_for_vblank() prototype
Signed-off-by: Kirill A. Shutemov <email address hidden>
Signed-off-by: Alan Cox <email address hidden>
Signed-off-by: Dave Airlie <email address hidden>
commit aa53f5331c4ea156b6479c6e4d9a5d35528ac1eb
Author: Kirill A. Shutemov <email address hidden>
Date: Thu Mar 8 16:09:19 2012 +0000
gma500: fix two -Wmissing-field-initializers warnings
Signed-off-by: Kirill A. Shutemov <email address hidden>
Signed-off-by: Alan Cox <email address hidden>
Signed-off-by: Dave Airlie <email address hidden>
commit 15308e23fb1bbb485be648b379717cecdc8a0da1
Author: Kirill A. Shutemov <email address hidden>
Date: Thu Mar 8 16:08:45 2012 +0000
gma500: mark psb_driver_device_is_agp() and psb_driver_preclose() as static
Signed-off-by: Kirill A. Shutemov <email address hidden>
Signed-off-by: Alan Cox <email address hidden>
Signed-off-by: Dave Airlie <email address hidden>
commit 1fc93332cd2ba59a5fd5b3c4369fc62c724ddae6
Author: Kirill A. Shutemov <email address hidden>
Date: Thu Mar 8 16:05:00 2012 +0000
gma500: psb_driver_load(): drop unused variables
Signed-off-by: Kirill A. Shutemov <email address hidden>
Signed-off-by: Alan Cox <email address hidden>
Signed-off-by: Dave Airlie <email address hidden>
commit 699f0b45cef8259790ca7a8811d4e6bccc4b54a9
Author: Kirill A. Shutemov <email address hidden>
Date: Thu Mar 8 16:04:47 2012 +0000
gma500: fix ioctl confict
Move DRM_GMA_GET_PIPE_FROM_CRTC_ID to 0x08 to avoid confict with
DRM_GMA_GEM_MMAP.
Signed-off-by: Kirill A. Shutemov <email address hidden>
Signed-off-by: Alan Cox <email address hidden>
Signed-off-by: Dave Airlie <email address hidden>
commit 670c044454a33ab679628518d5284fac6246b259
Author: Kirill A. Shutemov <email address hidden>
Date: Thu Mar 8 16:04:32 2012 +0000
gma500: use DRM_IOCTL_DEF_DRV instead of custom PSB_IOCTL_DEF
Signed-off-by: Kirill A. Shutemov <email address hidden>
Signed-off-by: Alan Cox <email address hidden>
Signed-off-by: Dave Airlie <email address hidden>
commit 3afad3c2bc554d2623cc75b557a445d5e7239845
Author: Kirill A. Shutemov <email address hidden>
Date: Thu Mar 8 16:04:20 2012 +0000
gma500: mmu: mark psb_mmu_free_pt() and psb_mmu_pt_alloc_map_lock() as static
Signed-off-by: Kirill A. Shutemov <email address hidden>
Signed-off-by: Alan Cox <email address hidden>
Signed-off-by: Dave Airlie <email address hidden>
commit b2d57b337f88229e31f2ee11ab64e3caf5db8031
Author: Kirill A. Shutemov <email address hidden>
Date: Thu Mar 8 16:04:08 2012 +0000
gma500: mmu: drop unused psb_get_default_pd_addr()
Signed-off-by: Kirill A. Shutemov <email address hidden>
Signed-off-by: Alan Cox <email address hidden>
Signed-off-by: Dave Airlie <email address hidden>
commit ffe94d9c754ebdc1462d58755da48dc75c3d2920
Author: Kirill A. Shutemov <email address hidden>
Date: Thu Mar 8 16:03:55 2012 +0000
gma500: gtt: mark psb_gtt_entry() and psb_gtt_alloc() as static
Signed-off-by: Kirill A. Shutemov <email address hidden>
Signed-off-by: Alan Cox <email address hidden>
Signed-off-by: Dave Airlie <email address hidden>
commit bc7f2b0839fc0b867a9877d8640e07b9b9813875
Author: Kirill A. Shutemov <email address hidden>
Date: Thu Mar 8 16:03:44 2012 +0000
gma500: mark psb_fbdev_destroy() and psb_fbdev_fini() as static
Signed-off-by: Kirill A. Shutemov <email address hidden>
Signed-off-by: Alan Cox <email address hidden>
Signed-off-by: Dave Airlie <email address hidden>
commit 4796001a7d5dfdae082919f93ef6104be0108012
Author: Kirill A. Shutemov <email address hidden>
Date: Thu Mar 8 16:03:32 2012 +0000
gma500: drop unused psbfb_suspend()/psbfb_resume()
Signed-off-by: Kirill A. Shutemov <email address hidden>
Signed-off-by: Alan Cox <email address hidden>
Signed-off-by: Dave Airlie <email address hidden>
commit a58df0ade953f19cbadb520ea3628436c3f3ee7a
Author: Kirill A. Shutemov <email address hidden>
Date: Thu Mar 8 16:03:19 2012 +0000
gma500: gem_glue: add missing include
It fixes W=1 warnings:
drivers/gpu/drm/gma500/gem_glue.c:23:6: warning: no previous prototype for ‘drm_gem_object_release_wrap’ [-Wmissing-prototypes]
drivers/gpu/drm/gma500/gem_glue.c:44:5: warning: no previous prototype for ‘gem_create_mmap_offset’ [-Wmissing-prototypes]
Signed-off-by: Kirill A. Shutemov <email address hidden>
Signed-off-by: Alan Cox <email address hidden>
Signed-off-by: Dave Airlie <email address hidden>
commit 89f58dcdf997ee2133f3d5b1d91697887c2345a3
Author: Kirill A. Shutemov <email address hidden>
Date: Thu Mar 8 16:03:04 2012 +0000
gma500: medfield: drop a bit of dead code
Signed-off-by: Kirill A. Shutemov <email address hidden>
Signed-off-by: Alan Cox <email address hidden>
Signed-off-by: Dave Airlie <email address hidden>
commit fda95c2e7304c9d4d7ed8f2590346acbbfff2f99
Author: Kirill A. Shutemov <email address hidden>
Date: Thu Mar 8 16:02:50 2012 +0000
gma500: mdfld_dsi_output_init() drop unused parameter
Nobody uses 'config' parameter.
Signed-off-by: Kirill A. Shutemov <email address hidden>
Signed-off-by: Alan Cox <email address hidden>
Signed-off-by: Dave Airlie <email address hidden>
commit 6aa1ead1b855819b8b754d0f84f9da6942fe7589
Author: Kirill A. Shutemov <email address hidden>
Date: Thu Mar 8 16:02:36 2012 +0000
gma500: psbfb_create(): move depth initialization out of loop
Signed-off-by: Kirill A. Shutemov <email address hidden>
Signed-off-by: Alan Cox <email address hidden>
Signed-off-by: Dave Airlie <email address hidden>
commit 026abc333205c1fff80138b8c2cac3d0347685f4
Author: Kirill A. Shutemov <email address hidden>
Date: Thu Mar 8 16:02:20 2012 +0000
gma500: initial medfield merge
We need to merge this ahead of some of the cleanup because a lot of needed
cleanup spans both new and old chips. If we try and clean up and the merge
we end up fighting ourselves.
Signed-off-by: Kirill A. Shutemov <email address hidden>
[With a load of the cleanup stuff folded in, register stuff reworked sanely]
Signed-off-by: Alan Cox <email address hidden>
Signed-off-by: Dave Airlie <email address hidden>
commit c6265ff593467d472814aa9f16f89f6c1dc90a5d
Author: Alan Cox <email address hidden>
Date: Thu Mar 8 16:02:05 2012 +0000
gma500: rework register stuff sanely
Rework registers handling to prepare for Medfield.
Signed-off-by: Alan Cox <email address hidden>
[split out from a single big patch]
Signed-off-by: Kirill A. Shutemov <email address hidden>
Signed-off-by: Dave Airlie <email address hidden>
commit c715bc1bf422543731b8833e899266b8be982a52
Author: Kirill A. Shutemov <email address hidden>
Date: Thu Mar 8 16:01:51 2012 +0000
gma500: make init_pm callback in struct psb_op optional
Signed-off-by: Kirill A. Shutemov <email address hidden>
Signed-off-by: Alan Cox <email address hidden>
Signed-off-by: Dave Airlie <email address hidden>
commit 4578240b48ed33f4377748701616a870fe5a1a94
Author: Alan Cox <email address hidden>
Date: Thu Mar 8 16:01:39 2012 +0000
gma500: re-order calling on the fix setup so we set up after the DRM layer
Noted by Kirill A Shutemov
Signed-off-by: Alan Cox <email address hidden>
Signed-off-by: Dave Airlie <email address hidden>
commit aa7c62af10b6ba7f0496ee3a1a760ad216426720
Author: Jesper Juhl <email address hidden>
Date: Thu Mar 8 16:00:58 2012 +0000
intel, gma500, lvds: Fix use after free and mem leak in psb_intel_lvds_init()
In psb_intel_lvds_init(), if we fail to allocate memory for
'psb_intel_connector' we free the memory we previously allocated for
'psb_intel_encoder', but we then proceed to use that free'd pointer
when we do 'psb_intel_encoder->dev_priv = lvds_priv;'.
We may also leak the memory we allocated for 'psb_intel_encoder' if we
'goto failed_connector;' and the variable goes out of scope.
While I was there anyway, I also removed the pointless 'if
(psb_intel_connector)' before freeing it at the 'failed_connector:'
label - kfree() deals gracefully with NULL pointers, so it is not
needed.
Signed-off-by: Jesper Juhl <email address hidden>
Signed-off-by: Alan Cox <email address hidden>
Signed-off-by: Dave Airlie <email address hidden>
commit 05442e5e1ff1e75868e4f83822775f41e18c63b4
Author: Alan Cox <email address hidden>
Date: Thu Mar 8 16:00:45 2012 +0000
gma500: Kconfig documentation tweak
Update this to better reflect the status
Signed-off-by: Alan Cox <email address hidden>
Signed-off-by: Dave Airlie <email address hidden>
commit 648a8e342c5a754bdc62f003d3af90507c1abfde
Author: Alan Cox <email address hidden>
Date: Thu Mar 8 16:00:31 2012 +0000
gma500: now move the Oaktrail save state into its own structure
Signed-off-by: Alan Cox <email address hidden>
Signed-off-by: Dave Airlie <email address hidden>
commit 933315acb6e223d4da36cb0b95d18dcfa6323658
Author: Alan Cox <email address hidden>
Date: Thu Mar 8 16:00:17 2012 +0000
gma500: clean up some of the struct fields we no longer use
Some this is Medfield stuff that may reappear in some form later, other
bits are just dead stuff
Signed-off-by: Alan Cox <email address hidden>
Signed-off-by: Dave Airlie <email address hidden>
commit 3df546be6b74c1e2633498104ba8879507fb06fd
Author: Alan Cox <email address hidden>
Date: Thu Mar 8 16:00:00 2012 +0000
gma500: plug in more of the gamma functionality
Signed-off-by: Alan Cox <email address hidden>
Signed-off-by: Dave Airlie <email address hidden>
commit b19c19afa880105179b3c25e57b169c8fcda334c
Author: Rob Clark <email address hidden>
Date: Tue Mar 6 10:20:36 2012 -0600
drm: cope with platformdev->id == -1
If there are not multiple instances of a platform device, the id
should apparently be set to -1. Which results in a odd looking
bus-id like "platform:foodrm:-1". Probably we should just treat
this case as id 0.
Signed-off-by: Rob Clark <email address hidden>
Signed-off-by: Dave Airlie <email address hidden>
commit 966e0cdd504657333415f43de6a219197511ebff
Author: Dave Airlie <email address hidden>
Date: Thu Feb 23 11:37:26 2012 +0000
drm: drop setting vm_file to filp
Talking to Al Viro on irc, we can see no possible reason for doing
this, the upper mmap code does it. The code has been there since
first import into drm tree I can find.
Al tracked down this as a requirement pre 2.3.51 hasn't been needed since.
Acked-by: Al Viro <email address hidden>
Signed-off-by: Dave Airlie <email address hidden>
commit 81ffbbedc37c6043e5f5b123da926aa7dd8ad60a
Author: Felix Kuehling <email address hidden>
Date: Thu Feb 23 19:16:12 2012 -0500
drm/radeon: fix deferred page-flip detection logic on Avivo-based ASICs
This fixes page-flip-related flickering observed on Iconia Tab W500.
The update_pending status returned by radeon_page_flip is very accurate on
Avivo-based ASICs when vpos is negative.
Experiments were conducted on several ASIC generations ranging from RS690
to Cayman where the page flip was artificially timed to occur at a specific
vpos. With negative vpos, overriding update_pending always lead to
flickering.
The same experiment on RV380 and RV410 showed that update_pending is not
accurate with negative vpos. In most cases update_pending == 1 is returned
although the flip would complete before the start of the next frame.
Therefore I left the behaviour unchanged for pre-AVIVO ASICs for
performance reasons, although this may result in flickering in rare cases.
This change also makes the logic a little easier to understand.
Signed-off-by: Felix Kuehling <email address hidden>
Reviewed-by: Mario Kleiner <email address hidden>
Signed-off-by: Dave Airlie <email address hidden>
commit 884a53ef43eb69dfd48408659b9606e581aee7ba
Author: Sascha Hauer <email address hidden>
Date: Wed Feb 29 09:06:21 2012 +0100
drm: remove unused code
remove declared but unused functions from drmP.h, fix the comments
where necessary. Also, remove drm_mem_info which is unused.
Signed-off-by: Sascha Hauer <email address hidden>
Signed-off-by: Dave Airlie <email address hidden>
commit 54e88e065ef5e89de797de0c98e50f2ed1c174db
Author: Alex Deucher <email address hidden>
Date: Thu Feb 23 18:10:29 2012 -0500
drm/radeon/kms: clean up radeon_asic struct (v2)
v2: fix typo.
Signed-off-by: Alex Deucher <email address hidden>
Reviewed-by: Christian König<email address hidden>
Reviewed-by: Michel Dänzer <email address hidden>
Reviewed-by: Jerome Glisse <email address hidden>
Signed-off-by: Dave Airlie <email address hidden>
commit 9e6f3d02c4d28e68a73d100f7719440196f636de
Author: Alex Deucher <email address hidden>
Date: Thu Feb 23 17:53:49 2012 -0500
drm/radeon/kms: reorganize surface callbacks
tidy up the radeon_asic struct.
Signed-off-by: Alex Deucher <email address hidden>
Reviewed-by: Christian König<email address hidden>
Reviewed-by: Michel Dänzer <email address hidden>
Reviewed-by: Jerome Glisse <email address hidden>
Signed-off-by: Dave Airlie <email address hidden>
commit 798bcf7341cd434f89a4ddd6882ac043b1399825
Author: Alex Deucher <email address hidden>
Date: Thu Feb 23 17:53:48 2012 -0500
drm/radeon/kms: move clock/pcie setting callbacks into pm struct
tidy up radeon_asic struct.
Signed-off-by: Alex Deucher <email address hidden>
Reviewed-by: Christian König<email address hidden>
Reviewed-by: Michel Dänzer <email address hidden>
Reviewed-by: Jerome Glisse <email address hidden>
Signed-off-by: Dave Airlie <email address hidden>
commit c79a49ca000ebcf4adf5448366284c5c1f25aa20
Author: Alex Deucher <email address hidden>
Date: Thu Feb 23 17:53:47 2012 -0500
drm/radeon/kms: reorganize display callbacks
tidy up the radeon_asic struct.
Signed-off-by: Alex Deucher <email address hidden>
Reviewed-by: Christian König<email address hidden>
Reviewed-by: Michel Dänzer <email address hidden>
Reviewed-by: Jerome Glisse <email address hidden>
Signed-off-by: Dave Airlie <email address hidden>
commit c5b3b8504f17003ff9cd94ff4b385a6144410b25
Author: Alex Deucher <email address hidden>
Date: Thu Feb 23 17:53:46 2012 -0500
drm/radeon/kms: reorganize gart callbacks
tidy up the radeon_asic struct.
Signed-off-by: Alex Deucher <email address hidden>
Reviewed-by: Christian König<email address hidden>
Reviewed-by: Michel Dänzer <email address hidden>
Reviewed-by: Jerome Glisse <email address hidden>
Signed-off-by: Dave Airlie <email address hidden>
commit f712812e1ba7f17a270f285c3e7e70c65186a8b4
Author: Alex Deucher <email address hidden>
Date: Thu Feb 23 17:53:45 2012 -0500
drm/radeon/kms: make ring_start, ring_test, and ib_test per ring
Each ring type may need a different variant.
Signed-off-by: Alex Deucher <email address hidden>
Reviewed-by: Christian König<email address hidden>
Reviewed-by: Michel Dänzer <email address hidden>
Reviewed-by: Jerome Glisse <email address hidden>
Signed-off-by: Dave Airlie <email address hidden>
commit dfb276f098e0e90319a346bae2f205f2690d6b42
Author: Alex Deucher <email address hidden>
Date: Thu Feb 23 17:53:44 2012 -0500
drm/radeon/kms: remove unused cp callbacks from radeon_asic
Signed-off-by: Alex Deucher <email address hidden>
Reviewed-by: Christian König<email address hidden>
Reviewed-by: Michel Dänzer <email address hidden>
Reviewed-by: Jerome Glisse <email address hidden>
Signed-off-by: Dave Airlie <email address hidden>
commit b35ea4ab8884b363440d38db3c7c89edfb3682a1
Author: Alex Deucher <email address hidden>
Date: Thu Feb 23 17:53:43 2012 -0500
drm/radeon/kms: reorganize irq callbacks
tidy up the radeon_asic struct.
Signed-off-by: Alex Deucher <email address hidden>
Reviewed-by: Christian König<email address hidden>
Reviewed-by: Michel Dänzer <email address hidden>
Reviewed-by: Jerome Glisse <email address hidden>
Signed-off-by: Dave Airlie <email address hidden>
commit 27cd77694bfa2e123cb7440507f8ddd762de6c38
Author: Alex Deucher <email address hidden>
Date: Thu Feb 23 17:53:42 2012 -0500
drm/radeon/kms: reorganize copy callbacks
tidy up the radeon_asic struct, handle multiple
rings better.
Signed-off-by: Alex Deucher <email address hidden>
Reviewed-by: Christian König<email address hidden>
Reviewed-by: Michel Dänzer <email address hidden>
Reviewed-by: Jerome Glisse <email address hidden>
Signed-off-by: Dave Airlie <email address hidden>
commit 293f9fd53aa1529500ba16d89850100a058b11c1
Author: Christian König <email address hidden>
Date: Thu Feb 23 15:18:45 2012 +0100
drm/radeon: fix IB debugfs files for multiple cards
Storing pointers to the IBs in a static var just
leads to giving the same content back for all
cards in the system.
Signed-off-by: Christian König <email address hidden>
Reviewed-by: Jerome Glisse <email address hidden>
Reviewed-by: Alex Deucher <email address hidden>
Signed-off-by: Dave Airlie <email address hidden>
commit eb0c19c539f72d94c33cfd0860f4f8c899c64f4d
Author: Christian König <email address hidden>
Date: Thu Feb 23 15:18:44 2012 +0100
drm/radeon: also make the cs_parse function per ring
Not all rings use PM4, so the cs_parser also needs to be per ring.
Signed-off-by: Christian König <email address hidden>
Reviewed-by: Alex Deucher <email address hidden>
Reviewed-by: Jerome Glisse <email address hidden>
Signed-off-by: Dave Airlie <email address hidden>
commit 442f7cfa04afe73a239daf026d323b83bbb7778b
Author: Christian König <email address hidden>
Date: Thu Feb 23 15:18:43 2012 +0100
drm/radeon/kms: no need to align IB like this
So don't confuse devs by doing so.
Signed-off-by: Christian König <email address hidden>
Reviewed-by: Alex Deucher <email address hidden>
Signed-off-by: Dave Airlie <email address hidden>
commit cdac5504b2981520f993790f5d30c0cdc15c3214
Author: Christian König <email address hidden>
Date: Thu Feb 23 15:18:42 2012 +0100
drm/radeon: move ring syncing after bo validation
The function radeon_bo_list_validate can cause a
bo to move, resulting in a different sync_obj
and a dependency to wait for this move to finish.
Signed-off-by: Christian König <email address hidden>
Reviewed-by: Alex Deucher <email address hidden>
Reviewed-by: Jerome Glisse <email address hidden>
Signed-off-by: Dave Airlie <email address hidden>
commit a02fa397b09cf1e02ecb922642b4ebb5e39f9234
Author: Alex Deucher <email address hidden>
Date: Thu Feb 23 17:53:41 2012 -0500
drm/radeon/kms: reorganize pm callbacks
tidy up the radeon_asic struct.
Signed-off-by: Alex Deucher <email address hidden>
Reviewed-by: Christian König <email address hidden>
Reviewed-by: Michel Dänzer <email address hidden>
Reviewed-by: Jerome Glisse <email address hidden>
Signed-off-by: Dave Airlie <email address hidden>
commit 0f9e006c9a8b264c1a391a58142f6c0e777e63c2
Author: Alex Deucher <email address hidden>
Date: Thu Feb 23 17:53:40 2012 -0500
drm/radeon/kms: reorganize page flip callbacks
tidy up the radeon_asic struct.
Signed-off-by: Alex Deucher <email address hidden>
Reviewed-by: Christian König <email address hidden>
Reviewed-by: Michel Dänzer <email address hidden>
Reviewed-by: Jerome Glisse <email address hidden>
Signed-off-by: Dave Airlie <email address hidden>
commit 901ea57dc4a2792900497172fa41358f9b2f67c3
Author: Alex Deucher <email address hidden>
Date: Thu Feb 23 17:53:39 2012 -0500
drm/radeon/kms: reorganize hpd callbacks
tidy up the radeon_asic struct.
Signed-off-by: Alex Deucher <email address hidden>
Reviewed-by: Christian König <email address hidden>
Reviewed-by: Michel Dänzer <email address hidden>
Reviewed-by: Jerome Glisse <email address hidden>
Signed-off-by: Dave Airlie <email address hidden>
commit 89e5181f3f79fbe46dbf811f9bc470f524704450
Author: Alex Deucher <email address hidden>
Date: Thu Feb 23 17:53:38 2012 -0500
drm/radeon/kms: add a radeon asic callback for mc idle
Required for future functionality.
Signed-off-by: Alex Deucher <email address hidden>
Reviewed-by: Christian König <email address hidden>
Reviewed-by: Michel Dänzer <email address hidden>
Reviewed-by: Jerome Glisse <email address hidden>
Signed-off-by: Dave Airlie <email address hidden>
commit 3ae19b750bdc09ce233e1504348320141593ffda
Author: Alex Deucher <email address hidden>
Date: Thu Feb 23 17:53:37 2012 -0500
drm/radeon/kms: add wait_for_vblank asic callback
Required for future functionality.
Signed-off-by: Alex Deucher <email address hidden>
Reviewed-by: Christian König <email address hidden>
Reviewed-by: Jerome Glisse <email address hidden>
Signed-off-by: Dave Airlie <email address hidden>
commit e5bcf23443740f741df8e5461ccdad0f10d1a75b
Merge: 019d96c ff5f4b0
Author: Dave Airlie <email address hidden>
Date: Thu Feb 23 14:11:53 2012 +0000
Merge tag 'drm-intel-next-2012-02-16-merge-resolved' of git://people.freedesktop.org/~danvet/drm-intel into drm-core-next
* tag 'drm-intel-next-2012-02-16-merge-resolved' of git://people.freedesktop.org/~danvet/drm-intel: (45 commits)
Revert "drivers/gpu/drm/i915/intel_overlay.c needs seq_file.h"
drm/i915/lvds: Always use the presence pin for LVDS on PCH
drm/i915: Record the position of the request upon error
drm/i915: Record the in-flight requests at the time of a hang
drm/i915: Record the tail at each request and use it to estimate the head
drm/i915: add missing SDVO bits for interlaced modes on ILK
drm/i915: Fix race condition in accessing GMBUS
drm/i915: add a "force-dvi" HDMI audio mode
drm/i915: Don't lock panel registers when downclocking
drm/i915: fix up locking inconsistency around gem_do_init
drm/i915: enable forcewake voodoo also for gen6
drm/i915: fixup seqno allocation logic for lazy_request
drm/i915: outstanding_lazy_request is a u32
drm/i915: check gtfifodbg after possibly failed writes
drm/i915: catch gtfifo errors on forcewake_put
drm/i915: use gtfifodbg
drm/i915: set interlaced bits for TRANSCONF
drm/i915: fixup overlay checks for interlaced modes
drm/i915: allow interlaced mode output on the HDMI connector
drm/i915: allow interlaced mode output on the SDVO connector
...
commit ff5f4b0585620e5c158ecaad84d91c5bf3c5d0a1
Merge: de67cba 019d96c
Author: Daniel Vetter <email address hidden>
Date: Thu Feb 23 14:54:20 2012 +0100
Merge remote-tracking branch 'airlied/drm-next' into for-airlied
Manually resolve the conflict between the new enum drm property
helpers in drm-next and the new "force-dvi" option that the "audio" output
property gained in drm-intel-next.
While resolving this conflict, switch the new drm_prop_enum_list to
use the newly introduced enum defines instead of magic values.
Conflicts:
drivers/gpu/drm/i915/intel_modes.c
Signed-Off-by: Daniel Vetter <email address hidden>
commit 019d96cb55ade38a4b4a52bba0304e8cd681f30a
Author: Dave Airlie <email address hidden>
Date: Thu Sep 29 16:20:42 2011 +0100
drm: add some caps for userspace to discover more info for dumb KMS driver (v2)
For the simple KMS driver case we need some more info about what the preferred
depth and if a shadow framebuffer is preferred.
I've only added this for intel/radeon which support the dumb ioctls so far.
If you need something really fancy you should be writing a real X.org driver.
v2: drop cursor information, just return an error from the cursor ioctls
and we can make userspace fallback to sw cursor in that case, cursor
info was getting too messy, best to start smaller.
Signed-off-by: Dave Airlie <email address hidden>
commit 466e69b8b03b8c1987367912782bc12988ad8794
Author: Dave Airlie <email address hidden>
Date: Mon Dec 19 11:15:29 2011 +0000
drm: move pci bus master enable into driver.
The current enabling of bus mastering in the drm midlayer allows a large
race condition under kexec. When a kexec'ed kernel re-enables bus mastering
for the GPU, previously setup dma blocks may cause writes to random pieces
of memory. On radeon the writeback mechanism can cause these sorts of issues.
This patch doesn't fix the problem, but it moves the bus master enable under
the individual drivers control so they can move enabling it until later in
their load cycle and close the race.
Fix for radeon kms driver will be in a follow-up patch.
Signed-off-by: Dave Airlie <email address hidden>
commit 42b923b587d055cd98fb84f32e3e758672026ae9
Author: Dan Carpenter <email address hidden>
Date: Tue Feb 14 10:38:11 2012 +0300
drm/radeon/evergreen: make texdw[] array larger
We store stuff in texdw[7] so this array needs to have 8 elements.
Signed-off-by: Dan Carpenter <email address hidden>
Reviewed-by: Jerome Glisse <email address hidden>
Signed-off-by: Dave Airlie <email address hidden>
commit cdbe8b5426e71d09882212073c27c9dcf25a71b6
Merge: 285484e 172975a
Author: Dave Airlie <email address hidden>
Date: Tue Feb 14 14:16:00 2012 +0000
Merge tag 'drm-intel-next-2012-02-07' of git://people.freedesktop.org/~danvet/drm-intel into drm-core-next
* tag 'drm-intel-next-2012-02-07' of git://people.freedesktop.org/~danvet/drm-intel: (29 commits)
drm/i915: Handle unmappable buffers during error state capture
drm/i915: rewrite shmem_pread_slow to use copy_to_user
drm/i915: rewrite shmem_pwrite_slow to use copy_from_user
drm/i915: fall through pwrite_gtt_slow to the shmem slow path
drm/i915: add debugfs file for swizzling information
drm/i915: fix swizzle detection for gen3
drm/i915: Remove the upper limit on the bo size for mapping into the CPU domain
drm/i915: add per-ring fault reg to error_state
drm/i915: reject GTT domain in relocations
drm/i915: remove the i915_batchbuffer_info debugfs file
drm/i915: capture error_state also for stuck rings
drm/i915: refactor debugfs create functions
drm/i915: refactor debugfs open function
drm/i915: don't trash the gtt when running out of fences
drm/i915: Separate fence pin counting from normal bind pin counting
drm/i915/ringbuffer: kill snb blt workaround
drm/i915: collect more per ring error state
drm/i915: refactor ring error state capture to use arrays
drm/i915: switch ring->id to be a real id
drm/i915: set AUD_CONFIG N_value_index for DisplayPort
...
commit 285484e2d55e76031b45926720c10b1aec8b782a
Author: Jerome Glisse <email address hidden>
Date: Fri Dec 16 17:03:42 2011 -0500
drm/radeon: add support for evergreen/ni tiling informations v11
evergreen and northern island gpu needs more informations for 2D tiling
than previous r6xx/r7xx. Add field to tiling ioctl to allow userspace
to provide those.
The v8 cs checking change to track color view on r6xx/r7xx doesn't
affect old userspace as old userspace always emited 0 for this register.
v2 fix r6xx/r7xx 2D tiling computation
v3 fix r6xx/r7xx height align for untiled surface & add support for
tile split on evergreen and newer
v4 improve tiling debugging output
v5 fix tile split code for evergreen and newer
v6 set proper tile split for crtc register
v7 fix tile split limit value
v8 add COLOR_VIEW checking to r6xx/r7xx checker, add evergreen cs
checking, update safe reg for r600, evergreen and cayman.
Evergreen checking need some work around for stencil alignment
issues
v9 fix tile split value range, fix compressed texture handling and
mipmap calculation, allow evergreen check to be silencious in
front of current broken userspace (depth/stencil alignment issue)
v10 fix eg 3d texture and compressed texture, fix r600 depth array,
fix r600 color view computation, add support for evergreen stencil
split
v11 more verbose debugging in some case
Signed-off-by: Jerome Glisse <email address hidden>
Signed-off-by: Dave Airlie <email address hidden>
commit dd220a00e8bd5ad7f98ecdc3eed699a7cfabdc27
Author: Marek Olšák <email address hidden>
Date: Fri Jan 27 12:17:59 2012 -0500
drm/radeon/kms: add support for streamout v7
v2: agd5f: add strmout CS checking, copy_dw register checking
v3: agd5f: don't use cs_check_reg() for copy_dw checking as it
will incorrectly patch the command stream for certain regs.
v4: agd5f: add warning if safe reg check fails for copy_dw
v5: agd5f: add stricter checking for 6xx/7xx
v6: agd5f: add range checking for copy_dw on eg+,
add sx_surface_sync to safe reg list for 7xx.
v7: agd5f: add stricter checking for eg+
Signed-off-by: Marek Olšák <email address hidden>
Signed-off-by: Alex Deucher <email address hidden>
Signed-off-by: Dave Airlie <email address hidden>
commit 51a59ac8739b333eaa43a3102b6acaab5037bfa2
Author: Axel Lin <email address hidden>
Date: Fri Feb 10 20:04:52 2012 +0800
drm: Fix kcalloc parameters swapped
The first parameter should be "number of elements" and the second parameter
should be "element size".
Signed-off-by: Axel Lin <email address hidden>
Acked-by: Alan Cox <email address hidden>
Signed-off-by: Dave Airlie <email address hidden>
commit ade510153ecb7d50aaf9338fb2def2d5a80f1e1e
Merge: 8bf4222 0a240ec
Author: Dave Airlie <email address hidden>
Date: Mon Feb 13 12:04:11 2012 +0000
Merge branch 'drm-vmware-next' into drm-core-next
* drm-vmware-next:
drm/vmwgfx: Bump driver minor
vmwgfx: Move function declaration to correct header
drm/vmwgfx: Treat out-of-range initial width and height as host errors
vmwgfx: Pick up the initial size from the width and height regs
vmwgfx: Add page flip support
vmwgfx: Pipe fence out of screen object dirty functions
vmwgfx: Make it possible to get fence from execbuf
vmwgfx: Clean up pending event references to struct drm_file objects on close
vmwgfx: Rework fence event action
commit 0a240ec43667c6e1005a566dde60863b9c16cc21
Author: Thomas Hellstrom <email address hidden>
Date: Thu Feb 9 16:56:49 2012 +0100
drm/vmwgfx: Bump driver minor
Bump driver minor to signal availability of the page-flip ioctl.
Signed-off-by: Thomas Hellstrom <email address hidden>
Signed-off-by: Dave Airlie <email address hidden>
commit f9cd8ec34f240884cf7ec44e1a4cac12c167ecb2
Author: Thomas Hellstrom <email address hidden>
Date: Thu Feb 9 16:56:48 2012 +0100
vmwgfx: Move function declaration to correct header
Signed-off-by: Thomas Hellstrom <email address hidden>
Reviewed-by: Jakob Bornecrantz <email address hidden>
Signed-off-by: Dave Airlie <email address hidden>
commit 67d4a87b0a6bf7225aacc2c14e3542ec2f6b803f
Author: Thomas Hellstrom <email address hidden>
Date: Thu Feb 9 16:56:47 2012 +0100
drm/vmwgfx: Treat out-of-range initial width and height as host errors
And assign the initial width and height to the minimum in that case.
Strange values (-1) from these registers have been reported by users.
Signed-off-by: Thomas Hellstrom <email address hidden>
Reviewed-by: Jakob Bornecrantz <email address hidden>
Signed-off-by: Dave Airlie <email address hidden>
commit eb4f923b1ceac8a618469c51ff249bd89bc0dfa4
Author: Jakob Bornecrantz <email address hidden>
Date: Thu Feb 9 16:56:46 2012 +0100
vmwgfx: Pick up the initial size from the width and height regs
Signed-off-by: Jakob Bornecrantz <email address hidden>
Signed-off-by: Thomas Hellstrom <email address hidden>
Signed-off-by: Dave Airlie <email address hidden>
commit b5ec427e8d8c66ea1bb9a3bf09663c1361ecf0b6
Author: Jakob Bornecrantz <email address hidden>
Date: Thu Feb 9 16:56:45 2012 +0100
vmwgfx: Add page flip support
Signed-off-by: Jakob Bornecrantz <email address hidden>
Reviewed-by: Thomas Hellstrom <email address hidden>
Signed-off-by: Dave Airlie <email address hidden>
commit bd49ae46f8a24c088dbca12064a846399e2da631
Author: Jakob Bornecrantz <email address hidden>
Date: Thu Feb 9 16:56:44 2012 +0100
vmwgfx: Pipe fence out of screen object dirty functions
Signed-off-by: Jakob Bornecrantz <email address hidden>
Signed-off-by: Thomas Hellstrom <email address hidden>
Signed-off-by: Dave Airlie <email address hidden>
commit bb1bd2f43ee15386a1c3f96cbcbb9302a9994443
Author: Jakob Bornecrantz <email address hidden>
Date: Thu Feb 9 16:56:43 2012 +0100
vmwgfx: Make it possible to get fence from execbuf
Signed-off-by: Jakob Bornecrantz <email address hidden>
Reviewed-by: Thomas Hellstrom <email address hidden>
Signed-off-by: Dave Airlie <email address hidden>
commit 6b82ef50d8617f3fcd51dda9d89d973fe3bc65b8
Author: Thomas Hellstrom <email address hidden>
Date: Thu Feb 9 16:56:42 2012 +0100
vmwgfx: Clean up pending event references to struct drm_file objects on close
Pending events may have stale pointer references to struct drm_file objects
after a file has been closed, but before the event is supposed to be
attached to the drm file. Remove such events on file close.
Tested with "modetest".
Signed-off-by: Thomas Hellstrom <email address hidden>
Reviewed-by: Jakob Bornecrantz <email address hidden>
Signed-off-by: Dave Airlie <email address hidden>
commit 8b7de6aa84682a3396544fd88cd457f95484573a
Author: Jakob Bornecrantz <email address hidden>
Date: Thu Feb 9 16:56:41 2012 +0100
vmwgfx: Rework fence event action
Signed-off-by: Jakob Bornecrantz <email address hidden>
Reviewed-by: Thomas Hellstrom <email address hidden>
Signed-off-by: Dave Airlie <email address hidden>
commit 8bf42225dac865665a5a0f8bbe1b62139470ffa0
Author: Daniel Vetter <email address hidden>
Date: Fri Jan 27 22:40:51 2012 +0100
drm/modes: do not enforce an odd vtotal for interlaced modes
CEA actually specifies an interlaced mode with even vtotal and
supplies a diagram showing how this is supposed to work.
Note that interlaced modes with an even vtotal seem to be a fairly
recent invention. All modelines lore I could dig up with googling says
that vtotal for interlaced modes _needs_ to be odd. But the even
modelines in CEA are not a spec-bug, there's a figure in CEA-861-E
called "Figure 5 Special Interlaced Video Format Timing (Even Vtotal)"
that explains how it's supposed to work. Furthermore intel Bspec
explicitly mentions that both odd and even interlaced vtotal are
supported (VTOTAL register in the south display engine of PCH split
chips).
Acked-by: Adam Jackson <email address hidden>
Signed-Off-by: Daniel Vetter <email address hidden>
Signed-off-by: Dave Airlie <email address hidden>
commit fb2a99e15ff0d342de4ba58c84a791224a96a01a
Author: Sascha Hauer <email address hidden>
Date: Mon Feb 6 10:58:19 2012 +0100
drm: do not set fb_info->pixmap fields
The drm drivers set the fb_info->pixmap fields without setting
fb_info->pixmap.addr. If this is not set the fb core will overwrite
these all fb_info->pixmap fields anyway, so there is not much point
in setting them in the first place.
[airlied: dropped nvidiafb piece - not mine]
Signed-off-by: Sascha Hauer <email address hidden>
Signed-off-by: Dave Airlie <email address hidden>
commit d9bc3c02e36d844c2d980e65ddda5c7699e073f8
Author: Sascha Hauer <email address hidden>
Date: Mon Feb 6 10:58:18 2012 +0100
drm: add convenience function to create an range property
Creating a range property is a common pattern, so create
a convenience function for this and use it where appropriate.
Signed-off-by: Sascha Hauer <email address hidden>
Signed-off-by: Dave Airlie <email address hidden>
commit 4a67d39190315558631d944b1cea4466ed4c86d8
Author: Sascha Hauer <email address hidden>
Date: Mon Feb 6 10:58:17 2012 +0100
drm: add convenience function to create an enum property
Creating an enum property is a common pattern, so create
a convenience function for this and use it where appropriate.
Signed-off-by: Sascha Hauer <email address hidden>
Signed-off-by: Dave Airlie <email address hidden>
commit 198ceac091049003ffcc4b7cda76785510fc3b59
Merge: 83b316f 3d29b84
Author: Dave Airlie <email address hidden>
Date: Tue Feb 7 15:29:04 2012 +0000
Merge branch 'for-airlied' of git://people.freedesktop.org/~danvet/drm-intel into drm-core-next
* 'for-airlied' of git://people.freedesktop.org/~danvet/drm-intel:
drm/i915: add a LLC feature flag in device description
drm/i915: kill i915_mem.c
drm/i915: Use kcalloc instead of kzalloc to allocate array
drm/i915/dp: Check for AUXCH error before checking for success
drm/i915/dp: Use auxch precharge value of 5 everywhere
drm/i915/dp: Tweak auxch clock divider for PCH
drm/i915: Remove a comment about PCH from the non-PCH path
drm/i915: Fix assert_pch_hdmi_disabled to mention HDMI (not DP)
drm/i915: Implement plane-disabled assertion for PCH too
drivers: i915: Fix BLC PWM register setup
drm/i915: Check that plane/pipe is disabled before removing the fb
drm/i915: fix typo in function name
drm/i915: split out pll divider code
drm/i915: split 9xx refclk & sdvo tv code out
agp/intel: Add pci id for hostbridge from has/qemu
drm/i915: there is no pipe CxSR on ironlake
drm/i915: Only look for matching clocks for LVDS downclock
drm/i915: Silence _DSM errors
commit 83b316fdafcc37e3e65b4a650afb7aab5cc2d271
Author: Sascha Hauer <email address hidden>
Date: Wed Feb 1 11:38:37 2012 +0100
drm exynos: use drm_fb_helper_set_par directly
info->fix.visual already is correctly set from drm_fb_helper_fill_fix.
info->fix.line_length is also set from drm_fb_helper_fill_fix,
so drm_fb_helper_set_par directly instead of a custom
exynos_drm_fbdev_set_par.
Signed-off-by: Sascha Hauer <email address hidden>
Tested-by: Inki Dae <email address hidden>
Signed-off-by: Dave Airlie <email address hidden>
commit a1178ca06213ba937b20d3d32102f64c15dd9a9d
Author: Sascha Hauer <email address hidden>
Date: Wed Feb 1 11:38:30 2012 +0100
drm crtc_helper: use list_for_each_entry
list_for_each_entry_safe is for walking a list safe against removal
of entries. Here, no entries are removed, so use list_for_each_entry.
Signed-off-by: Sascha Hauer <email address hidden>
Signed-off-by: Dave Airlie <email address hidden>
commit b20f38679fee704d5ebfe2815fb5af492a0dde9f
Author: Sascha Hauer <email address hidden>
Date: Wed Feb 1 11:38:31 2012 +0100
drm crtc: Fix locking comments
Several comments above functions say that the caller must hold the
mode_config lock, but the functions take the lock themselves. Fix
the comments.
Signed-off-by: Sascha Hauer <email address hidden>
Signed-off-by: Dave Airlie <email address hidden>
commit 4f988d132d2668b4f3b42bfc70daa531115ccca1
Author: Sascha Hauer <email address hidden>
Date: Wed Feb 1 11:38:26 2012 +0100
drm fb helper: remove unused variable crtc_id
crtc_id is set but never used, so remove it from struct
drm_fb_helper_crtc.
Signed-off-by: Sascha Hauer <email address hidden>
Signed-off-by: Dave Airlie <email address hidden>
commit e9ad318128aa858f713d6f2c4623f7583ca53a71
Author: Sascha Hauer <email address hidden>
Date: Wed Feb 1 11:38:25 2012 +0100
drm fb helper: remove unused variable conn_limit
conn_limit is set but never used. Remove it from struct
drm_fb_helper.
Signed-off-by: Sascha Hauer <email address hidden>
Signed-off-by: Dave Airlie <email address hidden>
commit 3a8148c514b45672f876c4d7c23ed1f54e7c48e7
Author: Sascha Hauer <email address hidden>
Date: Wed Feb 1 11:38:24 2012 +0100
drm fb helper: use drm_helper_connector_dpms to do dpms
drm_fb_helper_on|off currently manually searches for encoders
to turn on/off. Make this simpler by using the helper function.
Signed-off-by: Sascha Hauer <email address hidden>
Signed-off-by: Dave Airlie <email address hidden>
commit 4cae5b84628d5df76247d494e51b89d07e28e6aa
Author: Sascha Hauer <email address hidden>
Date: Wed Feb 1 11:38:23 2012 +0100
drm: add proper return value for drm_mode_crtc_set_gamma_size
drm_mode_crtc_set_gamma_size returns boolean true for success
and false for failure. This is not very kernel conform, so
change it to return 0 for success and a propert error code
otherwise. Noone checks the return value, so no users have to
be fixed.
Signed-off-by: Sascha Hauer <email address hidden>
Signed-off-by: Dave Airlie <email address hidden>
commit a1b7736dac5f2d5876e68c47a0fce3f423840070
Author: Sascha Hauer <email address hidden>
Date: Wed Feb 1 11:38:22 2012 +0100
drm drm_fb_helper: destroy modes
drm_setup_crtcs allocated modes using drm_mode_duplicate. Free
them in drm_fb_helper_crtc_free.
Signed-off-by: Sascha Hauer <email address hidden>
Signed-off-by: Dave Airlie <email address hidden>
commit 554f1d7888d4a1055965198d0ac46ba50e8b684e
Author: Sascha Hauer <email address hidden>
Date: Wed Feb 1 11:38:19 2012 +0100
drm crtc: use drm_mode_destroy instead of kfree in drm_mode_remove
Modes are created using drm_mode_create which does a
drm_mode_object_get, so use drm_mode_destroy in drm_mode_remove
which does a drm_mode_object_put.
Signed-off-by: Sascha Hauer <email address hidden>
Signed-off-by: Dave Airlie <email address hidden>
commit aefd330e694d5b7b9657cc53821c7879b14c8128
Author: Sascha Hauer <email address hidden>
Date: Wed Feb 1 11:38:21 2012 +0100
drm/edid: drm modes have to be free with drm_mode_destroy
to add the missing drm_mode_object_put for that mode.
Signed-off-by: Sascha Hauer <email address hidden>
Signed-off-by: Dave Airlie <email address hidden>
commit 59ce062ead2a7d114a1e7f505f250eabab9e9d85
Author: Sascha Hauer <email address hidden>
Date: Wed Feb 1 11:38:20 2012 +0100
drm crtc: add forgotten idr cleanup functions
drm_mode_config_init initializes the idr with idr_init, so
add the missing counterparts in drm_mode_config_cleanup.
Signed-off-by: Sascha Hauer <email address hidden>
Signed-off-by: Dave Airlie <email address hidden>
commit f2746f83d50287fdb6768e0f20168c64b6a7c9cb
Author: Alex Deucher <email address hidden>
Date: Thu Feb 2 10:11:12 2012 -0500
drm/radeon/kms: add r1xx/r2xx CS support for tiled textures
Not likely this will be implemented anytime soon, but for
completeness...
Signed-off-by: Alex Deucher <email address hidden>
Signed-off-by: Dave Airlie <email address hidden>
commit c9068eb296fc682513f8612168f605c169b773e4
Author: Alex Deucher <email address hidden>
Date: Thu Feb 2 10:11:11 2012 -0500
drm/radeon/kms: add r1xx/r2xx support for CS_KEEP_TILING_FLAGS
Previous patch only updates r3xx+. It's not likely
anyone will use this on r1xx/r2xx, but add it for consistency.
Signed-off-by: Alex Deucher <email address hidden>
Signed-off-by: Dave Airlie <email address hidden>
commit 9292f37e1f5c79400254dca46f83313488093825
Author: Eugeni Dodonov <email address hidden>
Date: Thu Jan 5 09:34:28 2012 -0200
drm: give up on edid retries when i2c bus is not responding
This allows to avoid talking to a non-responding bus repeatedly until we
finally timeout after 15 attempts. We can do this by catching the -ENXIO
error, provided by i2c_algo_bit:bit_doAddress call.
Within the bit_doAddress we already try 3 times to get the edid data, so
if the routine tells us that bus is not responding, it is mostly pointless
to keep re-trying those attempts over and over again until we reach final
number of retries.
This change should fix https://bugs.freedesktop.org/show_bug.cgi?id=41059
and improve overall edid detection timing by 10-30% in most cases, and by
a much larger margin in case of phantom outputs (up to 30x in one worst
case).
Timing results for i915-powered machines for 'time xrandr' command:
Machine 1: from 0.840s to 0.290s
Machine 2: from 0.315s to 0.280s
Machine 3: from +/- 4s to 0.184s
Timing results for HD5770 with 'time xrandr' command:
Machine 4: from 3.210s to 1.060s
Reviewed-by: Chris Wilson <email address hidden>
Reviewed-by: Keith Packard <email address hidden>
Tested-by: Sean Finney <email address hidden>
Tested-by: Soren Hansen <email address hidden>
Tested-by: Hernando Torque <email address hidden>
Tested-by: Mike Lothian <email address hidden>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=41059
Signed-off-by: Eugeni Dodonov <email address hidden>
Signed-off-by: Dave Airlie <email address hidden>
commit 30388c6e48e62b2806b14552275f091e2f5adbf4
Author: Alex Deucher <email address hidden>
Date: Fri Jan 20 14:50:18 2012 -0500
drm/radeon/kms/dce3+: add support for hw i2c using atom
Starting with DCE3 hardware, atom contains a general purpose
ProcessI2cChannelTransaction similar to ProcessAuxChannelTransaction.
Add an implementation using the atom tables for DCE3+ hardware.
This should be a little less CPU intensive than bit banging and
may work better in certain cases.
Enable it by setting the radeon hw_i2c module parameter to 1. E.g.,
radeon.hw_i2c=1
on the kernel command line in grub.
Signed-off-by: Alex Deucher <email address hidden>
Signed-off-by: Dave Airlie <email address hidden>
commit 9048955748aa14b1dbf068ef3a9288ec15cabc66
Author: Jean Delvare <email address hidden>
Date: Sat Jan 28 11:08:58 2012 +0100
drm/radeon/kms: Use the standard VESA timeout for DDC channels
The VESA specification suggests a 2.2 ms timeout on DDC channels.
Use exactly that (as the i915 driver does) instead of hard-coding a
jiffy count.
Signed-off-by: Jean Delvare <email address hidden>
Reviewed-by: Keith Packard <email address hidden>
Reviewed-by: Alex Deucher <email address hidden>
Signed-off-by: Dave Airlie <email address hidden>
commit 1849ecb22fb3b5d57b65e7369a3957adf9f26f39
Author: Jean Delvare <email address hidden>
Date: Sat Jan 28 11:07:09 2012 +0100
drm/kms: Make i2c buses faster
A udelay value of 20 leads to an I2C bus running at only 25 kbps. I2C
devices can typically operate faster than this, 50 kbps should be fine
for all devices (and compliant devices can always stretch the clock if
needed.)
FWIW, the vast majority of framebuffer drivers set udelay to 10
already. So set it to 10 in DRM drivers too, this will make EDID block
reads faster. We might even lower the udelay value later if no problem
is reported.
Signed-off-by: Jean Delvare <email address hidden>
Acked-by: Eugeni Dodonov <email address hidden>
Cc: Keith Packard <email address hidden>
Reviewed-by: Alex Deucher <email address hidden>
Signed-off-by: Dave Airlie <email address hidden>
commit 6d75e83ee31c146c8a3d56c762d3e15c483dc40e
Author: Ilija Hadzic <email address hidden>
Date: Tue Jan 31 09:35:25 2012 -0500
drm/radeon/kms: remove benchmarks shorter than one page
copy_blit operation works only on integral number of pages
so benchmarks shorter than one page size (4K) do not make sense
v2: use RADEON_GPU_PAGE_SIZE instead of "magic" 1024 number and
sweep sizes between 1 * <page_size> to 16K * <page_size> doubling
the size in each iteration; we get the same coverage, as
in the original benchmark, but guarantee integer multiples
of page size
v3: add whitespace between '*' operator per review received from
<email address hidden>
Signed-off-by: Ilija Hadzic <email address hidden>
Reviewed-by: Alex Deucher <email address hidden>
Signed-off-by: Dave Airlie <email address hidden>
commit 86a4d69c0ad62ced87a74bbd43f2acefc66a97b0
Author: Ilija Hadzic <email address hidden>
Date: Wed Feb 1 11:42:38 2012 -0500
drm/radeon/kms: common definitions for blit copy code
R600/700 and Evergreen/NI blit code have a few redundant
definitions in respective .c file. Move common definitions
into a separate (new) .h file.
Signed-off-by: Ilija Hadzic <email address hidden>
Signed-off-by: Dave Airlie <email address hidden>
commit a14b1b42477c5ef089fcda88cbaae50d979eb8f9
Author: Mandeep Singh Baines <email address hidden>
Date: Fri Jan 20 12:11:16 2012 -0800
drm: remove master fd restriction on mode setting getters
Its useful to be able to call the mode setting getter ioctls.
Not requiring master fd, enables writing a simple program which
can query the state of the video system.
Since these ioctls are only "getters" there is no security or
synchronization issues which would require master fd. Opening
an new fd is already protected by the file permissions on the
device file.
Signed-off-by: Mandeep Singh Baines <email address hidden>
Cc: Dave Airlie <email address hidden>
Cc: Daniel Vetter <email address hidden>
Cc: Ilija Hadzic <email address hidden>
Cc: Jesse Barnes <email address hidden>
Cc: Stephane Marchesin <email address hidden>
Cc: <email address hidden>
Signed-off-by: Dave Airlie <email address hidden>
commit de67cba65944f26c0f147035bd62e30c5f456b96
Author: Danny Kukawka <email address hidden>
Date: Wed Feb 15 18:53:55 2012 +0100
Revert "drivers/gpu/drm/i915/intel_overlay.c needs seq_file.h"
This reverts commit e167976ee7f5fe4b80f7e8f55e087f6c67cf9562,
Since this was already fixed in commit
3bd3c9329973a93fa3ef5e9840f2fd6fa2889e3f some days before this
commit cause seq_file.h to be included twice.
Signed-off-by: Danny Kukawka <email address hidden>
Signed-off-by: Daniel Vetter <email address hidden>
commit f3cfcba60fcfdce89f9332dc6c31137309d33c8a
Author: Chris Wilson <email address hidden>
Date: Thu Feb 9 09:35:53 2012 +0000
drm/i915/lvds: Always use the presence pin for LVDS on PCH
With the introduction of the PCH, we gained an LVDS presence pin but we
continued to use the existing logic that asserted that LVDS was only
supported on certain mobile chipsets. However, there are desktop
IronLake systems with LVDS attached which we fail to detect. So for PCH,
trust the LVDS presence pin and quirk all the lying manufacturers.
Tested-by: Daniel Woff <email address hidden>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=43171
Signed-off-by: Chris Wilson <email address hidden>
Reviewed-by: Eugeni Dodonov <email address hidden>
Signed-off-by: Daniel Vetter <email address hidden>
commit ee4f42b10bbc404579c2e6f446b24d898592753c
Author: Chris Wilson <email address hidden>
Date: Wed Feb 15 11:25:38 2012 +0000
drm/i915: Record the position of the request upon error
So that we can tally the request against the command sequence in the
ringbuffer, or merely jump to the interesting locations.
Signed-off-by: Chris Wilson <email address hidden>
Signed-off-by: Daniel Vetter <email address hidden>
commit 52d39a21350531063bf8f4f704101bd371ea5d7d
Author: Chris Wilson <email address hidden>
Date: Wed Feb 15 11:25:37 2012 +0000
drm/i915: Record the in-flight requests at the time of a hang
Being able to tally the list of outstanding requests with the sequence
of commands in the ringbuffer is often useful evidence with respect to
driver corruption.
Note that since this is the umpteenth per-ring data structure to be added
to the error state, I've coallesced the nearby loops (the ringbuffer and
batchbuffer) into a single structure along with the list of requests. A
later task would be to refactor the ring register state into the same
structure.
v2: Fix pretty printing of requests so that they are parsed correctly by
intel_error_decode and use the 0x%08x format for seqno for consistency
Signed-off-by: Chris Wilson <email address hidden>
Signed-off-by: Daniel Vetter <email address hidden>
commit a71d8d94525e8fd855c0466fb586ae1cb008f3a2
Author: Chris Wilson <email address hidden>
Date: Wed Feb 15 11:25:36 2012 +0000
drm/i915: Record the tail at each request and use it to estimate the head
By recording the location of every request in the ringbuffer, we know
that in order to retire the request the GPU must have finished reading
it and so the GPU head is now beyond the tail of the request. We can
therefore provide a conservative estimate of where the GPU is reading
from in order to avoid having to read back the ring buffer registers
when polling for space upon starting a new write into the ringbuffer.
A secondary effect is that this allows us to convert
intel_ring_buffer_wait() to use i915_wait_request() and so consolidate
upon the single function to handle the complicated task of waiting upon
the GPU. A necessary precaution is that we need to make that wait
uninterruptible to match the existing conditions as all the callers of
intel_ring_begin() have not been audited to handle ERESTARTSYS
correctly.
By using a conservative estimate for the head, and always processing all
outstanding requests first, we prevent a race condition between using
the estimate and direct reads of I915_RING_HEAD which could result in
the value of the head going backwards, and the tail overflowing once
again. We are also careful to mark any request that we skip over in
order to free space in ring as consumed which provides a
self-consistency check.
Given sufficient abuse, such as a set of unthrottled GPU bound
cairo-traces, avoiding the use of I915_RING_HEAD gives a 10-20% boost on
Sandy Bridge (i5-2520m):
firefox-paintball 18927ms -> 15646ms: 1.21x speedup
firefox-fishtank 12563ms -> 11278ms: 1.11x speedup
which is a mild consolation for the performance those traces achieved from
exploiting the buggy autoreported head.
v2: Add a few more comments and make request->tail a conservative
estimate as suggested by Daniel Vetter.
Signed-off-by: Chris Wilson <email address hidden>
[danvet: resolve conflicts with retirement defering and the lack of
the autoreport head removal (that will go in through -fixes).]
Signed-off-by: Daniel Vetter <email address hidden>
commit 7c26e5c6edaec70f12984f7a3020864cc21e6fec
Author: Paulo Zanoni <email address hidden>
Date: Tue Feb 14 17:07:09 2012 -0200
drm/i915: add missing SDVO bits for interlaced modes on ILK
This was pointed by Jesse Barnes. The code now seems to follow the
specification but I don't have an SDVO device to really test this.
Signed-off-by: Paulo Zanoni <email address hidden>
Reviewed-by: Jesse Barnes <email address hidden>
Signed-off-by: Daniel Vetter <email address hidden>
commit 8a8ed1f5143b3df312e436ab15290e4a7ca6a559
Author: Yufeng Shen <email address hidden>
Date: Mon Feb 13 17:36:54 2012 -0500
drm/i915: Fix race condition in accessing GMBUS
GMBUS has several ports and each has it's own corresponding
I2C adpater. When multiple I2C adapters call gmbus_xfer() at
the same time there is a race condition in using the underlying
GMBUS controller. Fixing this by adding a mutex lock when calling
gmbus_xfer().
v2: Moved gmbus_mutex below intel_gmbus and added comments.
Rebased to drm-intel-next-queued.
Signed-off-by: Yufeng Shen <email address hidden>
[danvet: Shortened the gmbus_mutex comment a bit and add the patch
revision comment to the commit message.]
Signed-off-by: Daniel Vetter <email address hidden>
commit b1d7e4b41fd0f72ea8149056778db5d737739305
Author: Wu Fengguang <email address hidden>
Date: Tue Feb 14 11:45:36 2012 +0800
drm/i915: add a "force-dvi" HDMI audio mode
When HDMI-DVI converter is used, it's not only necessary to turn off
audio, but also to disable HDMI_MODE_SELECT and video infoframe. Since
the DVI mode is mainly tied to audio functionality from end user POV,
add a new "force-dvi" audio mode:
xrandr --output HDMI1 --set audio force-dvi
Note that most users won't need to set this and happily rely on the EDID
based DVI auto detection.
Reported-by: Andrea Arcangeli <email address hidden>
Signed-off-by: Wu Fengguang <email address hidden>
Signed-off-by: Daniel Vetter <email address hidden>
commit 8ac5a6d5b56700c006baa94272b63f2d3fdf6b06
Author: Sean Paul <email address hidden>
Date: Mon Feb 13 13:14:51 2012 -0500
drm/i915: Don't lock panel registers when downclocking
This patch replaces the locking from the downclock routines with an assert
to ensure the registers are indeed unlocked. Without this patch, pre-SNB
devices would lock the registers when downclocking which would cause a
WARNING on suspend/resume with downclocking enabled.
Note: To hit this bug, you need to have lvds downclocking enabled.
Signed-off-by: Sean Paul <email address hidden>
Acked-by: Jesse Barnes <email address hidden>
Signed-off-by: Daniel Vetter <email address hidden>
commit d3ae08109d628d26615d7f7f4d8d53cdd8d71fd0
Author: Daniel Vetter <email address hidden>
Date: Thu Jan 26 11:41:11 2012 +0100
drm/i915: fix up locking inconsistency around gem_do_init
The locking in our setup and teardown paths is rather arbitrary, but
generally we try to protect gem stuff with dev->struct_mutex. Further,
the ums/gem ioctl to setup gem _does_ take the look. So fix up this
benign inconsistency.
Notice while reading through code.
v2: Rebased on top of the ppgtt code.
Reviewed-by: Chris Wilson <email address hidden>
Signed-Off-by: Daniel Vetter <email address hidden>
commit 99ffa1629d737295e569267cf5940758139f9ddb
Author: Daniel Vetter <email address hidden>
Date: Wed Jan 25 14:04:00 2012 +0100
drm/i915: enable forcewake voodoo also for gen6
We still have reports of missed irqs even on Sandybridge with the
HWSTAM workaround in place. Testing by the bug reporter gets rid of
them with the forcewake voodoo and no HWSTAM writes.
Because I've slightly botched the rebasing I've left out the ACTHD
readback which is also required to get IVB working. Seems to still
work on the tester's machine, so I think we should go with the more
minmal approach on SNB. Especially since I've only found weak evidence
for holding forcewake while waiting for an interrupt to arrive, but
none for the ACTHD readback.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=45181
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=45332
Tested-by: Nicolas Kalkhof nkalkhof()at()web.de
Acked-by: Chris Wilson <email address hidden>
Signed-Off-by: Daniel Vetter <email address hidden>
commit 53d227f282eb9fa4c7cdbfd691fa372b7ca8c4c3
Author: Daniel Vetter <email address hidden>
Date: Wed Jan 25 16:32:49 2012 +0100
drm/i915: fixup seqno allocation logic for lazy_request
Currently we reserve seqnos only when we emit the request to the ring
(by bumping dev_priv->next_seqno), but start using it much earlier for
ring->oustanding_lazy_request. When 2 threads compete for the gpu and
run on two different rings (e.g. ddx on blitter vs. compositor)
hilarity ensued, especially when we get constantly interrupted while
reserving buffers.
Breakage seems to have been introduced in
commit 6f392d548658a17600da7faaf8a5df25ee5f01f6
Author: Chris Wilson <email address hidden>
Date: Sat Aug 7 11:01:22 2010 +0100
drm/i915: Use a common seqno for all rings.
This patch fixes up the seqno reservation logic by moving it into
i915_gem_next_request_seqno. The ring->add_request functions now
superflously still return the new seqno through a pointer, that will
be refactored in the next patch.
Note that with this change we now unconditionally allocate a seqno,
even when ->add_request might fail because the rings are full and the
gpu died. But this does not open up a new can of worms because we can
already leave behind an outstanding_request_seqno if e.g. the caller
gets interrupted with a signal while stalling for the gpu in the
eviciton paths. And with the bugfix we only ever have one seqno
allocated per ring (and only that ring), so there are no ordering
issues with multiple outstanding seqnos on the same ring.
v2: Keep i915_gem_get_seqno (but move it to i915_gem.c) to make it
clear that we only have one seqno counter for all rings. Suggested by
Chris Wilson.
v3: As suggested by Chris Wilson use i915_gem_next_request_seqno
instead of ring->oustanding_lazy_request to make the follow-up
refactoring more clearly correct. Also improve the commit message
with issues discussed on irc.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=45181
Tested-by: Nicolas Kalkhof nkalkhof()at()web.de
Reviewed-by: Chris Wilson <email address hidden>
Signed-Off-by: Daniel Vetter <email address hidden>
commit 5391d0cffeb15f457b29b8d3a2fa975aa69a4db6
Author: Daniel Vetter <email address hidden>
Date: Wed Jan 25 14:03:57 2012 +0100
drm/i915: outstanding_lazy_request is a u32
So don't assign it false, that's just confusing ... No functional
change here.
Signed-Off-by: Daniel Vetter <email address hidden>
commit 67a3744f7515edda9888df5b226ec3b358908b42
Author: Ben Widawsky <email address hidden>
Date: Thu Feb 9 10:15:20 2012 +0100
drm/i915: check gtfifodbg after possibly failed writes
If we don't have a sufficient number of free entries in the FIFO, we
proceed to do a write anyway. With this check we should have a clue if
that write actually failed or not.
After some discussion with Daniel Vetter regarding his original
complaint, we agreed upon this.
Reviewed-by: Chris Wilson <email address hidden>
Signed-off-by: Ben Widawsky <email address hidden>
Signed-off-by: Daniel Vetter <email address hidden>
commit ee64cbdbf617067988168a4a49fcaabdd2743da6
Author: Ben Widawsky <email address hidden>
Date: Thu Feb 9 10:15:19 2012 +0100
drm/i915: catch gtfifo errors on forcewake_put
This is similar to a patch I wrote several months ago. It's been updated
for the new FORCEWAKE_MT. As recommended by Chris Wilson, use WARN()
instead of DRM_ERROR, so we can get a backtrace.
This shouldn't impact performance too much as the extra register read
can replace the POSTING_READ we had previously.
Reviewed-by: Chris Wilson <email address hidden>
Signed-off-by: Ben Widawsky <email address hidden>
Signed-off-by: Daniel Vetter <email address hidden>
commit dd202c6dd612beecf87b8b85c2f09b23f77364a2
Author: Ben Widawsky <email address hidden>
Date: Thu Feb 9 10:15:18 2012 +0100
drm/i915: use gtfifodbg
Add register definitions for GTFIFODBG, and clear it during init time to
make sure state is correct.
This register tells us if either a read, or a write occurred while the
fifo was full. It seems like bit 2 is an OR of bit 0 and bit 1, so we
check that as well, but the documents are not quite clear.
Reviewed-by: Chris Wilson <email address hidden>
Reviewed-by (v1): Eugeni Dodonov <email address hidden>
Signed-off-by: Ben Widawsky <email address hidden>
Signed-off-by: Daniel Vetter <email address hidden>
commit 5f7f726d2caf1e51a39872e5a30b6984235d388e
Author: Paulo Zanoni <email address hidden>
Date: Fri Feb 3 17:47:15 2012 -0200
drm/i915: set interlaced bits for TRANSCONF
I'm not sure why they are needed (I didn't notice any difference in my
tests), but these bits are in our documentation and they are also set by
the Windows driver.
Signed-off-by: Paulo Zanoni <email address hidden>
Reviewed-by: Jesse Barnes <email address hidden>
Signed-off-by: Daniel Vetter <email address hidden>
commit 75c13993db592343bda1fd62f2555fea037d56bd
Author: Daniel Vetter <email address hidden>
Date: Sat Jan 28 23:48:46 2012 +0100
drm/i915: fixup overlay checks for interlaced modes
The drm core _really_ likes to frob around with the crtc timings and
put halfed vertical timings (in fields) in there. Which confuses the
overlay code, resulting in it's refusal to display anything at the
lower half of an interlaced pipe.
Tested-by: Christopher Egert <email address hidden>
Reviewed-by: Eugeni Dodonov <email address hidden>
Signed-Off-by: Daniel Vetter <email address hidden>
commit c3febcc438ba0878b164c74310bd77c50dbb0ba8
Author: Peter Ross <email address hidden>
Date: Sat Jan 28 14:49:26 2012 +0100
drm/i915: allow interlaced mode output on the HDMI connector
Signed-off-by: Peter Ross <email address hidden>
Reviewed-by: Eugeni Dodonov <email address hidden>
Reviewed-by: Paulo Zanoni <email address hidden>
Tested-by: Paulo Zanoni <email address hidden>
Tested-by: Christopher Egert <email address hidden>
Tested-by: Alfonso Fiore <email address hidden>
Signed-off-by: Daniel Vetter <email address hidden>
commit 8f4839e21ea9a8f7300daac1fa30bfec514c9a25
Author: Peter Ross <email address hidden>
Date: Sat Jan 28 14:49:25 2012 +0100
drm/i915: allow interlaced mode output on the SDVO connector
Signed-off-by: Peter Ross <email address hidden>
Reviewed-by: Eugeni Dodonov <email address hidden>
Reviewed-by: Paulo Zanoni <email address hidden>
Tested-by: Paulo Zanoni <email address hidden>
Tested-by: Christopher Egert <email address hidden>
Tested-by: Alfonso Fiore <email address hidden>
Signed-off-by: Daniel Vetter <email address hidden>
commit 0529a0d9f0e702fd5215a493b7440be73f5941af
Author: Daniel Vetter <email address hidden>
Date: Sat Jan 28 14:49:24 2012 +0100
drm/i915: correctly program the VSYNCSHIFT register
The hw seems to use this to correctly insert the required delay
before/after an even/odd interlaced field. This might also explain
why we need to substract 1 half-line from vtotal - if the hw just
adds the delay programmend in VSYNCSHIFT the total frame time would be
about that too long.
These registers seems to only exist on gen4 and later. For paranoia
also program it to 0 for progressive modes, but according to
documentation the hw should just ignore it in this case.
Reviewed-by: Paulo Zanoni <email address hidden>
Tested-by: Paulo Zanoni <email address hidden>
Tested-by: Alfonso Fiore <email address hidden>
Signed-Off-by: Daniel Vetter <email address hidden>
commit dbb025757a30cd225c5587685ae0971ecf301718
Author: Daniel Vetter <email address hidden>
Date: Sat Jan 28 14:49:23 2012 +0100
drm/i915: don't allow interlaced pipeconf on gen2
gen2 doesn't support it, so be a bit more paranoid and add a check to
ensure that we never ever set an unsupported interlaced bit.
Ensure that userspace can't set an interlaced mode by resetting
interlace_allowed for the crt on gen2. dvo and lvds are the only other
encoders that gen2 supports and these already disallow interlaced
modes.
Reviewed-by: Eugeni Dodonov <email address hidden>
Reviewed-by: Paulo Zanoni <email address hidden>
Signed-Off-by: Daniel Vetter <email address hidden>
commit 5def474ec6e37fe8dbac5070da4899931d46bf1f
Author: Daniel Vetter <email address hidden>
Date: Sat Jan 28 14:49:22 2012 +0100
drm/i915: fixup interlaced support on ilk+
According to Paulo Zanoni, this is what windows does.
Reviewed-by: Paulo Zanoni <email address hidden>
Tested-by: Paulo Zanoni <email address hidden>
Tested-by: Alfonso Fiore <email address hidden>
Signed-Off-by: Daniel Vetter <email address hidden>
commit 99fca60c76ffbdbf64aa00abf671014f711aea0e
Author: Daniel Vetter <email address hidden>
Date: Sat Jan 28 14:49:21 2012 +0100
drm/i915: fixup interlaced vertical timings confusion, part 2
According to bspec, we need to subtract an additional line from vtotal
for interlaced modes and vblank_end needs to equal vtotal. All other
timing fields do not need this special treatment, so kill it.
Bspec says that this is irrespective of whether the interlaced mode
has an odd or even vtotal, both modes are supported.
Reviewed-by: Eugeni Dodonov <email address hidden>
Reviewed-by: Paulo Zanoni <email address hidden>
Tested-by: Paulo Zanoni <email address hidden>
Tested-by: Christopher Egert <email address hidden>
Tested-by: Alfonso Fiore <email address hidden>
Signed-off-by: Daniel Vetter <email address hidden>
commit ca9bfa7eed20ea34e862804e62aae10eb159edbb
Author: Daniel Vetter <email address hidden>
Date: Sat Jan 28 14:49:20 2012 +0100
drm/i915: fixup interlaced vertical timings confusion, part 1
We have a pretty decent confusion about vertical timings of interlaced
modes. Peter Ross has written a patch that makes interlace modes work
on a lot more platforms/output combinations by doubling the vertical
timings.
The issue with that patch is that core drm _does_ support specifying
whether we want these vertical timings in fields or frames, we just
haven't managed to consistently use this facility. The relavant
function is drm_mode_set_crtcinfo, which fills in the crtc timing
information.
The first thing to note is that the drm core keeps interlaced modes in
frames, but displays modelines in fields. So when the crtc modeset
helper copies over the mode into adjusted_mode it will already contain
vertical timings in half-frames. The result is that the fixup code in
intel_crtc_mode_fixup doesn't actually do anything (in most cases at
least).
Now gen3+ natively supports interlaced modes and wants the vertical
timings in frames. Which is what sdvo already fixes up, at least under
some conditions.
There are a few other place that demand vertical timings in fields
but never actually deal with interlaced modes, so use frame timings
for consistency, too. These are:
- lvds panel,
- dvo encoders - dvo is the only way gen2 could support interlaced
mode, but currently we don't support any encoders that do.
- tv out - despite that the tv dac sends out an interlaced signal it
expects a progressive mode pipe configuration.
All these encoders enforce progressive modes by resetting
interlace_allowed.
Hence we always want crtc vertical timings in frames. Enforce this in
our crtc mode_fixup function and rip out any redudant timing
computations from the encoders' mode_fixup function.
v2-4: Adjust the vertical timings a bit.
v5: Split out the 'subtract-one for interlaced' fixes.
v6: Clarify issues around tv-out and gen2.
Reviewed-by: Eugeni Dodonov <email address hidden>
Reviewed-by: Paulo Zanoni <email address hidden>
Tested-by: Paulo Zanoni <email address hidden>
Tested-by: Christopher Egert <email address hidden>
Tested-by: Alfonso Fiore <email address hidden>
Signed-Off-by: Daniel Vetter <email address hidden>
commit d442ae181ba86085c3add085d5cb4482a8ccca68
Author: Daniel Vetter <email address hidden>
Date: Sat Jan 28 14:49:19 2012 +0100
drm/i915: clean up interlaced pipeconf bit definitions
- Clarify which bits are for which chips.
- Note that gen2 can't do interlaced directly (only via dvo tv chips).
- Move the mask to the top to make it clearer how wide this field is.
- Add defintions for all possible values.
This patch doesn't change any code.
v2: Paulo Zanoni pointed out that the pixel doubling modes do no
longer exist on ivb.
Cc: Peter Ross <email address hidden>
Reviewed-by: Eugeni Dodonov <email address hidden>
Reviewed-by: Paulo Zanoni <email address hidden>
Tested-by: Paulo Zanoni <email address hidden>
Tested-by: Christopher Egert <email address hidden>
Tested-by: Alfonso Fiore <email address hidden>
Signed-off-by: Daniel Vetter <email address hidden>
commit 9edd576d89a5b6d3e136d7dcab654d887c0d25b7
Merge: e21af88 28a4d56
Author: Daniel Vetter <email address hidden>
Date: Fri Feb 10 16:52:55 2012 +0100
Merge remote-tracking branch 'airlied/drm-fixes' into drm-intel-next-queued
Back-merge from drm-fixes into drm-intel-next to sort out two things:
- interlaced support: -fixes contains a bugfix to correctly clear
interlaced configuration bits in case the bios sets up an interlaced
mode and we want to set up the progressive mode (current kernels
don't support interlaced). The actual feature work to support
interlaced depends upon (and conflicts with) this bugfix.
- forcewake voodoo to workaround missed IRQ issues: -fixes only enabled
this for ivybridge, but some recent bug reports indicate that we
need this on Sandybridge, too. But in a slightly different flavour
and with other fixes and reworks on top. Additionally there are some
forcewake cleanup patches heading to -next that would conflict with
currrent -fixes.
Signed-Off-by: Daniel Vetter <email address hidden>
commit e21af88d39796c907c38648c824be3d646ffbe35
Author: Daniel Vetter <email address hidden>
Date: Thu Feb 9 20:53:27 2012 +0100
drm/i915: enable ppgtt
We want to unconditionally enable ppgtt for two reasons:
- Windows uses this on snb and later.
- We need the basic hw support to work before we can think about real
per-process address spaces and other cool features we want.
But Chris Wilson was complaining all over irc and intel-gfx that this
will blow up if we don't have a module option to disable it. Hence add
one, to prevent this.
ppgtt support seems to slightly change the timings and make crashy
things slightly more or less crashy. Now in my testing and the testing
this got on troublesome snb machines, it seems to have improved things
only. But on ivb it makes quite a few crashes happen much more often,
see
https://bugs.freedesktop.org/show_bug.cgi?id=41353
Luckily Eugeni Dodonov seems to have a set of workarounds that fix
this issue.
v2: Don't try to enable ppgtt on pre-snb.
v3: Pimp commit message and make Chris Wilson less grumpy by adding a
module option.
v4: New try at making Chris Wilson happy.
Reviewed-by: Ben Widawsky <email address hidden>
Acked-by: Chris Wilson <email address hidden>
Tested-by: Chris Wilson <email address hidden>
Tested-by: Eugeni Dodonov <email address hidden>
Reviewed-by: Eugeni Dodonov <email address hidden>
Signed-off-by: Daniel Vetter <email address hidden>
commit 3cf17fc522ee081f7cb2ab325e6c697ca12005e4
Author: Daniel Vetter <email address hidden>
Date: Thu Feb 9 17:15:49 2012 +0100
drm/i915: ppgtt debugfs info
This was pretty usefull for debugging, might be useful for diagnosing
issues.
Reviewed-by: Ben Widawsky <email address hidden>
Tested-by: Chris Wilson <email address hidden>
Tested-by: Eugeni Dodonov <email address hidden>
Reviewed-by: Eugeni Dodonov <email address hidden>
Signed-off-by: Daniel Vetter <email address hidden>
commit 5eb719cdbe4723729ff28d6aa1ebd3bf2392d7e3
Author: Daniel Vetter <email address hidden>
Date: Thu Feb 9 17:15:48 2012 +0100
drm/i915: ppgtt register definitions
Split out for easier cross-checking of the boring pieces with bspec.
Reviewed-by: Ben Widawsky <email address hidden>
Tested-by: Chris Wilson <email address hidden>
Tested-by: Eugeni Dodonov <email address hidden>
Reviewed-by: Eugeni Dodonov <email address hidden>
Signed-off-by: Daniel Vetter <email address hidden>
commit 7bddb01fb9697afd5d39bb69dd9f782a28063101
Author: Daniel Vetter <email address hidden>
Date: Thu Feb 9 17:15:47 2012 +0100
drm/i915: ppgtt binding/unbinding support
This adds support to bind/unbind objects and wires it up. Objects are
only put into the ppgtt when necessary, i.e. at execbuf time.
Objects are still unconditionally put into the global gtt.
v2: Kill the quick hack and explicitly pass cache_level to ppgtt_bind
like for the global gtt function. Noticed by Chris Wilson.
Reviewed-by: Ben Widawsky <email address hidden>
Tested-by: Chris Wilson <email address hidden>
Tested-by: Eugeni Dodonov <email address hidden>
Reviewed-by: Eugeni Dodonov <email address hidden>
Signed-off-by: Daniel Vetter <email address hidden>
commit 1d2a314c97ceaf383de8e23cdde46729927d433c
Author: Daniel Vetter <email address hidden>
Date: Thu Feb 9 17:15:46 2012 +0100
drm/i915: initialization/teardown for the aliasing ppgtt
This just adds the setup and teardown code for the ppgtt PDE and the
last-level pagetables, which are fixed for the entire lifetime, at
least for the moment.
v2: Kill the stray debug printk noted by and improve the pte
definitions as suggested by Chris Wilson.
v3: Clean up the aperture stealing code as noted by Ben Widawsky.
v4: Paint the init code in a more pleasing colour as suggest by Chris
Wilson.
v5: Explain the magic numbers noticed by Ben Widawsky.
Reviewed-by: Ben Widawsky <email address hidden>
Tested-by: Chris Wilson <email address hidden>
Tested-by: Eugeni Dodonov <email address hidden>
Reviewed-by: Eugeni Dodonov <email address hidden>
Signed-Off-by: Daniel Vetter <email address hidden>
commit 428ccb21b740f603a6a1f08cbe6d935fb3177620
Author: Daniel Vetter <email address hidden>
Date: Thu Feb 9 17:15:45 2012 +0100
agp/intel-gtt: export the gtt pagetable iomapping
We need this because ppgtt page directory entries need to be in the
global gtt pagetable.
Reviewed-by: Ben Widawsky <email address hidden>
Tested-by: Chris Wilson <email address hidden>
Tested-by: Eugeni Dodonov <email address hidden>
Reviewed-by: Eugeni Dodonov <email address hidden>
Signed-Off-by: Daniel Vetter <email address hidden>
commit 50a4c4a94d24fe13167e3ab1dc1486623369c31a
Author: Daniel Vetter <email address hidden>
Date: Thu Feb 9 17:15:44 2012 +0100
agp/intel-gtt: export the scratch page dma address
To implement a PPGTT for drm/i915 that fully aliases the GTT, we also
need to properly alias the scratch page.
Reviewed-by: Ben Widawsky <email address hidden>
Tested-by: Chris Wilson <email address hidden>
Tested-by: Eugeni Dodonov <email address hidden>
Reviewed-by: Eugeni Dodonov <email address hidden>
Signed-Off-by: Daniel Vetter <email address hidden>
commit 7e3b8737e719c4de7dd79b096b80ece444b2f0ba
Author: Daniel Vetter <email address hidden>
Date: Wed Feb 1 22:26:45 2012 +0100
drm/i915: dump even more into the error_state
Chris Wilson and me have again stared at funny error states and it's
been pretty clear from the start that something was seriously amiss.
The seqnos last seen by the cpu were a few hundred behind those that
the gpu could have possibly emitted last before it died ...
Chris now tracked it down (hopefully, definit verdict's still out),
but in hindsight we'd have found the bug by simply dumping the cpu
side tracking of the ring head and tail registers.
Fix this and prevent an identical time-waster in the future.
Because the hangs always involved semaphores in one way or another,
we've tried to dump the mbox registers, but couldn't find any
inconsistencies. Still, dump them too.
Reviewed-and-wanted-by: Chris Wilson <email address hidden>
Reviewed-by: Eugeni Dodonov <email address hidden>
Signed-Off-by: Daniel Vetter <email address hidden>
commit ff240199b6a3b0bec5ae9b6d26403dad38e8cb19
Author: Daniel Vetter <email address hidden>
Date: Tue Jan 31 21:08:14 2012 +0100
drm/i915: s/DRM_ERROR/DRM_DEBUG in i915_gem_execbuffer.c
These are all user-trigerable, so tune down their loudness a notch.
For some of these we have i-g-t tests (because they prevent
newly-discovered bugs), without this patches running the test suite
leaves behind a dirty dmesg.
Reviewed-by: Chris Wilson <email address hidden>
Signed-Off-by: Daniel Vetter <email address hidden>
commit 3fa7d235440a18855cfdba76d6fc788db99eac28
Author: Daniel Vetter <email address hidden>
Date: Tue Jan 31 16:47:56 2012 +0100
drm/i915: add gen6+ registers to i915_swizzle_info
Reviewed-by: Ben Widawsky <email address hidden>
Signed-Off-by: Daniel Vetter <email address hidden>
commit 11782b0233c06a35776786f30e19dc4168eb5406
Author: Daniel Vetter <email address hidden>
Date: Tue Jan 31 16:47:55 2012 +0100
drm/i915: consolidate swizzling control bit frobbing
On gen5 we also need to correctly set up swizzling in the display
scanout engine, but only there. Consolidate this into the same
function.
This has a small effect on ums setups - the kernel now also sets this
bit in addition to userspace setting it. Given that this code only
runs when userspace either can't (resume, gpu reset) or explicitly
won't(gem_init) touch the hw this shouldn't have an adverse effect.
Reviewed-by: Ben Widawsky <email address hidden>
Signed-Off-by: Daniel Vetter <email address hidden>
commit f691e2f4cec334e906f971471b3bf1460c6256d4
Author: Daniel Vetter <email address hidden>
Date: Thu Feb 2 09:58:12 2012 +0100
drm/i915: swizzling support for snb/ivb
We have to do this manually. Somebody had a Great Idea.
I've measured speed-ups just a few percent above the noise level
(below 5% for the best case), but no slowdows. Chris Wilson measured
quite a bit more (10-20% above the usual snb variance) on a more
recent and better tuned version of sna, but also recorded a few
slow-downs on benchmarks know for uglier amounts of snb-induced
variance.
v2: Incorporate Ben Widawsky's preliminary review comments and
elaborate a bit about the performance impact in the changelog.
v3: Add a comment as to why we don't need to check the 3rd memory
channel.
v4: Fixup whitespace.
Acked-by: Chris Wilson <email address hidden>
Reviewed-by: Ben Widawsky <email address hidden>
Reviewed-by: Eric Anholt <email address hidden>
Signed-Off-by: Daniel Vetter <email address hidden>
commit 172975aa746e155533cb386c7159c2d6510e2bc8
Author: Chris Wilson <email address hidden>
Date: Wed Dec 14 13:57:25 2011 +0100
drm/i915: Handle unmappable buffers during error state capture
As the buffer is not necessarily accessible through the GTT at the time
of a GPU hang, and capturing some of its contents is far more valuable
than skipping it, provide a clflushed fallback read path. We still
prefer to read through the GTT as that is more consistent with the GPU
access of the same buffer. So example it will demonstrate any errorneous
tiling or swizzling of the command buffer as seen by the GPU.
This becomes necessary with use of CPU relocations and lazy GTT binding,
but could potentially happen anyway as a result of a pathological error.
Signed-off-by: Chris Wilson <email address hidden>
Reviewed-by: Daniel Vetter <email address hidden>
Reviewed-by: Eugeni Dodonov <email address hidden>
Signed-off-by: Daniel Vetter <email address hidden>
commit 8461d2267726dddcb9b5d6ae6b32769b38a326cc
Author: Daniel Vetter <email address hidden>
Date: Wed Dec 14 13:57:32 2011 +0100
drm/i915: rewrite shmem_pread_slow to use copy_to_user
Like for shmem_pwrite_slow. The only difference is that because we
read data, we can leave the fetched cachelines in the cpu: In the case
that the object isn't in the cpu read domain anymore, the clflush for
the next cpu read domain invalidation will simply drop these
cachelines.
slow_shmem_bit17_copy is now ununsed, so kill it.
With this patch tests/gem_mmap_gtt now actually works.
v2: add __ to copy_to_user_swizzled as suggested by Chris Wilson.
v3: Fixup the swizzling logic, it swizzled the wrong pages.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=38115
Reviewed-by: Chris Wilson <email address hidden>
Signed-off-by: Daniel Vetter <email address hidden>
commit 8c59967c448af5d77fe5189d0e73f32cd3dbe439
Author: Daniel Vetter <email address hidden>
Date: Wed Dec 14 13:57:31 2011 +0100
drm/i915: rewrite shmem_pwrite_slow to use copy_from_user
... instead of get_user_pages, because that fails on non page-backed
user addresses like e.g. a gtt mapping of a bo.
To get there essentially copy the vfs read path into pagecache. We
can't call that right away because we have to take care of bit17
swizzling. To not deadlock with our own pagefault handler we need
to completely drop struct_mutex, reducing the atomicty-guarantees
of our userspace abi. Implications for racing with other gem ioctl:
- execbuf, pwrite, pread: Due to -EFAULT fallback to slow paths there's
already the risk of the pwrite call not being atomic, no degration.
- read/write access to mmaps: already fully racy, no degration.
- set_tiling: Calling set_tiling while reading/writing is already
pretty much undefined, now it just got a bit worse. set_tiling is
only called by libdrm on unused/new bos, so no problem.
- set_domain: When changing to the gtt domain while copying (without any
read/write access, e.g. for synchronization), we might leave unflushed
data in the cpu caches. The clflush_object at the end of pwrite_slow
takes care of this problem.
- truncating of purgeable objects: the shmem_read_mapping_page call could
reinstate backing storage for truncated objects. The check at the end
of pwrite_slow takes care of this.
v2:
- add missing intel_gtt_chipset_flush
- add __ to copy_from_user_swizzled as suggest by Chris Wilson.
v3: Fixup bit17 swizzling, it swizzled the wrong pages.
Reviewed-by: Chris Wilson <email address hidden>
Signed-off-by: Daniel Vetter <email address hidden>
commit 5c0480f21f9896c443b0e65d779c8e09a695da7b
Author: Daniel Vetter <email address hidden>
Date: Wed Dec 14 13:57:30 2011 +0100
drm/i915: fall through pwrite_gtt_slow to the shmem slow path
The gtt_pwrite slowpath grabs the userspace memory with
get_user_pages. This will not work for non-page backed memory, like a
gtt mmapped gem object. Hence fall throuh to the shmem paths if we hit
-EFAULT in the gtt paths.
Now the shmem paths have exactly the same problem, but this way we
only need to rearrange the code in one write path.
v2: v1 accidentaly falls back to shmem pwrite for phys objects. Fixed.
v3: Make the codeflow around phys_pwrite cleara as suggested by Chris
Wilson.
Reviewed-by: Chris Wilson <email address hidden>
Signed-Off-by: Daniel Vetter <email address hidden>
commit ea16a3cdb9218a2389fafc804356c1914c157654
Author: Daniel Vetter <email address hidden>
Date: Wed Dec 14 13:57:16 2011 +0100
drm/i915: add debugfs file for swizzling information
This will also come handy for the gen6+ swizzling support, where the
driver is supposed to control swizzling depending upon dram
configuration.
v2: CxDRB3 are 16 bit regs! Noticed by Chris Wilson.
Reviewed-by: Chris Wilson <email address hidden>
Signed-Off-by: Daniel Vetter <email address hidden>
commit c9c4b6f6c28354f1df9bd288dc33ba7ae0e66aaa
Author: Daniel Vetter <email address hidden>
Date: Wed Dec 14 13:57:15 2011 +0100
drm/i915: fix swizzle detection for gen3
It looks like the desktop variants of i915 and i945 also have the DCC
register to control dram channel interleave and cpu side bit6
swizzling.
Unfortunately internal Cspec/ConfigDB documentation for these ancient chips
have already been dropped and there seem to be no archives. Also
somebody thought the swizzling behaviour is surely a worthy secret to
keep and redacted any mention of these fields from the published Intel
datasheets.
I suspect the hw engineers were really proud of the page coloring
they've achieved in their first dual channel dram controller with
bit17 - after all Bspec explains in great length the optimal layout of
page frame numbers modulo 4 for the color and depth buffers, too.
Later on when they've started to work on VT-d they shamefully
discoverd their stupidity and tried to cover the tracks ...
Tested-by: Daniel Vetter <email address hidden> (i915g)
Tested-by: Pavel Ondračka <email address hidden> (i945g)
Tested-by: Chris Wilson <email address hidden>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=42625
Signed-Off-by: Daniel Vetter <email address hidden>
commit 068c6ff1cbbfc09eed2b892dd7b0572dd6737785
Author: Chris Wilson <email address hidden>
Date: Sun Jan 29 16:52:05 2012 +0000
drm/i915: Remove the upper limit on the bo size for mapping into the CPU domain
The original intention of comparing the bo against the mappable GTT
limits was to prevent a subsequent faulting of the bo into the GTT from
clearing the entire GTT in vain. However, that was clearly a cut'n'paste
mistake as a CPU mapping never binds the bo into the aperture. Whilst
there may be some merit to limiting the maximum size of the bo to
something that can be utilized by the GPU, that limit itself does not
belong as a safeguard to mmapping the bo, so remove the check entirely.
Signed-off-by: Chris Wilson <email address hidden>
Reviewed-by: Eric Anholt <email address hidden>
Signed-off-by: Daniel Vetter <email address hidden>
commit 33f3f518fbb65d86f163083b74823e8bbe561bfc
Author: Daniel Vetter <email address hidden>
Date: Wed Dec 14 13:57:39 2011 +0100
drm/i915: add per-ring fault reg to error_state
This was pretty handy when figuring out what exactly went wrong with
ppgtt and it might also be useful when we stop filling the entire gart
with scratch page entries.
Also add the gen6+ DONE reg while at it.
v2: Chris Wilson suggested to allocate the error_state with kzalloc
for better paranoia. Also kill existing spurious clears of the
error_state while at it.
Reviewed-by: Ben Widawsky <email address hidden>
Reviewed-by: Eugeni Dodonov <email address hidden>
Signed-Off-by: Daniel Vetter <email address hidden>
commit 4ca4a250ac93d5538a2a5c98ee2bcf9195f38be4
Author: Daniel Vetter <email address hidden>
Date: Wed Dec 14 13:57:27 2011 +0100
drm/i915: reject GTT domain in relocations
This confuses our domain tracking and can (for gtt write domains) lead
to a subsequent oops.
Tested by tests/gem_exec_bad_domains from i-g-t.
Reviewed-by: Eric Anholt <email address hidden>
Reviewed-by: Chris Wilson <email address hidden>
Signed-Off-by: Daniel Vetter <email address hidden>
commit ff865f79764ca43bc601ff5a2499738451fc96dd
Author: Daniel Vetter <email address hidden>
Date: Wed Dec 14 13:57:26 2011 +0100
drm/i915: remove the i915_batchbuffer_info debugfs file
With the error_state facility in place, this has outlived it's
usefulness. It also oopses with the lates llc-reloc patches because
it directly access objects through the gtt without any checks.
Reviewed-by: Chris Wilson <email address hidden>
Reviewed-by: Eugeni Dodonov <email address hidden>
Signed-Off-by: Daniel Vetter <email address hidden>
commit 653d7bed26a0c298dee7d60f6ab4bb442acf8b82
Author: Daniel Vetter <email address hidden>
Date: Wed Dec 14 13:57:21 2011 +0100
drm/i915: capture error_state also for stuck rings
Since quite a while we also the basic output configuration in the
error_state, so it should contain enough information to diagnose
these MI_WAIT hangs.
Reviewed-and-tested-by: Chris Wilson <email address hidden>
Reviewed-by: Eugeni Dodonov <email address hidden>
Signed-Off-by: Daniel Vetter <email address hidden>
commit 6a9c308de0332b873720c629cb88f58d154b4f1d
Author: Daniel Vetter <email address hidden>
Date: Wed Dec 14 13:57:11 2011 +0100
drm/i915: refactor debugfs create functions
All r/w debugfs files are created equal.
v2: Add some newlines to make the code easier on the eyes as requested
by Ben Widawsky.
Reviewed-by: Ben Widawsky <email address hidden>
Reviewed-by: Kenneth Graunke <email address hidden>
Reviewed-by: Eugeni Dodonov <email address hidden>
Signed-Off-by: Daniel Vetter <email address hidden>
commit 08e14e80d0229262063139a95209fa0dc354feaa
Author: Daniel Vetter <email address hidden>
Date: Wed Dec 14 13:57:10 2011 +0100
drm/i915: refactor debugfs open function
Only forcewake has an open with special semantics, the other r/w
debugfs only assign the file private pointer.
Reviewed-by: Ben Widawsky <email address hidden>
Reviewed-by: Kenneth Graunke <email address hidden>
Reviewed-by: Chris Wilson <email address hidden>
Reviewed-by: Eugeni Dodonov <email address hidden>
Signed-Off-by: Daniel Vetter <email address hidden>
commit 39965b376601314ba374b8fa3944f5957d4ff2de
Author: Daniel Vetter <email address hidden>
Date: Wed Dec 14 13:57:09 2011 +0100
drm/i915: don't trash the gtt when running out of fences
With the fence accounting fixed up in the previous commit not finding
enough fences is a fatal error and userspace bug. Trashing the entire
gtt is not gonna turn up that missing fence, so don't to this by
returning another error thatn ENOSPC.
This has the added benefit that it's easier to distinguish fence
accounting errors from gtt space accounting issues.
TTM serves as precendence for the EDEADLK error code - it returns it
when the reservation code needs resources already blocked by the
current reservation.
Reviewed-by: Chris Wilson <email address hidden>
Signed-Off-by: Daniel Vetter <email address hidden>
commit 1690e1eb7a9021826853e181baa48dd77090da28
Author: Chris Wilson <email address hidden>
Date: Wed Dec 14 13:57:08 2011 +0100
drm/i915: Separate fence pin counting from normal bind pin counting
In order to correctly account for reserving space in the GTT and fences
for a batch buffer, we need to independently track whether the fence is
pinned due to a fenced GPU access in the batch or whether the buffer is
pinned in the aperture. Currently we count the fenced as pinned if the
buffer has already been seen in the execbuffer. This leads to a false
accounting of available fence registers, causing frequent mass evictions.
Worse, if coupled with the change to make i915_gem_object_get_fence()
report EDADLK upon fence starvation, the batchbuffer can fail with only
one fence required...
Fixes intel-gpu-tools/tests/gem_fenced_exec_thrash
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=38735
Signed-off-by: Chris Wilson <email address hidden>
Reviewed-by: Daniel Vetter <email address hidden>
Tested-by: Paul Neumann <email address hidden>
[danvet: Resolve the functional conflict with Jesse Barnes sprite
patches, acked by Chris Wilson on irc.]
Signed-off-by: Daniel Vetter <email address hidden>
commit 6a233c78878d8795517d716544d045d5675b3061
Author: Daniel Vetter <email address hidden>
Date: Wed Dec 14 13:57:07 2011 +0100
drm/i915/ringbuffer: kill snb blt workaround
This was just to facilitate product enablement with pre-production hw.
Allows us to kill quite a bit of cruft.
Signed-off-by: Kenneth Graunke <email address hidden>
Reviewed-by: Eric Anholt <email address hidden>
Signed-off-by: Daniel Vetter <email address hidden>
commit c1cd90ed7957d1dd8aa6138468d71003fbc095ce
Author: Daniel Vetter <email address hidden>
Date: Wed Dec 14 13:57:02 2011 +0100
drm/i915: collect more per ring error state
Based on a patch by Ben Widawsky, but with different colors
for the bikeshed.
In contrast to Ben's patch this one doesn't add the fault regs.
Afaics they're for the optional page fault support which
- we're not enabling
- and which seems to be unsupported by the hw team. Recent bspec
lacks tons of information about this that the public docs released
half a year back still contain.
Also dump ring HEAD/TAIL registers - I've recently seen a few
error_state where just guessing these is not good enough.
v2: Also dump INSTPM for every ring.
v3: Fix a few really silly goof-ups spotted by Chris Wilson.
Reviewed-by: Eugeni Dodonov <email address hidden>
Reviewed-by: Chris Wilson <email address hidden>
Signed-off-by: Ben Widawsky <email address hidden>
Signed-off-by: Daniel Vetter <email address hidden>
commit d27b1e0ec2a0a04770b2ebf70a2e01281ef93562
Author: Daniel Vetter <email address hidden>
Date: Wed Dec 14 13:57:01 2011 +0100
drm/i915: refactor ring error state capture to use arrays
The code already got unwieldy and we want to dump more per-ring
registers.
Only functional change is that we now also capture the video
ring registers on ilk.
v2: fixup a refactor fumble spotted by Chris Wilson.
Reviewed-by: Eugeni Dodonov <email address hidden>
Reviewed-by: Chris Wilson <email address hidden>
Signed-off-by: Ben Widawsky <email address hidden>
Signed-off-by: Daniel Vetter <email address hidden>
commit 96154f2faba540281073243d61108d1705d19c6d
Author: Daniel Vetter <email address hidden>
Date: Wed Dec 14 13:57:00 2011 +0100
drm/i915: switch ring->id to be a real id
... and add a helpr function for the places where we want a flag.
This way we can use ring->id to index into arrays.
v2: Resurrect the missing beautification-space Chris Wilson noted.
I'm moving this space around because I'll reuse ring_str in the next
patch.
Reviewed-by: Chris Wilson <email address hidden>
Reviewed-by: Ben Widawsky <email address hidden>
Reviewed-by: Eugeni Dodonov <email address hidden>
Signed-off-by: Daniel Vetter <email address hidden>
commit b6daa025b1e1aebf276508eb2a5a9f730391aa84
Author: Wu Fengguang <email address hidden>
Date: Fri Jan 6 14:41:31 2012 -0600
drm/i915: set AUD_CONFIG N_value_index for DisplayPort
It should be programmed to "0" for HDMI or "1" for DisplayPort.
This enables DisplayPort audio for
- HP EliteBook 8460p
(whose BIOS does not set the N_value_index bit for us)
- DisplayPort monitor hot plugged after boot
(otherwise most BIOS will fill the N_value_index bit for us)
Tested-by: Robert Lemaire <email address hidden>
Reviewed-by: Keith Packard <email address hidden>
Signed-off-by: Wu Fengguang <email address hidden>
Signed-Off-by: Daniel Vetter <email address hidden>
commit 6dc0e816bb7478fd4dfebddcc65257f9ef161f7a
Author: Ben Widawsky <email address hidden>
Date: Mon Jan 23 15:30:02 2012 -0800
drm/i915: correct lock type in destroy
This is only relevant when using module unloading, and really only helps
get rid of a probably benign warning.
I can't remember if I sent this out already, but it's not turning up in
any of my searches.
Signed-off-by: Ben Widawsky <email address hidden>
Reviewed-by: Keith Packard <email address hidden>
Signed-off-by: Daniel Vetter <email address hidden>
commit 8436473a4b10243fd4c3009b97b6646c2ba642f7
Author: Ben Widawsky <email address hidden>
Date: Tue Jan 24 20:36:15 2012 -0800
drm/i915: drm/i915: Fix recursive calls to unmap
After the ILK vt-d workaround patches it became clear that we had
introduced a bug. Chris Wilson tracked down the issue to recursive
calls to unmap. This happens because we try to optimize waiting on
requests by calling retire requests after the wait, which may drop the
last reference on an object and end up freeing the object (and then
unmap the object from the gtt).
After the last patch we can now choose to defer processing the retire
list.
Kudos to Chris Wilson for tracking this one down.
This patch fixes gem_unref_active_buffers from i-g-t. It was tested by
forcing do_idle_maps to true.
This also fixes tests/gem_linear_blits in intel-gpu-tools.
Reported-by: <email address hidden>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=42180
Reviewed-by: Keith Packard <email address hidden>
Signed-off-by: Ben Widawsky <email address hidden>
Signed-off-by: Daniel Vetter <email address hidden>
commit b93f9cf14e714c20ce9a544ed1a6070ee7604588
Author: Ben Widawsky <email address hidden>
Date: Wed Jan 25 15:39:34 2012 -0800
drm/i915: argument to control retiring behavior
Sometimes it may be the case when we idle the gpu or wait on something
we don't actually want to process the retiring list. This patch allows
callers to choose the behavior.
Reviewed-by: Keith Packard <email address hidden>
Reviewed-by: Eugeni Dodonov <email address hidden>
Signed-off-by: Ben Widawsky <email address hidden>
Signed-off-by: Daniel Vetter <email address hidden>
commit fc74d8e01165b567922921d110b6d16320a61fa6
Author: Eric Anholt <email address hidden>
Date: Thu Jan 19 10:50:06 2012 -0800
drm/i915: Correct the bit number for the MI_FLUSH_ENABLE.
Older specs claimed this was bit 11, but newer specs and the actual
simulator code say it was bit 12. Regardless, we don't use MI_FLUSH,
or try to enable it any more.
Signed-off-by: Eric Anholt <email address hidden>
Reviewed-by: Kenneth Graunke <email address hidden>
Reviewed-by: Ben Widawsky <email address hidden>
[danvet: Anyone trying to use this bit, please read all the relevant
discussions, it's epic.]
Signed-off-by: Daniel Vetter <email address hidden>
commit 8d79c3490aecfe6e51f0ba6f9780746fb1434954
Author: Eric Anholt <email address hidden>
Date: Thu Jan 19 10:50:05 2012 -0800
drm/i915: Remove the MI_FLUSH_ENABLE setting.
We have always been using the wrong bit -- it's bit 12. However, the
bit also doesn't do anything -- hardware has always accepted the
MI_FLUSH command even when it was specced not to.
Given that there is only one MI_FLUSH emitted in all of the driver
stack on gen6+ (in i965_video.c of the 2d driver, and it should be
using other code to do its flush instead), just remove the MI_FLUSH
enable instead of trying to fix it.
Signed-off-by: Eric Anholt <email address hidden>
Reviewed-by: Kenneth Graunke <email address hidden>
Reviewed-by: Ben Widawsky <email address hidden>
Signed-off-by: Daniel Vetter <email address hidden>
commit 8e636784b6f76653d358d521af9c2a8c246df38b
Author: Daniel Vetter <email address hidden>
Date: Sun Jan 22 01:36:48 2012 +0100
drm/i915: fixup assert_pipe to take the pipe A quirk into account
This was completely spamming dmesg on my i855gm. This issue was just
shortly introduced with:
commit 931872fceabacf2d4f8b6fbd51611c167e83164c
Author: Chris Wilson <email address hidden>
Date: Mon Jan 16 23:01:13 2012 +0000
drm/i915: Check that plane/pipe is disabled before removing the fb
Reviewed-by: Jesse Barnes <email address hidden>
Signed-Off-by: Daniel Vetter <email address hidden>
commit aca258482ed7c600b5aeed03aa8727d94d8dd07e
Author: Eugeni Dodonov <email address hidden>
Date: Tue Jan 17 15:25:45 2012 -0200
drm/i915: print out which pixel format we do not support
Otherwise, we are left with pretty bogus message saying that the pixel
format is not supported while leaving the details to the telepatic powers.
v2: use DRM_DEBUG_KMS instead of DRM_ERROR
Signed-off-by: Eugeni Dodonov <email address hidden>
Signed-off-by: Daniel Vetter <email address hidden>
commit 47842649ef43ba4b81ac2486df8caa0934e01195
Author: Jesse Barnes <email address hidden>
Date: Mon Jan 16 11:57:54 2012 -0800
drm/i915: properly mask and or watermark values for sprites
Now that we're using the sprite WM fields, we need to take care not to
clobber them in the main update_wm functions. While we're at it, make
sure we mask out the old sprite wm value before or'ing in the new one
when the sprite wm is updated.
Signed-off-by: Jesse Barnes <email address hidden>
Reviewed-by: Keith Packard <email address hidden>
Signed-off-by: Daniel Vetter <email address hidden>
commit c6a32fcbbbc25d7d4e7178aa984e5ef186ee9589
Author: Daniel Vetter <email address hidden>
Date: Fri Jan 20 10:43:44 2012 +0100
drm/i915: clarify gen2 pageflip cmd
I've reviewed gen2 pageflip code to hunt down multiple prepare pageflip
issues. The only thing I've found is a slight but functionally
meaningless confusion about the length of the mi cmd.
Fix it up and add a comment about what this dword should be (according
to docs at least).
Reviewed-by: Eric Anholt <email address hidden>
Signed-Off-by: Daniel Vetter <email address hidden>
commit 3d29b842e58fbca2c13a9f458fddbaa535c6e578
Author: Eugeni Dodonov <email address hidden>
Date: Tue Jan 17 14:43:53 2012 -0200
drm/i915: add a LLC feature flag in device description
LLC is not SNB/IVB-specific, so we should check for it in a more generic
way.
Reviewed-by: Chris Wilson <email address hidden>
Reviewed-by: Eric Anholt <email address hidden>
Reviewed-by: Kenneth Graunke <email address hidden>
Signed-off-by: Eugeni Dodonov <email address hidden>
Signed-off-by: Daniel Vetter <email address hidden>
commit b2c606fe1defd1fb79612b48b528b2568c97def7
Author: Daniel Vetter <email address hidden>
Date: Tue Jan 17 12:50:12 2012 +0100
drm/i915: kill i915_mem.c
Some decent history digging indicates that this was to be used for the
GLX_MESA_allocate_memory extension but never actually implemented for
any released i915 userspace code.
So just rip it out.
v2: Fixup the Makefile.
Acked-by: Dave Airlie <email address hidden>
Cc: Keith Whitwell <email address hidden>
Reviewed-by: Eric Anholt <email address hidden>
Signed-Off-by: Daniel Vetter <email address hidden>
commit 493dea2876df144ec57a6a9efbe55db43c7a729e
Author: Thomas Meyer <email address hidden>
Date: Tue Nov 29 22:08:00 2011 +0100
drm/i915: Use kcalloc instead of kzalloc to allocate array
The advantage of kcalloc is, that will prevent integer overflows which could
result from the multiplication of number of elements and size and it is also
a bit nicer to read.
The semantic patch that makes this change is available
in https://lkml.org/lkml/2011/11/25/107
Signed-off-by: Thomas Meyer <email address hidden>
Signed-off-by: Daniel Vetter <email address hidden>
commit d7e96feab83d29e27d14c60f1fa7c716ef7880cd
Author: Adam Jackson <email address hidden>
Date: Tue Jul 26 15:39:46 2011 -0400
drm/i915/dp: Check for AUXCH error before checking for success
This is paranoid, but I am entirely willing to believe the hardware
could come up with a condition where I get a status with both the 'done'
and 'receive error' bits set.
Signed-off-by: Adam Jackson <email address hidden>
Acked-by: Jesse Barnes <email address hidden>
Signed-off-by: Daniel Vetter <email address hidden>
commit 092945e11c5b84f66dd08f0b87fb729715d377bc
Author: Adam Jackson <email address hidden>
Date: Tue Jul 26 15:39:45 2011 -0400
drm/i915/dp: Use auxch precharge value of 5 everywhere
The default in the Sandybridge docs is 5, as on Ironlake, and I have no
reason to believe 3 would work any better.
Signed-off-by: Adam Jackson <email address hidden>
Acked-by: Jesse Barnes <email address hidden>
Signed-off-by: Daniel Vetter <email address hidden>
commit 6919132e7a307b1f181d7655b3ef64cc7581a5ef
Author: Adam Jackson <email address hidden>
Date: Tue Jul 26 15:39:44 2011 -0400
drm/i915/dp: Tweak auxch clock divider for PCH
Matches the advice in the Sandybridge documentation.
Signed-off-by: Adam Jackson <email address hidden>
Acked-by: Jesse Barnes <email address hidden>
Signed-off-by: Daniel Vetter <email address hidden>
commit 1f182b27d50ae9f5efeb28be5b65302c8a81e711
Author: Adam Jackson <email address hidden>
Date: Fri Oct 7 14:38:46 2011 -0400
drm/i915: Remove a comment about PCH from the non-PCH path
Signed-off-by: Adam Jackson <email address hidden>
Signed-off-by: Daniel Vetter <email address hidden>
commit 23c99e775d14f01ba45a5affd2fb51af4328359c
Author: Adam Jackson <email address hidden>
Date: Fri Oct 7 14:38:43 2011 -0400
drm/i915: Fix assert_pch_hdmi_disabled to mention HDMI (not DP)
Signed-off-by: Adam Jackson <email address hidden>
Signed-off-by: Daniel Vetter <email address hidden>
commit 28c057945ef5d164925db4fccc64207ee58c8681
Author: Adam Jackson <email address hidden>
Date: Fri Oct 7 14:38:42 2011 -0400
drm/i915: Implement plane-disabled assertion for PCH too
Signed-off-by: Adam Jackson <email address hidden>
Signed-off-by: Daniel Vetter <email address hidden>
commit 2aded1b6bb83cabe3ee5763e5c3834e36bf4a61f
Author: Simon Que <email address hidden>
Date: Thu Nov 10 17:50:26 2011 -0800
drivers: i915: Fix BLC PWM register setup
There is an error in i915_read_blc_pwm_ctl, where the register values
are not being copied correctly. BLC_PWM_CTL and BLC_PWM_CTL2 are
getting mixed up. This patch fixes that so that saveBLC_PWM_CTL2 and
not saveBLC_PWM_CTL is copied to the BLC_PWM_CTL2 register.
Signed-off-by: Simon Que <email address hidden>
Signed-off-by: Daniel Vetter <email address hidden>
commit 931872fceabacf2d4f8b6fbd51611c167e83164c
Author: Chris Wilson <email address hidden>
Date: Mon Jan 16 23:01:13 2012 +0000
drm/i915: Check that plane/pipe is disabled before removing the fb
Staring at an error state such as:
PGTBL_ER: 0x00000400
Display B: Invalid tiling
fence[0] = 05001001
valid, x-tiled, pitch: 512, start: 0x05000000, size: 1048576
Pinned [2]:
00000000 131072 0001 0001 00000000 P uncached
00020000 4096000 0041 0000 00000000 P uncached (name: 1)
Plane [1]:
CNTR: c0000000 # enabled | gamma
STRIDE: 00001400
SIZE: 03ff04ff
POS: 00000000
ADDR: 05000000
Suggests that we did not clear the DSPBCNTR prior to unpinning the
framebuffer and reusing the GTT space. Impossible! Unless our DPMS
bookkeeping ran afoul again...
In the meantime add an assertion that the plane is decoupled from the
framebuffer prior to release.
Signed-off-by: Chris Wilson <email address hidden>
Acked-by: Jesse Barnes <email address hidden>
Signed-off-by: Daniel Vetter <email address hidden>
commit f3953dcb98bad1c3badf451bcf41bf83ae2ce542
Author: Eugeni Dodonov <email address hidden>
Date: Mon Nov 28 16:15:17 2011 -0200
drm/i915: fix typo in function name
Fix function name in comments, a left-over from when i965_reset was
renamed to i915_reset.
Signed-off-by: Eugeni Dodonov <email address hidden>
Signed-off-by: Daniel Vetter <email address hidden>
commit a7516a05311d0e2deb8ce8ae8b8c12a513ca8ca2
Author: Jesse Barnes <email address hidden>
Date: Thu Dec 15 12:30:37 2011 -0800
drm/i915: split out pll divider code
This cleans up the mode set path a little further, making it easier to
extend for future platforms.
Signed-off-by: Jesse Barnes <email address hidden>
[danvet: shut up stupid gcc warning about potential use of
un-initlized fp2]
Signed-off-by: Daniel Vetter <email address hidden>
commit c65d77d83ccffc60f8729b2e7806cac2564ee1b1
Author: Jesse Barnes <email address hidden>
Date: Thu Dec 15 12:30:36 2011 -0800
drm/i915: split 9xx refclk & sdvo tv code out
Makes the mode set routine a little cleaner and easier to extend.
Signed-off-by: Jesse Barnes <email address hidden>
Signed-off-by: Daniel Vetter <email address hidden>
commit 6b2d590540d219064a53638f485b75203131dfce
Author: Ben Widawsky <email address hidden>
Date: Wed Jan 4 14:04:33 2012 -0800
agp/intel: Add pci id for hostbridge from has/qemu
This is needed to run the simulator.
Cc: Jesse Barnes <email address hidden>
Signed-off-by: Ben Widawsky <email address hidden>
[danvet: added a comment in case people wonder what it's for.]
Signed-off-by: Daniel Vetter <email address hidden>
commit 5a117db77e47e3946d1aaa7ce8deafafd9d76746
Author: Eugeni Dodonov <email address hidden>
Date: Thu Jan 5 09:34:29 2012 -0200
drm/i915: there is no pipe CxSR on ironlake
After checking the specs and discussing with Jesse, turns out CxSR is not
available on Ironlake and gen5, and its advertisement on the device
description is misleading.
Acked-by: Jesse Barnes <email address hidden>
Signed-off-by: Eugeni Dodonov <email address hidden>
Signed-off-by: Daniel Vetter <email address hidden>
commit cec2f356d59d9e070413e5966a3c5a1af136d948
Author: Sean Paul <email address hidden>
Date: Tue Jan 10 15:09:36 2012 -0800
drm/i915: Only look for matching clocks for LVDS downclock
This patch enforces that the downclock clock source is the same as the preferred
clock source for LVDS. This fixes a bug where the driver chooses a downclock
clock source with a different P than the preferred mode clock source. This
happened even if the preferred clock source implemented an acceptable rate for
the downclock. The result of this bug is that downclock is disabled.
Signed-off-by: Sean Paul <email address hidden>
Reviewed-by: Jesse Barnes <email address hidden>
Signed-off-by: Daniel Vetter <email address hidden>
commit 0b8ecdda1943a05c8e7896f0b5f1addf39269927
Author: Adam Jackson <email address hidden>
Date: Tue Sep 13 14:11:09 2011 -0400
drm/i915: Silence _DSM errors
<@ajax> mjg59: how concerned should i be about [drm:intel_dsm_pci_probe]
*ERROR* failed to get supported _DSM functions ?
<@mjg59> ajax: Entirely unconcerned
Signed-off-by: Adam Jackson <email address hidden>
Acked-by: Jesse Barnes <email address hidden>
Signed-off-by: Daniel Vetter <email address hidden>
commit ff626cc8fffc59cafe7ab49acc55780e4513be47
Merge: 98b4483 cb1ecf2
Author: Sumit Semwal <email address hidden>
Date: Sun Mar 18 15:08:18 2012 +0530
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux into for-next
commit 98b4483c9bebaad5944c7788ef6a60d154e4ef0f
Author: Rob Clark <email address hidden>
Date: Fri Mar 16 11:04:41 2012 -0500
dma-buf: add get_dma_buf()
Works in a similar way to get_file(), and is needed in cases such as
when the exporter needs to also keep a reference to the dmabuf (that
is later released with a dma_buf_put()), and possibly other similar
cases.
Signed-off-by: Rob Clark <email address hidden>
Reviewed-by: Dave Airlie <email address hidden>
Reviewed-by: Kyungmin Park <email address hidden>
Signed-off-by: Sumit Semwal <email address hidden>
commit 3f543446953d92dba5caa271296760399fc9c16b
Author: Dave Airlie <email address hidden>
Date: Fri Mar 16 10:34:02 2012 +0000
dma-buf: pass flags into dma_buf_fd.
We need to pass the flags into dma_buf_fd at this point,
so the flags end up doing the right thing for O_CLOEXEC.
Signed-off-by: Dave Airlie <email address hidden>
Signed-off-by: Rob Clark <email address hidden>
Signed-off-by: Sumit Semwal <email address hidden>
commit ab006e704d13f9db502b62e04d761e28540959e3
Author: Sumit Semwal <email address hidden>
Date: Fri Jan 27 15:09:27 2012 +0530
dma-buf: add dma_data_direction to unmap dma_buf_op
Some exporters may use DMA map/unmap APIs in dma-buf ops, which require
enum dma_data_direction for both map and unmap operations.
Thus, the unmap dma_buf_op also needs to have enum dma_data_direction as
a parameter.
Reported-by: Tomasz Stanislawski <email address hidden>
Signed-off-by: Sumit Semwal <email address hidden>
Reviewed-by: Daniel Vetter <email address hidden>
commit 27f730ae85cf43cbacf4f81103f987db3d5679a2
Author: Laurent Pinchart <email address hidden>
Date: Thu Jan 26 12:27:25 2012 +0100
dma-buf: Move code out of mutex-protected section in dma_buf_attach()
Some fields can be set without mutex protection. Initialize them before
locking the mutex.
Signed-off-by: Laurent Pinchart <email address hidden>
Reviewed-by: Daniel Vetter <email address hidden>
Signed-off-by: Sumit Semwal <email address hidden>
commit 615103add715717a1cc17e237d64dec38e622610
Author: Laurent Pinchart <email address hidden>
Date: Thu Jan 26 12:27:24 2012 +0100
dma-buf: Return error instead of using a goto statement when possible
Remove an error label in dma_buf_attach() that just returns an error
code.
Signed-off-by: Laurent Pinchart <email address hidden>
Reviewed-by: Daniel Vetter <email address hidden>
Signed-off-by: Sumit Semwal <email address hidden>
commit 53448da53090cc686ac2938ee88297c0dd37ee1b
Author: Laurent Pinchart <email address hidden>
Date: Thu Jan 26 12:27:23 2012 +0100
dma-buf: Remove unneeded sanity checks
ops, ops->map_dma_buf and ops->unmap_dma_buf are guaranteed to be
non-NULL by a check in dma_buf_export(). Remove NULL checks on those
variables in the other API functions.
Signed-off-by: Laurent Pinchart <email address hidden>
Reviewed-by: Daniel Vetter <email address hidden>
Signed-off-by: Sumit Semwal <email address hidden>
commit 3eb6701ea04a3525f2f218ecc924cd14fa78b643
Author: Laurent Pinchart <email address hidden>
Date: Thu Jan 26 12:27:22 2012 +0100
dma-buf: Constify ops argument to dma_buf_export()
This allows drivers to make the dma buf operations structure constant.
Signed-off-by: Laurent Pinchart <email address hidden>
Reviewed-by: Daniel Vetter <email address hidden>
Signed-off-by: Sumit Semwal <email address hidden>
commit ae927777447fa62a7195cee1760c6ea35d427382
Merge: 88de86e a8e8195
Author: Andrey Konovalov <email address hidden>
Date: Thu Mar 22 20:34:23 2012 +0400
Merge branch 'tracking-exynos_thermal_framework_V2' into linux-linaro
commit a8e8195749ad1696afb4aa40f749b6ea567a6ed2
Author: Amit Daniel Kachhap <email address hidden>
Date: Sun Mar 18 19:56:32 2012 +0530
ARM: exynos4: Add thermal sensor driver platform device support
This patch adds necessary source definations needed for TMU driver and
the platform device support.
Signed-off-by: Amit Daniel Kachhap <email address hidden>
commit 85135b5f37cee94dadabb864f21f75173c2aff4e
Author: Amit Daniel Kachhap <email address hidden>
Date: Sun Mar 18 19:51:08 2012 +0530
thermal: exynos4: Register the tmu sensor with the kernel thermal layer
This code added creates a link between temperature sensors, linux thermal
framework and cooling devices for samsung exynos platform. This layer
monitors the temperature from the sensor and informs the generic thermal
layer to take the necessary cooling action.
Signed-off-by: Amit Daniel Kachhap <email address hidden>
commit c910e9790b8e9a3ec62c5f7b197c50cdf1956d4f
Author: Amit Daniel Kachhap <email address hidden>
Date: Thu Mar 15 11:37:19 2012 +0530
hwmon: exynos4: Move thermal sensor driver to driver/thermal directory
This movement is needed because the hwmon entries and corresponding
sysfs interface is a duplicate of utilities already provided by
driver/thermal/thermal_sys.c. The goal is to place it in thermal folder
and add necessary functions to use the in-kernel thermal interfaces.
Signed-off-by: Amit Daniel Kachhap <email address hidden>
Signed-off-by: Donggeun Kim <email address hidden>
commit b00ba63608caa947a0c01a2fbd0bc8a452458c03
Author: Amit Daniel Kachhap <email address hidden>
Date: Sun Mar 18 18:05:10 2012 +0530
thermal: Add generic cpuhotplug cooling implementation
This patch adds support for generic cpu thermal cooling low level
implementations using cpuhotplug based on the thermal level requested
from user. Different cpu related cooling devices can be registered by the
user and the binding of these cooling devices to the corresponding
trip points can be easily done as the registration APIs return the
cooling device pointer. The user of these APIs are responsible for
passing the cpumask.
Signed-off-by: Amit Daniel Kachhap <email address hidden>
commit 0457845da7dfe2125aa8795ae4e9aad83a6277e8
Author: Amit Daniel Kachhap <email address hidden>
Date: Sun Mar 18 18:10:15 2012 +0530
thermal: Add generic cpufreq cooling implementation
This patch adds support for generic cpu thermal cooling low level
implementations using frequency scaling up/down based on the registration
parameters. Different cpu related cooling devices can be registered by the
user and the binding of these cooling devices to the corresponding
trip points can be easily done as the registration APIs return the
cooling device pointer. The user of these APIs are responsible for
passing clipping frequency . The drivers can also register to recieve
notification about any cooling action called. Even the driver can effect
the cooling action by modifying the default data such as freq_clip_max if
needed.
Signed-off-by: Amit Daniel Kachhap <email address hidden>
commit a9bec4490a2b08fefb39e3967f5b6df2772e2a3e
Author: Amit Daniel Kachhap <email address hidden>
Date: Sun Mar 18 16:48:12 2012 +0530
thermal: Add a new trip type to use cooling device instance number
This patch adds a new trip type THERMAL_TRIP_STATE_INSTANCE. This
trip behaves same as THERMAL_TRIP_ACTIVE but also passes the cooling
device instance number. This helps the cooling device registered as
different instances to perform appropriate cooling action decision in
the set_cur_state call back function.
Also since the trip temperature's are in ascending order so some logic
is put in place to skip the un-necessary checks.
Signed-off-by: Amit Daniel Kachhap <email address hidden>
commit 88de86ec98bce1c4269cbd8f130c02f65dbe7edc
Merge: 8dc7cdf b6e497d
Author: Andrey Konovalov <email address hidden>
Date: Thu Mar 22 20:34:22 2012 +0400
Merge branch 'tracking-emmc' into linux-linaro
commit b6e497deb81d56183288936e6e95d3e46319ee9b
Author: Saugata Das <email address hidden>
Date: Wed Dec 21 13:09:17 2011 +0530
mmc: MMC-4.5 Data Tag Support
MMC-4.5 data tag feature will be used to store the file system meta-data
in the tagged region of eMMC. This will improve the write and subsequent
read transfer time for the meta data.
Signed-off-by: Saugata Das <email address hidden>
Tested-by: Venkatraman S <email address hidden>
Signed-off-by: Chris Ball <email address hidden>
commit d9078fb59c20dff158a1a8a99ce961245c33817e
Author: Saugata Das <email address hidden>
Date: Fri Mar 2 18:15:09 2012 +0530
REQ_META set during meta data write
Today, storage devices like eMMC has special features like data tagging
(introduced in MMC-4.5 version) in order to improve performance of some
specific writes. On MMC stack, data tagging is used for all writes which has
REQ_META flag set. On EXT4, however, currently REQ_META is set only for read.
This patch adds the capability to add REQ_META flag during meta data write.
This patch adds new function set_buffer_meta, which is used to set a bit
BH_Meta in the b_state field when meta data and super block is made dirty.
Signed-off-by: Saugata Das <email address hidden>
Acked-by: Arnd Bergmann <email address hidden>
Changelog v2:
- Removed check for WRITE when setting REQ_META in submit_bh
Changelog v1:
- Introduction of REQ_META during write
commit 8dc7cdf843817de6af2839df284b2aa11f26102b
Merge: d1ea0e9 20362d5
Author: Andrey Konovalov <email address hidden>
Date: Thu Mar 22 20:34:21 2012 +0400
Merge branch 'tracking-ufs' into linux-linaro
commit 20362d5791fc0c0d3138b20f8ef8ed58e9c60b8d
Author: Santosh Yaraganavi <email address hidden>
Date: Wed Feb 29 12:11:54 2012 +0530
Documentation: UFS Host Controller Driver
The document provides Universal Flash Storage(UFS) and
UFS host controller driver overview.
Signed-off-by: Santosh Yaraganavi <email address hidden>
Reviewed-by: Vishak G <email address hidden>
Reviewed-by: Namjae Jeon <email address hidden>
commit 01667557f6b0e3aafcc88917388bf3aea1dae161
Author: Santosh Yaraganavi <email address hidden>
Date: Wed Feb 29 12:11:53 2012 +0530
ufshcd: SCSI error handling
UFSHCD SCSI error handling includes following implementations,
- Abort task
- Device reset
- Host reset
Signed-off-by: Santosh Yaraganavi <email address hidden>
Signed-off-by: Vinayak Holikatti <email address hidden>
Reviewed-by: Arnd Bergmann <email address hidden>
Reviewed-by: Vishak G <email address hidden>
Reviewed-by: Girish K S <email address hidden>
Reviewed-by: Namjae Jeon <email address hidden>
commit 6dbda8b398b21bfb81035378e5ed66013d14f848
Author: Santosh Yaraganavi <email address hidden>
Date: Wed Feb 29 12:11:52 2012 +0530
ufshcd: UFSHCI error handling
UFSHCI error handling includes support for:
- UFS host controller errors
- System bus errors
- Unipro errors
Signed-off-by: Santosh Yaraganavi <email address hidden>
Signed-off-by: Vinayak Holikatti <email address hidden>
Reviewed-by: Arnd Bergmann <email address hidden>
Reviewed-by: Vishak G <email address hidden>
Reviewed-by: Girish K S <email address hidden>
Reviewed-by: Namjae Jeon <email address hidden>
commit e97660f2cbb2f0e8604b5ff3530a52ffadc4c6e0
Author: Santosh Yaraganavi <email address hidden>
Date: Wed Feb 29 12:11:51 2012 +0530
ufshcd: UFS UTP Transfer requests handling
This patch adds support for Transfer request handling.
ufshcd includes following implementations:
- SCSI queuecommand
- Compose UPIU(UFS Protocol information unit)
- Issue commands to UFS host controller
- Handle completed commands
Signed-off-by: Santosh Yaraganavi <email address hidden>
Signed-off-by: Vinayak Holikatti <email address hidden>
Reviewed-by: Arnd Bergmann <email address hidden>
Reviewed-by: Vishak G <email address hidden>
Reviewed-by: Girish K S <email address hidden>
Reviewed-by: Namjae Jeon <email address hidden>
commit 9ce11cbad1b4feea387a6db2000d1ca30665bffe
Author: Santosh Yaraganavi <email address hidden>
Date: Wed Feb 29 12:11:50 2012 +0530
ufshcd: UFS Host controller driver
This patch adds support for Universal Flash Storage(UFS)
host controllers. The UFS host controller driver
includes host controller initialization method.
The Initialization process involves following steps:
- Initiate UFS Host Controller initialization process by writing
to Host controller enable register
- Configure UFS Host controller registers with host memory space
datastructure offsets.
- Unipro link startup procedure
- Check for connected device
- Configure UFS host controller to process requests
- Enable required interrupts
- Configure interrupt aggregation
Signed-off-by: Santosh Yaraganavi <email address hidden>
Signed-off-by: Vinayak Holikatti <email address hidden>
Reviewed-by: Arnd Bergmann <email address hidden>
Reviewed-by: Vishak G <email address hidden>
Reviewed-by: Girish K S <email address hidden>
Reviewed-by: Namjae Jeon <email address hidden>
commit d1ea0e9ebe0d8c1a6d6b64db0b1fb03a609cb17b
Merge: 3676d8b 85141dd
Author: Andrey Konovalov <email address hidden>
Date: Thu Mar 22 20:34:20 2012 +0400
Merge branch 'tracking-linaro_cpuidle' into linux-linaro
commit 85141dd3025c5c41d921220ddac6fdb8e2393040
Author: Daniel Lezcano <email address hidden>
Date: Tue Mar 20 00:16:40 2012 +0100
disable the cpuidle for the db5500 board
As the different prcmu routines are not supporting the db5500
board and will return EINVAL, it is pointless to use the other
states than WFI.
Signed-off-by: Daniel Lezcano <email address hidden>
commit 6f67c47532b20be74f2201589a98ceec2209ea09
Author: Daniel Lezcano <email address hidden>
Date: Tue Mar 20 00:16:39 2012 +0100
ux500 : add cpuidle for WFI and ARM retention
This patch adds the cpuidle driver for the ux500 SoC.
The boards saves 12mA with these states. It is based on the latest
cpuidle consolidation from Robert Lee.
The cpu can go to retention only if the other core is in WFI.
If the other cpu is in WFI and we decoupled the gic from the cores,
then we have the guarantee, it won't be wake up.
It is up to the prcmu firmware to recouple the gic automatically
after the power state mode is selected.
Signed-off-by: Daniel Lezcano <email address hidden>
commit 569aa60b8a69618517202fb3490c08e716327395
Author: Daniel Lezcano <email address hidden>
Date: Tue Mar 20 00:16:38 2012 +0100
fix compilation error with CONFIG_DB550 and CONFIG_CPU_IDLE
* db5500_prcmu_set_power_state
* db5500_prcmu_enable_wakeups
are called from prcmu_set_power_state and prcmu_enable_wakeups but
they are not defined.
When applying the cpuidle patch, the code invokes both functions
and that leads to an undefined functions compilation error.
So let's do like the other functions and return EINVAL.
Signed-off-by: Daniel Lezcano <email address hidden>
commit 5587dae019fae5ed313599954895a330a2f58457
Author: Daniel Lezcano <email address hidden>
Date: Tue Mar 20 00:16:37 2012 +0100
fix prcmu routine backport from mfd-2.6
The mfd-2.6 kernel tree use the cpu_is_u5500 function
while this version use machine_is_u5500.
An error was introduced by backporting prcmu_is_cpu_in_wfi function
from the mfd-2.6 kernel tree.
Signed-off-by: Daniel Lezcano <email address hidden>
commit 3e4e9a48c8057d76bc5d45a2337c0406c2a77b90
Author: Daniel Lezcano <email address hidden>
Date: Mon Mar 19 20:15:53 2012 -0500
mfd : ux500 - check if the other core is in WFI
This patch allows to check if the other core is in WFI
mode. It is the last check the idle routine has to do before
entering into the retention state.
Signed-off-by: Daniel Lezcano <email address hidden>
commit c20703f92b21c9c77caa9beffc2506a31ba3db10
Author: Daniel Lezcano <email address hidden>
Date: Mon Mar 19 20:15:53 2012 -0500
mfd : ux500 - check pending irq on the prcmu
Signed-off-by: Daniel Lezcano <email address hidden>
commit e2e23afdc93d569c9bb9947c6794098920dc02a0
Author: Daniel Lezcano <email address hidden>
Date: Mon Mar 19 20:15:53 2012 -0500
mfd : ux500 - copy gic settings
Signed-off-by: Daniel Lezcano <email address hidden>
commit 01d9ee53ab2c4f6088ac8a2661f5ce5977e57d10
Author: Daniel Lezcano <email address hidden>
Date: Mon Mar 19 20:15:52 2012 -0500
mfd : ux500 : check pending irq on gic
Signed-off-by: Daniel Lezcano <email address hidden>
commit 324ae6098c81213ab7de035dcd0cbabf29029b1f
Author: Daniel Lezcano <email address hidden>
Date: Mon Mar 19 20:15:52 2012 -0500
mfd : ux500 - fix redefined includes
Signed-off-by: Daniel Lezcano <email address hidden>
commit f3197067dc7d046a6540bf7890d965958d0f2ae9
Author: Daniel Lezcano <email address hidden>
Date: Mon Mar 19 20:15:52 2012 -0500
mfd : ux500 - decouple/recouple gic from the PRCMU
This patch allows to decouple and recouple the gic from the PRCMU.
This is needed to put the A9 core in retention mode with the cpuidle
driver.
Signed-off-by: Daniel Lezcano <email address hidden>
commit bd19e7dbf88fcec83c81f8042047a284e6f90566
Author: Robert Lee <email address hidden>
Date: Mon Mar 19 20:15:52 2012 -0500
ARM: exynos: Consolidate time keeping and irq enable
Enable core cpuidle timekeeping and irq enabling and remove that
handling from this code.
Signed-off-by: Robert Lee <email address hidden>
commit dabc71e521bc8be46926a9eafcb7bd9453f44152
Author: Robert Lee <email address hidden>
Date: Mon Mar 19 20:15:52 2012 -0500
ARM: imx: Add imx6q cpuidle driver
Add basic imx6q cpuidle driver. For now, only basic WFI state is
supported. Deeper idle will be added in the future.
Signed-off-by: Robert Lee <email address hidden>
commit 1dfe2d069e719d7714389454cab4599aafe41dbc
Author: Robert Lee <email address hidden>
Date: Mon Mar 19 20:15:51 2012 -0500
ARM: imx: Add imx5 cpuidle driver
Add imx5 cpuidle driver.
Signed-off-by: Robert Lee <email address hidden>
commit d030a8b5e4c9d696bf5410300504f278773e01b0
Author: Robert Lee <email address hidden>
Date: Mon Mar 19 20:15:51 2012 -0500
ARM: imx: Add common imx cpuidle init functionality.
Add common cpuidle init functionality that can be used by various
imx platforms.
Signed-off-by: Robert Lee <email address hidden>
commit b53662cb0a3b150f301a7e5e233cc8de1f892645
Author: Robert Lee <email address hidden>
Date: Mon Mar 19 20:15:51 2012 -0500
cpuidle: Add common time keeping and irq enabling
Make necessary changes to implement time keeping and irq enabling
in the core cpuidle code. This will allow the removal of these
functionalities from various platform cpuidle implementations whose
timekeeping and irq enabling follows the form in this common code.
Signed-off-by: Robert Lee <email address hidden>
Tested-by: Jean Pihet<email address hidden>
Tested-by: Amit Daniel<email address hidden>
Tested-by: Robert Lee<email address hidden>
Reviewed-by: Kevin Hilman <email address hidden>
Reviewed-by: Daniel Lezcano <email address hidden>
Reviewed-by: Deepthi Dharwar<email address hidden>
Acked-by: Jean Pihet<email address hidden>
commit 10491ab20450c7548b6e590a7aba2260c40661c7
Author: Amit Daniel Kachhap <email address hidden>
Date: Mon Mar 19 20:15:51 2012 -0500
ARM: EXYNOS: Enable l2 configuration through device tree
This patch enables calling generic l2 setup functions if device tree is used.
Signed-off-by: Amit Daniel Kachhap <email address hidden>
Signed-off-by: Kukjin Kim <email address hidden>
commit 8005472caf15d54415f6715223167e1474381afa
Author: Amit Daniel Kachhap <email address hidden>
Date: Mon Mar 19 20:15:51 2012 -0500
ARM: EXYNOS: remove useless code to save/restore L2
Following the merge of CPU PM notifiers and L2 resume code, this patch
removes useless code to save and restore L2 registers.
This is now automatically covered by suspend calls which integrated
CPU PM notifiers and new sleep code that allows to resume L2 before MMU
is turned on.
Signed-off-by: Lorenzo Pieralisi <email address hidden>
Signed-off-by: Amit Daniel Kachhap <email address hidden>
Signed-off-by: Kukjin Kim <email address hidden>
commit 0f34107d88b8c07ee70331ef4f20d36c6a720dc2
Author: Amit Daniel Kachhap <email address hidden>
Date: Mon Mar 19 20:15:50 2012 -0500
ARM: EXYNOS: save L2 settings during bootup
This patch adds code to save L2 register configuration at boot, and
later used to resume L2 before MMU is enabled in suspend and cpuidle
resume paths.
Signed-off-by: Lorenzo Pieralisi <email address hidden>
Signed-off-by: Amit Daniel Kachhap <email address hidden>
Signed-off-by: Kukjin Kim <email address hidden>
commit ad393c1fd8e28dcbba6d29f0eea2b4a261c4696c
Author: Amit Daniel Kachhap <email address hidden>
Date: Mon Mar 19 20:15:50 2012 -0500
ARM: S5P: add L2 early resume code
This patch adds code to resume L2 before MMU is enabled in
suspend and cpuidle resume paths. s3c_cpu_resume is moved to the
data section with appropriate comments.
Signed-off-by: Lorenzo Pieralisi <email address hidden>
Signed-off-by: Amit Daniel Kachhap <email address hidden>
Signed-off-by: Kukjin Kim <email address hidden>
commit 4d75833447deecd29d73eaca82ecb7838d49f558
Author: Amit Daniel Kachhap <email address hidden>
Date: Mon Mar 19 20:15:50 2012 -0500
ARM: EXYNOS: Add support AFTR mode on EXYNOS4210
This patch adds support AFTR(ARM OFF TOP RUNNING) mode in
cpuidle driver. L2 cache keeps their data in this mode.
This patch ports the code to the latest interfaces to
save/restore CPU state inclusive of CPU PM notifiers, l2
resume and cpu_suspend/resume.
Signed-off-by: Jaecheol Lee <email address hidden>
Signed-off-by: Lorenzo Pieralisi <email address hidden>
Signed-off-by: Amit Daniel Kachhap <email address hidden>
[<email address hidden>: fixed for non-smp as per Tushar's pointing out]
Signed-off-by: Kukjin Kim <email address hidden>
commit 3676d8bb4d4d2ce8bb32d7c3ead59d1758431fce
Merge: 4695ea3 648ec27
Author: Andrey Konovalov <email address hidden>
Date: Thu Mar 22 20:34:19 2012 +0400
Merge branch 'tracking-armlt-gator' into linux-linaro
commit 648ec275cc53a16f7ae503314bfd4fd9bd525dd0
Author: Jon Medhurst <email address hidden>
Date: Fri Mar 16 17:52:01 2012 +0000
gator/driver: Add config for building the module in-tree
Signed-off-by: Jon Medhurst <email address hidden>
commit 587f10a737e32807821b8bd438853f0c215cf0e5
Author: Jon Medhurst <email address hidden>
Date: Fri Mar 16 17:49:42 2012 +0000
gator/driver: Makefile fixes for building in-tree
Signed-off-by: Jon Medhurst <email address hidden>
commit 3f6e6ef41f2946737532eaf5fcc9b03320649a49
Author: Jon Medhurst <email address hidden>
Date: Fri Mar 16 17:48:46 2012 +0000
gator/driver: Makefile fix for output path of generated file gator_events.h
Signed-off-by: Jon Medhurst <email address hidden>
commit 7cad876d059cd1b86990b799850f9596ad68c8fb
Author: Wade Cherry <email address hidden>
Date: Mon Mar 5 09:22:16 2012 +0000
gator/driver: Fix build failure on Linux 3.3
Some meminfo tracepoint APIs were renamed in commit b413d48a
(mm-tracepoint: rename page-free events)
Signed-off-by: Wade Cherry <email address hidden>
Signed-off-by: Jon Medhurst <email address hidden>
commit 18f88ad877a9d3c8bc21ceb0b565e6a32a7a07cc
Author: Jon Medhurst <email address hidden>
Date: Fri Mar 16 17:36:42 2012 +0000
gator/driver: Version 5.9
Signed-off-by: Jon Medhurst <email address hidden>
commit 1acaa28b2098f7e2aa8eca492c569e894e1a4b79
Author: Wade Cherry <email address hidden>
Date: Thu Feb 23 09:56:29 2012 +0000
gator/daemon: Fix counters initialisation
In certain circumstances counter were not enabled correctly. Fixed.
Signed-off-by: Wade Cherry <email address hidden>
Signed-off-by: Pawel Moll <email address hidden>
Signed-off-by: Jon Medhurst <email address hidden>
commit 685fec4d4f4fb6bca850be6659e795e8368ce613
Author: Jon Medhurst <email address hidden>
Date: Sat Mar 17 10:25:47 2012 +0000
gator/daemon: Version 5.9
Signed-off-by: Jon Medhurst <email address hidden>
commit 4695ea361dd18108684d875c337e768d5371f869
Merge: e854823 e7cc3ac
Author: Andrey Konovalov <email address hidden>
Date: Thu Mar 22 20:34:18 2012 +0400
Merge branch 'tracking-gcl-irqdomain-next' into linux-linaro
commit e7cc3aca0f6a36b018934264ee20bee45dc13e29
Author: Grant Likely <email address hidden>
Date: Fri Mar 2 21:05:31 2012 -0700
dt: fix twl4030 for non-dt compile on x86
twl4030 still doesn't build correctly for x86 allmodconfig. This
fix solves the missing symbol errors.
Signed-off-by: Grant Likely <email address hidden>
Acked-by: Benoit Cousson <email address hidden>
commit 280ad7fda5f95211857fda38960f2b6fdf6edd3e
Author: Grant Likely <email address hidden>
Date: Fri Feb 24 14:58:54 2012 -0700
mfd: twl-core: Add IRQ_DOMAIN dependency
TWL4030 depends on IRQ_DOMAIN support, so this patch selects it in Kconfig.
It used to be that CONFIG_IRQ_DOMAIN must only be selected by the architecture,
but recent cleanups have fixed it so that it is safe to select from anywhere.
Signed-off-by: Benoit Cousson <email address hidden>
[grant.likely: Changed from a depends to a select]
Signed-off-by: Grant Likely <email address hidden>
Cc: Samuel Ortiz <email address hidden>
commit 964dba283439a4db50dae61d3afe6e438b7fc30f
Author: Grant Likely <email address hidden>
Date: Fri Feb 24 14:58:34 2012 -0700
devicetree: Add empty of_platform_populate() for !CONFIG_OF_ADDRESS (sparc)
Sparc has its own helpers for translating address ranges when the device
tree is parsed at boot time, and it isn't able to use of_platform_populate().
However, there are some device drivers that want to use that function on
other DT enabled platforms (ie. TWL4030). This patch adds an empty
of_platform_populate() implementation that returns an error when
CONFIG_OF_ADDRESS is not selected.
Signed-off-by: Grant Likely <email address hidden>
Cc: Benoit Cousson <email address hidden>
Cc: Samuel Ortiz <email address hidden>
commit d593f25ff263b1a7752b7380f8b7d57809206c40
Author: Grant Likely <email address hidden>
Date: Fri Feb 24 08:24:17 2012 -0700
irq_domain: Centralize definition of irq_dispose_mapping()
Several architectures define their own empty irq_dispose_mapping(). Since
the irq_domain code is centralized now, there is little need to do so. This
patch removes them and creates a new empty copy when !CONFIG_IRQ_DOMAIN is
selected.
The patch also means that IRQ_DOMAIN becomes selectable on all architectures.
Signed-off-by: Grant Likely <email address hidden>
Cc: Rob Herring <email address hidden>
Cc: "David S. Miller" <email address hidden>
Cc: Jonas Bonn <email address hidden>
Cc: <email address hidden>
Cc: <email address hidden>
commit abd2363f6a5f1030b935e0bdc15cf917313b3b10
Author: Grant Likely <email address hidden>
Date: Fri Feb 24 08:07:06 2012 -0700
irq_domain/mips: Allow irq_domain on MIPS
This patch makes IRQ_DOMAIN usable on MIPS. It uses an ugly workaround
to preserve current behaviour so that MIPS has time to add irq_domain
registration to the irq controller drivers. The workaround will be
removed in Linux v3.6
Signed-off-by: Grant Likely <email address hidden>
Cc: Ralf Baechle <email address hidden>
Cc: Rob Herring <email address hidden>
Cc: Thomas Gleixner <email address hidden>
Cc: <email address hidden>
commit b4e518547da042fdc65bd4bdafd046fed13337d5
Author: Grant Likely <email address hidden>
Date: Fri Dec 16 15:50:17 2011 -0700
irq_domain/x86: Convert x86 (embedded) to use common irq_domain
This patch removes the x86-specific definition of irq_domain and replaces
it with the common implementation.
Signed-off-by: Grant Likely <email address hidden>
Acked-by: Sebastian Andrzej Siewior <email address hidden>
Cc: Rob Herring <email address hidden>
Cc: Thomas Gleixner <email address hidden>
commit 6d166fec12967063e0e709a935bba8c48fcde99e
Author: Paul Gortmaker <email address hidden>
Date: Wed Feb 22 18:35:03 2012 -0500
ppc-6xx: fix build failure in flipper-pic.c and hlwd-pic.c
The commit bae1d8f19983fbfa25559aa3cb6a81a84aa82a18 (linux-next)
"irq_domain/powerpc: Use common irq_domain structure instead of irq_host"
made this change:
-static struct irq_host *flipper_irq_host;
+static struct irq_domain *flipper_irq_host;
and this change:
-static struct irq_host *hlwd_irq_host;
+static struct irq_domain *hlwd_irq_host;
The intent was to change the type, and not the name, but then in a
couple of instances, it looks like the sed to change the irq_domain_ops
name inadvertently also changed the irq_host name where it was not
supposed to, causing build failures.
Signed-off-by: Paul Gortmaker <email address hidden>
Signed-off-by: Grant Likely <email address hidden>
commit 2462bacd0334d918f9fcd79fc59c403b76b36f8a
Author: Grant Likely <email address hidden>
Date: Thu Jan 26 14:10:13 2012 -0700
irq_domain/microblaze: Convert microblaze to use irq_domains
This patch converts Microblaze to use the irq_domain remapper and get
away from hard coding the offset between hwirq number and the linux irq
number space. This also paves the way for multiple interrupt controllers.
v2: Don't enable SPARSE_IRQ and keep NR_IRQS set to 33
Signed-off-by: Grant Likely <email address hidden>
Signed-off-by: Michal Simek <email address hidden>
Cc: Rob Herring <email address hidden>
Cc: John Williams <email address hidden>
Cc: John Linn <email address hidden>
commit ff8c3ab8161d0df52858966e0347e05791da40df
Author: Grant Likely <email address hidden>
Date: Tue Jan 24 17:09:13 2012 -0700
irq_domain/powerpc: Replace custom xlate functions with library functions
This patch converts a number of the powerpc drivers to use the common library
of irq_domain xlate functions, dropping a bunch of lines in the process.
v5: - Remove tsi108 changes from patch
Signed-off-by: Grant Likely <email address hidden>
Cc: Rob Herring <email address hidden>
Cc: Benjamin Herrenschmidt <email address hidden>
Cc: Thomas Gleixner <email address hidden>
Cc: Milton Miller <email address hidden>
Tested-by: Olof Johansson <email address hidden>
commit 9f70b8eb3cd37c6ef3371f972db799250e3eb86e
Author: Grant Likely <email address hidden>
Date: Thu Jan 26 12:24:34 2012 -0700
irq_domain/powerpc: constify irq_domain_ops
Make all the irq_domain_ops structures in powerpc 'static const'
Signed-off-by: Grant Likely <email address hidden>
Cc: Benjamin Herrenschmidt <email address hidden>
Cc: Thomas Gleixner <email address hidden>
Cc: Milton Miller <email address hidden>
Tested-by: Olof Johansson <email address hidden>
commit c1e572e6506082ed120a13454b2cc2f525ee7aa6
Author: Grant Likely <email address hidden>
Date: Thu Jan 26 08:40:09 2012 -0700
irq_domain/c6x: Use library of xlate functions
The c6x irq controllers don't need to define custom .xlate hooks
Signed-off-by: Grant Likely <email address hidden>
Cc: Rob Herring <email address hidden>
Cc: Mark Salter <email address hidden>
Cc: Thomas Gleixner <email address hidden>
commit 15a25980d450c81e514c2a8724b575461961a30d
Author: Grant Likely <email address hidden>
Date: Thu Jan 26 12:25:18 2012 -0700
irq_domain/c6x: constify irq_domain structures
Signed-off-by: Grant Likely <email address hidden>
Cc: Mark Salter <email address hidden>
Cc: Thomas Gleixner <email address hidden>
commit 0bd761e1b6d909d3fd08841be7d5035f9fde8a53
Author: Mark Salter <email address hidden>
Date: Thu Jan 26 09:26:21 2012 -0500
irq_domain/c6x: Convert c6x to use generic irq_domain support.
The C6X IRQ support was copied almost verbatim from the PowerPC virtual IRQ
code. The PowerPC code was used as the basis for generic irq_domain support,
so this patch mostly copies what what done to arch/powerpc by Grant Likely
in his irq_domain patch series.
Signed-off-by: Mark Salter <email address hidden>
Signed-off-by: Grant Likely <email address hidden>
Cc: Aurelien Jacquiot <email address hidden>
Cc: Thomas Gleixner <email address hidden>
commit a18dc81bf58258ac0920bec26b91656cb0140d2a
Author: Grant Likely <email address hidden>
Date: Thu Jan 26 12:12:14 2012 -0700
irq_domain: constify irq_domain_ops
Make irq_domain_ops pointer a constant to make it safer for multiple
instances to share the same ops pointer and change the irq_domain code
so that it does not modify the ops.
v4: Fix mismatched type reference in powerpc code
Signed-off-by: Grant Likely <email address hidden>
Cc: Thomas Gleixner <email address hidden>
Cc: Benjamin Herrenschmidt <email address hidden>
Cc: Milton Miller <email address hidden>
Tested-by: Olof Johansson <email address hidden>
commit 16b2e6e2f31dda41f114aa0acade04f7e10f67c9
Author: Grant Likely <email address hidden>
Date: Thu Jan 26 11:26:52 2012 -0700
irq_domain: Create common xlate functions that device drivers can use
Rather than having each interrupt controller driver creating its own barely
unique .xlate function for irq_domain, create a library of translators which
any driver can use directly.
v5: - Remove irq_domain_xlate_pci(). It was incorrect.
Signed-off-by: Grant Likely <email address hidden>
Cc: Rob Herring <email address hidden>
Cc: Benjamin Herrenschmidt <email address hidden>
Cc: Mark Salter <email address hidden>
Cc: Thomas Gleixner <email address hidden>
Cc: Milton Miller <email address hidden>
Tested-by: Olof Johansson <email address hidden>
commit 6b783f7c5dde2648fa0bbe7fc8ac80d78699e67f
Author: Grant Likely <email address hidden>
Date: Tue Jan 10 17:09:30 2012 -0700
irq_domain: Remove irq_domain_add_simple()
irq_domain_add_simple() was a stop-gap measure until complete irq_domain
support was complete. This patch removes the irq_domain_add_simple()
interface.
This patch also drops the explicit irq_domain initialization performed
by the mach-versatile code because the versatile interrupt controller
already has irq_domain support built into it. This was a bug that was
hanging around quietly for a while, but with the full irq_domain which
actually verifies that irq_domain ranges are available it would cause
the registration to fail and the system wouldn't boot.
v4: Fixed number of irqs in mx5 gpio code
v2: Updated to pass in host_data pointer on irq_domain allocation.
Signed-off-by: Grant Likely <email address hidden>
Cc: Rob Herring <email address hidden>
Cc: Thomas Gleixner <email address hidden>
Cc: Milton Miller <email address hidden>
Cc: Russell King <email address hidden>
Tested-by: Olof Johansson <email address hidden>
commit 75294957be1dee7d22dd7d90bd31334ba410e836
Author: Grant Likely <email address hidden>
Date: Tue Feb 14 14:06:57 2012 -0700
irq_domain: Remove 'new' irq_domain in favour of the ppc one
This patch removes the simplistic implementation of irq_domains and enables
the powerpc infrastructure for all irq_domain users. The powerpc
infrastructure includes support for complex mappings between Linux and
hardware irq numbers, and can manage allocation of irq_descs.
This patch also converts the few users of irq_domain_add()/irq_domain_del()
to call irq_domain_add_legacy() instead.
v3: Fix bug that set up too many irqs in translation range.
v2: Fix removal of irq_alloc_descs() call in gic driver
Signed-off-by: Grant Likely <email address hidden>
Cc: Rob Herring <email address hidden>
Cc: Benjamin Herrenschmidt <email address hidden>
Cc: Thomas Gleixner <email address hidden>
Cc: Milton Miller <email address hidden>
Tested-by: Olof Johansson <email address hidden>
commit 5769089ac72569d024817270ab79fdf0b9046dde
Author: Benoit Cousson <email address hidden>
Date: Tue Feb 14 14:06:56 2012 -0700
mfd: twl-core.c: Fix the number of interrupts managed by twl4030
TWL4030 does handle 3 different interrupts ranges: 8 for the core, 8 for
the power events and 18 for the GPIOs.
Change the total number of interrupts managed by TWL4030 from 8 to 34.
Signed-off-by: Benoit Cousson <email address hidden>
Signed-off-by: Grant Likely <email address hidden>
commit a850a7554442f08d3e910c6eeb4ee216868dda1e
Author: Grant Likely <email address hidden>
Date: Tue Feb 14 14:06:55 2012 -0700
of/address: add empty static inlines for !CONFIG_OF
As the title says, this patch adds empty implementations for the address
translation functions so that they can be used when CONFIG_OF is disabled.
Signed-off-by: Grant Likely <email address hidden>
Cc: Rob Herring <email address hidden>
commit 1bc04f2cf8c2a1feadbd994f50c40bb145bf2989
Author: Grant Likely <email address hidden>
Date: Tue Feb 14 14:06:55 2012 -0700
irq_domain: Add support for base irq and hwirq in legacy mappings
Add support for a legacy mapping where irq = (hwirq - first_hwirq + first_irq)
so that a controller driver can allocate a fixed range of irq_descs and use
a simple calculation to translate back and forth between linux and hw irq
numbers. This is needed to use an irq_domain with many of the ARM interrupt
controller drivers that manage their own irq_desc allocations. Ultimately
the goal is to migrate those drivers to use the linear revmap, but doing it
this way allows each driver to be converted separately which makes the
migration path easier.
This patch generalizes the IRQ_DOMAIN_MAP_LEGACY method to use
(first_irq-first_hwirq) as the offset between hwirq and linux irq number,
and adds checks to make sure that the hwirq number does not exceed range
assigned to the controller.
Signed-off-by: Grant Likely <email address hidden>
Cc: Rob Herring <email address hidden>
Cc: Benjamin Herrenschmidt <email address hidden>
Cc: Thomas Gleixner <email address hidden>
Cc: Milton Miller <email address hidden>
Tested-by: Olof Johansson <email address hidden>
commit a8db8cf0d894df5f1dcfd4bce9894e0dbcc01c96
Author: Grant Likely <email address hidden>
Date: Tue Feb 14 14:06:54 2012 -0700
irq_domain: Replace irq_alloc_host() with revmap-specific initializers
Each revmap type has different arguments for setting up the revmap.
This patch splits up the generator functions so that each revmap type
can do its own setup and the user doesn't need to keep track of how
each revmap type handles the arguments.
This patch also adds a host_data argument to the generators. There are
cases where the host_data pointer will be needed before the function returns.
ie. the legacy map calls the .map callback for each irq before returning.
v2: - Add void *host_data argument to irq_domain_add_*() functions
- fixed failure to compile
- Moved IRQ_DOMAIN_MAP_* defines into irqdomain.c
Signed-off-by: Grant Likely <email address hidden>
Cc: Rob Herring <email address hidden>
Cc: Benjamin Herrenschmidt <email address hidden>
Cc: Thomas Gleixner <email address hidden>
Cc: Milton Miller <email address hidden>
Tested-by: Olof Johansson <email address hidden>
commit 68700650e71b6bb6636673f4f9c8ec807353d8d6
Author: Grant Likely <email address hidden>
Date: Tue Feb 14 14:06:53 2012 -0700
irq_domain: Remove references to old irq_host names
No functional changes. Replaces non-exported references to 'host' with domain.
Does not change any symbol names referenced by other .c files.
Signed-off-by: Grant Likely <email address hidden>
Cc: Benjamin Herrenschmidt <email address hidden>
Cc: Thomas Gleixner <email address hidden>
Cc: Milton Miller <email address hidden>
Tested-by: Olof Johansson <email address hidden>
commit 03848373ea741caafab952fb62405ed7fc0c279c
Author: Grant Likely <email address hidden>
Date: Tue Feb 14 14:06:52 2012 -0700
irq_domain: remove NO_IRQ from irq domain code
zero always means no irq when using irq domains. Get rid of the NO_IRQ
references.
Signed-off-by: Grant Likely <email address hidden>
Cc: Rob Herring <email address hidden>
Cc: Benjamin Herrenschmidt <email address hidden>
Cc: Thomas Gleixner <email address hidden>
Cc: Milton Miller <email address hidden>
Tested-by: Olof Johansson <email address hidden>
commit cc79ca691c292e9fd44f589c7940b9654e22f2f6
Author: Grant Likely <email address hidden>
Date: Thu Feb 16 01:37:49 2012 -0700
irq_domain: Move irq_domain code from powerpc to kernel/irq
This patch only moves the code. It doesn't make any changes, and the
code is still only compiled for powerpc. Follow-on patches will generalize
the code for other architectures.
Signed-off-by: Grant Likely <email address hidden>
Cc: Benjamin Herrenschmidt <email address hidden>
Cc: Thomas Gleixner <email address hidden>
Cc: Milton Miller <email address hidden>
Tested-by: Olof Johansson <email address hidden>
commit 6d9285b00f776eebe459a858ebf07b56c36c60d2
Author: Grant Likely <email address hidden>
Date: Tue Feb 14 14:06:51 2012 -0700
irq_domain/powerpc: Eliminate virq_is_host()
There is only one user, and it is trivial to open-code.
Signed-off-by: Grant Likely <email address hidden>
Cc: Benjamin Herrenschmidt <email address hidden>
Cc: Thomas Gleixner <email address hidden>
Cc: Milton Miller <email address hidden>
Tested-by: Olof Johansson <email address hidden>
commit 4bbdd45afdae208a7c4ade89cf602f89a6397cff
Author: Grant Likely <email address hidden>
Date: Tue Feb 14 14:06:51 2012 -0700
irq_domain/powerpc: eliminate irq_map; use irq_alloc_desc() instead
This patch drops the powerpc-specific irq_map table and replaces it with
directly using the irq_alloc_desc()/irq_free_desc() interfaces for allocating
and freeing irq_desc structures.
This patch is a preparation step for generalizing the powerpc-specific virq
infrastructure to become irq_domains.
As part of this change, the irq_big_lock is changed to a mutex from a raw
spinlock. There is no longer any need to use a spin lock since the irq_desc
allocation code is now responsible for the critical section of finding
an unused range of irq numbers.
The radix lookup table is also changed to store the irq_data pointer instead
of the irq_map entry since the irq_map is removed. This should end up being
functionally equivalent since only allocated irq_descs are ever added to the
radix tree.
v5: - Really don't ever allocate virq 0. The previous version could still
do it if hint == 0
- Respect irq_virq_count setting for NOMAP. Some NOMAP domains cannot
use virq values above irq_virq_count.
- Use numa_node_id() when allocating irq_descs. Ideally the API should
obtain that value from the caller, but that touches a lot of call sites
so will be deferred to a follow-on patch.
- Fix irq_find_mapping() to include irq numbers lower than
NUM_ISA_INTERRUPTS. With the switch to irq_alloc_desc*(), the lowest
possible allocated irq is now returned by arch_probe_nr_irqs().
v4: - Fix incorrect access to irq_data structure in debugfs code
- Don't ever allocate virq 0
Signed-off-by: Grant Likely <email address hidden>
Cc: Benjamin Herrenschmidt <email address hidden>
Cc: Thomas Gleixner <email address hidden>
Cc: Milton Miller <email address hidden>
Tested-by: Olof Johansson <email address hidden>
commit bae1d8f19983fbfa25559aa3cb6a81a84aa82a18
Author: Grant Likely <email address hidden>
Date: Tue Feb 14 14:06:50 2012 -0700
irq_domain/powerpc: Use common irq_domain structure instead of irq_host
This patch drops the powerpc-specific irq_host structures and uses the common
irq_domain strucutres defined in linux/irqdomain.h. It also fixes all
the users to use the new structure names.
Renaming irq_host to irq_domain has been discussed for a long time, and this
patch is a step in the process of generalizing the powerpc virq code to be
usable by all architecture.
An astute reader will notice that this patch actually removes the irq_host
structure instead of renaming it. This is because the irq_domain structure
already exists in include/linux/irqdomain.h and has the needed data members.
Signed-off-by: Grant Likely <email address hidden>
Cc: Benjamin Herrenschmidt <email address hidden>
Cc: Thomas Gleixner <email address hidden>
Cc: Milton Miller <email address hidden>
Tested-by: Olof Johansson <email address hidden>
commit 644bd954313254b54e08b69077e16831b6e04dfa
Author: Grant Likely <email address hidden>
Date: Tue Feb 14 14:06:49 2012 -0700
irq_domain: convert microblaze from irq_host to irq_domain
Trivial change, microblaze doesn't use irq remapping yet.
Signed-off-by: Grant Likely <email address hidden>
Cc: Michal Simek <email address hidden>
Cc: Thomas Gleixner <email address hidden>
commit 7bb69bade0d41715bdf1b24f5ef0b8f798769fe9
Author: Grant Likely <email address hidden>
Date: Tue Feb 14 14:06:48 2012 -0700
irq_domain: Make irq_domain structure match powerpc's irq_host
Part of the series to unify the irq remapping mechanisms in the
kernel. A follow up patch will copy the powerpc implementation into
kernel/irq/irqdomain.c, which will be a lot easier if the structures
are identical.
Where they differ, I've chose to use the powerpc names since there is
a lot more code using those names.
Signed-off-by: Grant Likely <email address hidden>
Cc: Rob Herring <email address hidden>
Cc: Benjamin Herrenschmidt <email address hidden>
Cc: Thomas Gleixner <email address hidden>
Cc: Milton Miller <email address hidden>
Tested-by: Olof Johansson <email address hidden>
commit e1964c50a83d1ce53731c88271d12ac92292a880
Author: Grant Likely <email address hidden>
Date: Tue Feb 14 14:06:48 2012 -0700
irq_domain: Be less verbose
irq_domain printk's too much. Drop some output.
Signed-off-by: Grant Likely <email address hidden>
Cc: Rob Herring <email address hidden>
Cc: Thomas Gleixner <email address hidden>
Tested-by: Olof Johansson <email address hidden>
commit 7ab3a837adfc502913e0101d83bd3f4692b690b6
Author: Grant Likely <email address hidden>
Date: Tue Feb 14 14:06:47 2012 -0700
irq_domain: add documentation and MAINTAINERS entry.
Documentation for irq_domain library which will be created in subsequent
patches.
v4: editorial changes
Signed-off-by: Grant Likely <email address hidden>
Reviewed-by: Randy Dunlap <email address hidden>
Cc: Benjamin Herrenschmidt <email address hidden>
Cc: Thomas Gleixner <email address hidden>
Cc: Rob Herring <email address hidden>
Cc: Milton Miller <email address hidden>
Tested-by: Olof Johansson <email address hidden>
commit e8548239735dc23864a7ade7061ed9d7a060e2c7
Merge: 7a8d137 7143d3d
Author: Andrey Konovalov <email address hidden>
Date: Thu Mar 22 20:34:17 2012 +0400
Merge branch 'tracking-armlt-ubuntu-config' into linux-linaro
commit 7143d3dbeef5480370c8cc6e3313ddacb13d269c
Author: Jon Medhurst <email address hidden>
Date: Fri Mar 16 16:03:00 2012 +0000
Ubuntu: vexpress defconfig
Signed-off-by: Jon Medhurst <email address hidden>
commit 7a8d1373b87d1085beb9924b439e52a312908d3c
Merge: e929c2d 19b45d9
Author: Andrey Konovalov <email address hidden>
Date: Thu Mar 22 20:34:16 2012 +0400
Merge branch 'tracking-armlt-arm-arch-fixes' into linux-linaro
commit 19b45d92a9bd07de334ba2ccdc6060aa5495cd07
Author: Catalin Marinas <email address hidden>
Date: Tue Feb 14 12:09:09 2012 +0000
ARMv7: Flush the vectors page using the base address
With the domains removal patch, the vectors page is populated using the
kernel linear mapping address. However, the flush_icache_range()
function must be called on the high vectors address because the I-cache
is allowed to have aliases (or can even be ASID-tagged VIVT). Note that
on ARMv7 processors the D-cache is non-aliasing.
Signed-off-by: Catalin Marinas <email address hidden>
Cc: <email address hidden>
commit 088e82eaee80e14a71d35d5f915395ca36530823
Author: Catalin Marinas <email address hidden>
Date: Tue Feb 14 12:09:08 2012 +0000
ARM: Set bit 22 in the PL310 (cache controller) AuxCtlr register
Clearing bit 22 in the PL310 Auxiliary Control register (shared
attribute override enable) has the side effect of transforming Normal
Shared Non-cacheable reads into Cacheable no-allocate reads.
Coherent DMA buffers in Linux always have a Cacheable alias via the
kernel linear mapping and the processor can speculatively load cache
lines into the PL310 controller. With bit 22 cleared, Non-cacheable
reads would unexpectedly hit such cache lines leading to buffer
corruption.
This patch ensures that bit 22 is set in the l2x0_init() function if
PL310 and not rely on the platform code to specify it. It also modifies
the 'aux' variable only if the actual register is written so that the
final printk displays the real hardware value.
Signed-off-by: Catalin Marinas <email address hidden>
Tested-by: Kyungmin Park <email address hidden>
commit e78a6de95d3cc32dcf4362c6ce20f3257b53cb58
Author: Will Deacon <email address hidden>
Date: Thu May 26 11:24:25 2011 +0100
ARM: Allow ASID 0 to be allocated to tasks
Now that ASID 0 is no longer used as a reserved value, allow it to be
allocated to tasks.
Reviewed-by: Frank Rowand <email address hidden>
Tested-by: Marc Zyngier <email address hidden>
Cc: Russell King <email address hidden>
Signed-off-by: Will Deacon <email address hidden>
Signed-off-by: Catalin Marinas <email address hidden>
commit 55d05d0a4c08385851fb4c4b31339308985f4b60
Author: Will Deacon <email address hidden>
Date: Tue May 31 15:38:43 2011 +0100
ARM: Use TTBR1 instead of reserved context ID
On ARMv7 CPUs that cache first level page table entries (like the
Cortex-A15), using a reserved ASID while changing the TTBR or flushing
the TLB is unsafe.
This is because the CPU may cache the first level entry as the result of
a speculative memory access while the reserved ASID is assigned. After
the process owning the page tables dies, the memory will be reallocated
and may be written with junk values which can be interpreted as global,
valid PTEs by the processor. This will result in the TLB being populated
with bogus global entries.
This patch avoids the use of a reserved context ID in the v7 switch_mm
and ASID rollover code by temporarily using the swapper_pg_dir pointed
at by TTBR1, which contains only global entries that are not tagged
with ASIDs.
Reviewed-by: Frank Rowand <email address hidden>
Tested-by: Marc Zyngier <email address hidden>
Cc: Russell King <email address hidden>
Signed-off-by: Will Deacon <email address hidden>
Signed-off-by: Catalin Marinas <email address hidden>
commit e929c2dfe477869f38fefd060b2d0d465b0c26ed
Merge: ac3034f 6af36d8
Author: Andrey Konovalov <email address hidden>
Date: Thu Mar 22 20:34:15 2012 +0400
Merge branch 'tracking-armlt-mmc' into linux-linaro
commit 6af36d89e14e31a1e75c9c020a26a309b3031924
Author: Jon Medhurst <email address hidden>
Date: Tue Dec 20 15:03:38 2011 +0000
mmc: block: Make multi-block write errors retry as single block writes
The current mmc block code retries i/o errors on multi-block reads by
using single block reads. For platforms with unreliable multi-block
operations, like the ARM Versatile Express board, this is a valuable
error recovery path.
This patch extends the single block retry to also include write
operations.
Signed-off-by: Jon Medhurst <email address hidden>
commit ac3034ff903beedc4490b4bec2d2cb54d033bf5b
Author: Jon Medhurst <email address hidden>
Date: Wed Feb 29 05:08:09 2012 +0000
ARM: vexpress: Add support for HDLCD on V2P-CA15-TC1
This is a temporary solution to get everything running.
Signed-off-by: Jon Medhurst <email address hidden>
commit 61275682a44b5aa2b4b75bdfec6c939773218dfa
Author: Jon Medhurst <email address hidden>
Date: Wed Feb 29 05:08:44 2012 +0000
ARM: vexpress: Reduce A5 screen resolution to aid performance.
Signed-off-by: Jon Medhurst <email address hidden>
commit 84e74c1c837349a9bc4e989384f019dc66cd5a9b
Author: Pawel Moll <email address hidden>
Date: Wed Dec 14 16:50:21 2011 +0000
ARM: vexpress: Add support for HDLCD on V2P-CA5s
This is a temporary solution to get everything running.
Signed-off-by: Pawel Moll <email address hidden>
Conflicts:
arch/arm/boot/dts/vexpress-v2p-ca5s.dts
arch/arm/mach-vexpress/v2m.c
Change-Id: I805deceba0a33476e77cffa2bdfa3bc86efc7ffb
commit bb41b9275264eea5ba705f808f88c9ec480fafc4
Author: Liviu Dudau <email address hidden>
Date: Wed Jan 18 16:52:04 2012 +0000
ARM HDLCD: Add support for ARM High Definition LCD.
The ARM HDLCD device is now found in various new Versatile Express coretiles.
Signed-off-by: Liviu Dudau <email address hidden>
commit 2c3c374fe9d4f049a96947172f3245be0913dd2b
Author: Pawel Moll <email address hidden>
Date: Thu Dec 15 10:57:28 2011 +0000
ARM: vexpress: Add Device Tree for V2P-CA15 core tile (TC1 variant)
This patch adds Device Tree file for the CoreTile Express A15x2
(V2P-CA15) with Test Chip 1.
As the chip's GIC has 160 interrupt inputs and equivalent SMM
(FPGA) has GIC synthesised with 256 interrupts, NR_IRQS is
increased.
Signed-off-by: Pawel Moll <email address hidden>
commit 88432424043a5b121494354937a6d4d590842d57
Author: Pawel Moll <email address hidden>
Date: Fri Dec 9 18:40:31 2011 +0000
ARM: vexpress: Add Device Tree for V2P-CA9 core tile
This patch adds Device Tree file for the CoreTile Express A9x4 (V2P-CA9).
Signed-off-by: Pawel Moll <email address hidden>
commit 94ddc3135ef09e11503e24b1980d3f20243b7347
Author: Pawel Moll <email address hidden>
Date: Fri Dec 9 18:41:27 2011 +0000
ARM: vexpress: Add Device Tree for V2P-CA5s core tile
This patch adds Device Tree file for the CoreTile Express A5x2 (V2P-CA5s).
Signed-off-by: Pawel Moll <email address hidden>
commit f2a40a9f0c753ff7031fb9e75359917c21bf888c
Author: Pawel Moll <email address hidden>
Date: Fri Dec 9 18:47:39 2011 +0000
ARM: vexpress: Motherboard RS1 memory map support
This patch adds support for RS1 memory map based Versatile Express
motherboard.
Signed-off-by: Pawel Moll <email address hidden>
commit 600e4ff55bb844a49662aadc910fb67d8cc7eca2
Author: Pawel Moll <email address hidden>
Date: Thu Feb 23 13:04:51 2012 +0000
ARM: vexpress: Add Device Tree support
This patch adds generic Versatile Express DT machine description,
Device Tree description for the motherboard and documentation for
the bindings.
Signed-off-by: Pawel Moll <email address hidden>
commit 1a1dca870bf21eba148153b3d2eae3b964085f23
Author: Pawel Moll <email address hidden>
Date: Mon Feb 20 15:17:11 2012 +0000
ARM: vexpress: Use FDT data in platform SMP calls
Scan flatten device looking for A5/A9 SCU node and initialize
it using base address in "reg" property. If nothing is found,
assume that there is no special SCU initialization required
and initialize CPUs basing on numbers of "cpu" type devices
in "cpus" node of the Device Tree.
All this happens only if the board was booted with FDT,
otherwise ct_desc callbacks are used.
Signed-off-by: Pawel Moll <email address hidden>
SMP update (change commit log!)
commit e5de166b3cd2a3e491c9959f85a59ccf697cd58f
Author: Pawel Moll <email address hidden>
Date: Thu Feb 23 14:57:11 2012 +0000
ARM: versatile: Map local timers using Device Tree when possible
Try to map TWD registers basing on a "arm,*-twd-timer" Device Tree
node. This overrides existing twd_base value.
Signed-off-by: Pawel Moll <email address hidden>
commit 655774bcf249cf68130785206cfb919a8767c61b
Author: Pawel Moll <email address hidden>
Date: Wed Jan 25 15:37:29 2012 +0000
ARM: vexpress: Get rid of MMIO_P2V
This patch gets rid of the MMIO_P2V and __MMIO_P2V macros,
defining constant virtual base for motherboard and tile
peripherals instead.
Additionally, in preparation for the new motherboard memory
map, the motherboard peripherals are using base pointers
calculated in runtime, instead of compile-time calculated
values.
Signed-off-by: Pawel Moll <email address hidden>