aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/misc
Commit message (Collapse)AuthorAgeFilesLines
* misc: modem_if_v2: add missing error checkZiyan2016-07-031-2/+7
| | | | Change-Id: I9c759f84dc194fb4dd50d04b80b09353cfbf9456
* misc: add Samsung jack driverZiyan2016-04-303-0/+522
| | | | | Based on the sources from GT-P3110_JB_Opensource, plus: * a719b1b - sec_jack: remove factory test stuff
* misc: add Samsung 30-pin connector driverZiyan2016-04-303-0/+533
| | | | Based on the sources from GT-P3110_JB_Opensource.
* drivers: misc: Samsung Modem Interface Driver V2Ziyan2016-04-3014-0/+4806
| | | | | | Based on the sources from: GT-P3110_JB_Opensource, cleaned up. Change-Id: Ic630e1d9a2d71110cee1be8166a90a347e338d5d
* proc: uid: Changes the thread notifier to profile event notifier.Ruchi Kandoi2016-04-302-34/+19
| | | | | | | In order to keep the code consistent with all other platforms, the thread notifier is changed to profile event notifier. Change-Id: I5b996c789927b42dacba10af6fe81a21866e2c8f
* proc: uid_cputime: fix show_uid_stat permissionJin Qian2016-04-301-1/+1
| | | | Signed-off-by: Jin Qian <jinqian@google.com>
* proc: uid: Adds accounting for the cputimes per uid.jinqian2016-04-303-0/+260
| | | | | | | | | | | | | Adds proc files /proc/uid_cputime/show_uid_stat and /proc/uid_cputime/remove_uid_range. show_uid_stat lists the total utime and stime for the active as well as terminated processes for each of the uids. Writing a range of uids to remove_uid_range will delete the accounting for all the uids within that range. Change-Id: I21d9210379da730b33ddc1a0ea663c8c9d2ac15b
* misc: uidstat: avoid create_stat() race and blockage.JP Abgrall2016-03-111-21/+31
| | | | | | | | | | | | | * create_stat() race would lead to: [ 58.132324] proc_dir_entry 'uid_stat/10061' already registered * blocking kmalloc reported by sbranden tcp_read_sock() uid_stat_tcp_rcv() create_stat() kmalloc(GFP_KERNEL) Signed-off-by: JP Abgrall <jpa@google.com>
* Merge remote-tracking branch 'linux-stable/linux-3.0.y' into ↵Ziyan2015-10-252-21/+97
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | p-android-omap-3.0-dev-espresso Conflicts: Makefile arch/arm/include/asm/hardware/cache-l2x0.h arch/arm/kernel/smp.c arch/arm/mach-omap2/board-4430sdp.c arch/arm/mach-omap2/board-omap4panda.c arch/arm/mach-omap2/opp.c arch/ia64/include/asm/futex.h drivers/bluetooth/ath3k.c drivers/bluetooth/btusb.c drivers/firmware/efivars.c drivers/gpu/drm/i915/intel_lvds.c drivers/gpu/drm/radeon/radeon_atombios.c drivers/gpu/drm/radeon/radeon_irq_kms.c drivers/hwmon/fam15h_power.c drivers/mfd/twl6030-irq.c drivers/mmc/core/sdio.c drivers/net/tun.c drivers/net/usb/ipheth.c drivers/net/usb/usbnet.c drivers/usb/core/hub.c drivers/usb/host/xhci-mem.c drivers/usb/host/xhci.h drivers/usb/musb/omap2430.c drivers/usb/serial/ftdi_sio.c drivers/usb/serial/ftdi_sio_ids.h drivers/usb/serial/option.c drivers/usb/serial/qcserial.c drivers/usb/serial/ti_usb_3410_5052.c drivers/usb/serial/ti_usb_3410_5052.h drivers/video/omap2/dss/hdmi.c fs/splice.c include/asm-generic/pgtable.h include/net/sch_generic.h kernel/cgroup.c kernel/futex.c kernel/time/timekeeping.c net/ipv4/route.c net/ipv4/syncookies.c net/ipv4/tcp_ipv4.c net/wireless/util.c security/commoncap.c sound/soc/soc-dapm.c
| * SGI-XP: handle non-fatal trapsRobin Holt2013-01-271-2/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | commit 891348ca0f66206f1dc0e30d63757e3df1ae2d15 upstream. We found a user code which was raising a divide-by-zero trap. That trap would lead to XPC connections between system-partitions being torn down due to the die_chain notifier callouts it received. This also revealed a different issue where multiple callers into xpc_die_deactivate() would all attempt to do the disconnect in parallel which would sometimes lock up but often overwhelm the console on very large machines as each would print at least one line of output at the end of the deactivate. I reviewed all the users of the die_chain notifier and changed the code to ignore the notifier callouts for reasons which will not actually lead to a system to continue on to call die(). [akpm@linux-foundation.org: fix ia64] Signed-off-by: Robin Holt <holt@sgi.com> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: Ingo Molnar <mingo@elte.hu> Cc: <stable@vger.kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
| * drivers/misc/sgi-xp/xpc_uv.c: SGI XPC fails to load when cpu 0 is out of IRQ ↵Robin Holt2012-10-021-19/+65
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | resources commit 7838f994b4fceff24c343f4e26a6cf4393869579 upstream. On many of our larger systems, CPU 0 has had all of its IRQ resources consumed before XPC loads. Worst cases on machines with multiple 10 GigE cards and multiple IB cards have depleted the entire first socket of IRQs. This patch makes selecting the node upon which IRQs are allocated (as well as all the other GRU Message Queue structures) specifiable as a module load param and has a default behavior of searching all nodes/cpus for an available resources. [akpm@linux-foundation.org: fix build: include cpu.h and module.h] Signed-off-by: Robin Holt <holt@sgi.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
| * pch_phub: Improve ADE(Address Decode Enable) controlTomoya MORINAGA2012-04-221-17/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | commit 9914a0de7a27ef2cb5d9aacfe50ae97ebb532f28 upstream. Currently, external ROM access is enabled/disabled in probe()/remove(). So, when a buggy software access unanticipated memory area, in case of enabling this ADE bit, external ROM memory area can be broken. This patch enables the ADE bit only accessing external ROM area. Signed-off-by: Tomoya MORINAGA <tomoya.rohm@gmail.com> Cc: Masayuki Ohtak <masa-korg@dsn.okisemi.com> Cc: Alexander Stein <alexander.stein@systec-electronic.com> Cc: Denis Turischev <denis@compulab.co.il> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * pch_phub: Care FUNCSEL register in PMTomoya MORINAGA2012-04-221-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | commit dd7d7fea29c18b818e94f252a76f495490d399c3 upstream. Only ML7213/ML7223(Bus-n) has this register. Currently,this driver doesn't care register "FUNCSEL" in suspend/resume. This patch saves/restores FUNCSEL register only when the device is ML7213 or ML7223(Bus-n). Signed-off-by: Tomoya MORINAGA <tomoya-linux@dsn.okisemi.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * pch_phub: Fix register miss-setting issueTomoya MORINAGA2012-04-221-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | commit 20ae6d0b307963416db0e8433602e5d5c95e942b upstream. Register "interrupt delay value" is for GbE which is connected to Bus-m of PCIe. However currently, the value is set for Bus-n. As a result, the value is not set correctly. This patch moves setting the value processing of Bus-n to Bus-m. Signed-off-by: Tomoya MORINAGA <tomoya-linux@dsn.okisemi.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * x86,kgdb: Fix DEBUG_RODATA limitation using text_poke()Jason Wessel2012-04-131-17/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | commit 3751d3e85cf693e10e2c47c03c8caa65e171099b upstream. There has long been a limitation using software breakpoints with a kernel compiled with CONFIG_DEBUG_RODATA going back to 2.6.26. For this particular patch, it will apply cleanly and has been tested all the way back to 2.6.36. The kprobes code uses the text_poke() function which accommodates writing a breakpoint into a read-only page. The x86 kgdb code can solve the problem similarly by overriding the default breakpoint set/remove routines and using text_poke() directly. The x86 kgdb code will first attempt to use the traditional probe_kernel_write(), and next try using a the text_poke() function. The break point install method is tracked such that the correct break point removal routine will get called later on. Cc: x86@kernel.org Cc: Thomas Gleixner <tglx@linutronix.de> Cc: Ingo Molnar <mingo@redhat.com> Cc: H. Peter Anvin <hpa@zytor.com> Inspried-by: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com> Signed-off-by: Jason Wessel <jason.wessel@windriver.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
| * kgdbts: (2 of 2) fix single step awareness to work correctly with SMPJason Wessel2012-04-131-11/+62
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | commit 23bbd8e346f1ef3fc1219c79cea53d8d52b207d8 upstream. The do_fork and sys_open tests have never worked properly on anything other than a UP configuration with the kgdb test suite. This is because the test suite did not fully implement the behavior of a real debugger. A real debugger tracks the state of what thread it asked to single step and can correctly continue other threads of execution or conditionally stop while waiting for the original thread single step request to return. Below is a simple method to cause a fatal kernel oops with the kgdb test suite on a 2 processor ARM system: while [ 1 ] ; do ls > /dev/null 2> /dev/null; done& while [ 1 ] ; do ls > /dev/null 2> /dev/null; done& echo V1I1F100 > /sys/module/kgdbts/parameters/kgdbts Very soon after starting the test the kernel will start warning with messages like: kgdbts: BP mismatch c002487c expected c0024878 ------------[ cut here ]------------ WARNING: at drivers/misc/kgdbts.c:317 check_and_rewind_pc+0x9c/0xc4() [<c01f6520>] (check_and_rewind_pc+0x9c/0xc4) [<c01f595c>] (validate_simple_test+0x3c/0xc4) [<c01f60d4>] (run_simple_test+0x1e8/0x274) The kernel will eventually recovers, but the test suite has completely failed to test anything useful. This patch implements behavior similar to a real debugger that does not rely on hardware single stepping by using only software planted breakpoints. In order to mimic a real debugger, the kgdb test suite now tracks the most recent thread that was continued (cont_thread_id), with the intent to single step just this thread. When the response to the single step request stops in a different thread that hit the original break point that thread will now get continued, while the debugger waits for the thread with the single step pending. Here is a high level description of the sequence of events. cont_instead_of_sstep = 0; 1) set breakpoint at do_fork 2) continue 3) Save the thread id where we stop to cont_thread_id 4) Remove breakpoint at do_fork 5) Reset the PC if needed depending on kernel exception type 6) soft single step 7) Check where we stopped if current thread != cont_thread_id { if (here for more than 2 times for the same thead) { ### must be a really busy system, start test again ### goto step 1 } goto step 5 } else { cont_instead_of_sstep = 0; } 8) clean up and run test again if needed 9) Clear out any threads that were waiting on a break point at the point in time the test is ended with get_cont_catch(). This happens sometimes because breakpoints are used in place of single stepping and some threads could have been in the debugger exception handling queue because breakpoints were hit concurrently on different CPUs. This also means we wait at least one second before unplumbing the debugger connection at the very end, so as respond to any debug threads waiting to be serviced. Signed-off-by: Jason Wessel <jason.wessel@windriver.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
| * kgdbts: (1 of 2) fix single step awareness to work correctly with SMPJason Wessel2012-04-131-11/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | commit 486c5987a00a89d56c2c04c506417ef8f823ca2e upstream. The do_fork and sys_open tests have never worked properly on anything other than a UP configuration with the kgdb test suite. This is because the test suite did not fully implement the behavior of a real debugger. A real debugger tracks the state of what thread it asked to single step and can correctly continue other threads of execution or conditionally stop while waiting for the original thread single step request to return. Below is a simple method to cause a fatal kernel oops with the kgdb test suite on a 4 processor x86 system: while [ 1 ] ; do ls > /dev/null 2> /dev/null; done& while [ 1 ] ; do ls > /dev/null 2> /dev/null; done& while [ 1 ] ; do ls > /dev/null 2> /dev/null; done& while [ 1 ] ; do ls > /dev/null 2> /dev/null; done& echo V1I1F1000 > /sys/module/kgdbts/parameters/kgdbts Very soon after starting the test the kernel will oops with a message like: kgdbts: BP mismatch 3b7da66480 expected ffffffff8106a590 WARNING: at drivers/misc/kgdbts.c:303 check_and_rewind_pc+0xe0/0x100() Call Trace: [<ffffffff812994a0>] check_and_rewind_pc+0xe0/0x100 [<ffffffff81298945>] validate_simple_test+0x25/0xc0 [<ffffffff81298f77>] run_simple_test+0x107/0x2c0 [<ffffffff81298a18>] kgdbts_put_char+0x18/0x20 The warn will turn to a hard kernel crash shortly after that because the pc will not get properly rewound to the right value after hitting a breakpoint leading to a hard lockup. This change is broken up into 2 pieces because archs that have hw single stepping (2.6.26 and up) need different changes than archs that do not have hw single stepping (3.0 and up). This change implements the correct behavior for an arch that supports hw single stepping. A minor defect was fixed where sys_open should be do_sys_open for the sys_open break point test. This solves the problem of running a 64 bit with a 32 bit user space. The sys_open() never gets called when using the 32 bit file system for the kgdb testsuite because the 32 bit binaries invoke the compat_sys_open() call leading to the test never completing. In order to mimic a real debugger, the kgdb test suite now tracks the most recent thread that was continued (cont_thread_id), with the intent to single step just this thread. When the response to the single step request stops in a different thread that hit the original break point that thread will now get continued, while the debugger waits for the thread with the single step pending. Here is a high level description of the sequence of events. cont_instead_of_sstep = 0; 1) set breakpoint at do_fork 2) continue 3) Save the thread id where we stop to cont_thread_id 4) Remove breakpoint at do_fork 5) Reset the PC if needed depending on kernel exception type 6) if (cont_instead_of_sstep) { continue } else { single step } 7) Check where we stopped if current thread != cont_thread_id { cont_instead_of_sstep = 1; goto step 5 } else { cont_instead_of_sstep = 0; } 8) clean up and run test again if needed Signed-off-by: Jason Wessel <jason.wessel@windriver.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
| * kgdbts: Fix kernel oops with CONFIG_DEBUG_RODATAJason Wessel2012-04-131-24/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | commit 456ca7ff24841bf2d2a2dfd690fe7d42ef70d932 upstream. On x86 the kgdb test suite will oops when the kernel is compiled with CONFIG_DEBUG_RODATA and you run the tests after boot time. This is regression has existed since 2.6.26 by commit: b33cb815 (kgdbts: Use HW breakpoints with CONFIG_DEBUG_RODATA). The test suite can use hw breakpoints for all the tests, but it has to execute the hardware breakpoint specific tests first in order to determine that the hw breakpoints actually work. Specifically the very first test causes an oops: # echo V1I1 > /sys/module/kgdbts/parameters/kgdbts kgdb: Registered I/O driver kgdbts. kgdbts:RUN plant and detach test Entering kdb (current=0xffff880017aa9320, pid 1078) on processor 0 due to Keyboard Entry [0]kdb> kgdbts: ERROR PUT: end of test buffer on 'plant_and_detach_test' line 1 expected OK got $E14#aa WARNING: at drivers/misc/kgdbts.c:730 run_simple_test+0x151/0x2c0() [...oops clipped...] This commit re-orders the running of the tests and puts the RODATA check into its own function so as to correctly avoid the kernel oops by detecting and using the hw breakpoints. Signed-off-by: Jason Wessel <jason.wessel@windriver.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
| * cs5535-mfgpt: don't call __init function from __devinitDanny Kukawka2012-03-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | commit 474de3bbadd9cb75ffc32cc759c40d868343d46c upstream. Fix scan_timers() to be __devinit and not __init since the function get called from cs5535_mfgpt_probe which is __devinit. Signed-off-by: Danny Kukawka <danny.kukawka@bisect.de> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* | gcx: version update to 2.2.2Craig Stout2012-10-221-3/+3
| | | | | | | | | | Change-Id: I68624e1604a30c854843f3a2206e70a516cc57a0 Signed-off-by: Craig Stout <craig.stout@ti.com>
* | gcx: fixed YUV planar odd location origin.Alexei Shlychkov2012-10-222-45/+41
| | | | | | | | | | Change-Id: I0bbe26fd4dba445bd9b9c5135fe99bc8099626ff Signed-off-by: Alexei Shlychkov <x0177296@ti.com>
* | gcx: fixed scaler temp parameter calculations.Alexei Shlychkov2012-10-221-63/+111
| | | | | | | | | | Change-Id: I137acb5efc00bc3ea2dbb9ad596234061cf78257 Signed-off-by: Alexei Shlychkov <x0177296@ti.com>
* | gcx: two pass filter fixes.Alexei Shlychkov2012-10-223-52/+62
| | | | | | | | | | | | | | | | | | | | | | | | Use the destination format (RGB) for the temporary buffer if destination angle is not 0 degree due to a hardware limitation for 4:2:2 rotated destination. Performance is optimized for temporary buffer by setting proper buffer geomerty. Change-Id: Ie53da18fe854adeaaf3d568605bb8630288aee5d Signed-off-by: Alexei Shlychkov <x0177296@ti.com>
* | gcx: fixed surface offset calculations.Alexei Shlychkov2012-10-225-203/+361
| | | | | | | | | | | | | | | | This is primarily to fix YUV plane location calculations, but RGB formats are affected as well. Change-Id: I2877c3c0ec35c03425903c2df9de08ba201cf091 Signed-off-by: Alexei Shlychkov <x0177296@ti.com>
* | gcx: source setup optimization.Alexei Shlychkov2012-10-224-444/+665
| | | | | | | | | | | | | | | | | | Share the same setup routines for blitting and scaling. Use old-style registers for source 0 in blit setup due to a hardware problem. Change-Id: Ic9ed5c95d37833521f2eda21d818f8a8696bcd4c Signed-off-by: Alexei Shlychkov <x0177296@ti.com>
* | gcx: feature support checks revised.Alexei Shlychkov2012-10-222-52/+65
| | | | | | | | | | | | | | Packed YUV source rotation is enabled. Change-Id: I0beaae011e576fcd8dd78e800cc5acde7de9311f Signed-off-by: Alexei Shlychkov <x0177296@ti.com>
* | gcx: changed debug module names for consistency.Alexei Shlychkov2012-10-227-21/+23
| | | | | | | | | | | | | | Also fixed compiler warnings. Change-Id: I254abc86fd08c1be1d2f904f0c10018bcbc5a8c6 Signed-off-by: Alexei Shlychkov <x0177296@ti.com>
* | gcx: improved MMU table dumping.Alexei Shlychkov2012-10-224-70/+220
| | | | | | | | | | Change-Id: Ib08231c481533e349affd792ef944386dbcc0593 Signed-off-by: Alexei Shlychkov <x0177296@ti.com>
* | gcx: Use GFP_ATOMIC flag for opp_freqs table.Oleg Matcovschi2012-09-271-1/+1
| | | | | | | | | | | | | | Use GFP_ATOMIC instead of GFP_KERNEL to avoid potential blocking. Change-Id: Id405a2aa609560b849adf0e096970d0251cfd140 Signed-off-by: Oleg Matcovschi <oleg.matcovschi@ti.com>
* | gcx: version update to 2.2.1Craig Stout2012-09-271-3/+3
| | | | | | | | | | Change-Id: I09b56c66bd594305557b226fb30e9d945657a799 Signed-off-by: Craig Stout <craig.stout@ti.com>
* | gcx: added source rectangle validation.Alexei Shlychkov2012-09-275-108/+161
| | | | | | | | | | | | | | Also debug logging improved. Change-Id: I0fd42fc417080d163f55f1c58e12dd5713f3d8be Signed-off-by: Alexei Shlychkov <x0177296@ti.com>
* | gcx: fix main thread looping.Alexei Shlychkov2012-09-271-3/+12
| | | | | | | | | | | | | | | | | | If the thread has no work scheduled and is kicked off by a soft trigger, it would start looping until the next work gets scheduled. Change-Id: Ia7256622c61f45c9483c722dd968a1dfec752f89 Signed-off-by: Alexei Shlychkov <x0177296@ti.com>
* | gcx: added geometry check.Alexei Shlychkov2012-09-271-17/+41
| | | | | | | | | | | | | | | | An additional geometry check to prevent the user from supplying invalid geometry and causing L3 errors. Change-Id: I5c22dbc36ca1e4a64fa240aff0f052673b5a4116 Signed-off-by: Alexei Shlychkov <x0177296@ti.com>
* | gcx: scaler update.Alexei Shlychkov2012-09-274-258/+859
| | | | | | | | | | | | | | | | | | Added special handling for rotation. Added bandwidth optimizations. Bug fixes. Change-Id: I5f188b46355b51444e18a29ebcf0f62a557924d0 Signed-off-by: Alexei Shlychkov <x0177296@ti.com>
* | gcx: added generic YUV programming for the blitter.Alexei Shlychkov2012-09-272-92/+114
| | | | | | | | | | Change-Id: I2041fdc3092ab04337c24f6a70ed3711da96894a Signed-off-by: Alexei Shlychkov <x0177296@ti.com>
* | gcx: fix format parsing/usage dependency.Alexei Shlychkov2012-09-272-10/+12
| | | | | | | | | | Change-Id: I57a8a6f49fdf6bbfa150c25c78057fec5f7892d0 Signed-off-by: Alexei Shlychkov <x0177296@ti.com>
* | gcx: destination setup enhanced.Alexei Shlychkov2012-09-276-193/+288
| | | | | | | | | | | | | | | | | | | | Separated common setup shared between all operations from parameters that only apply for bitblt. Scaler will have different setup for those parameters (for ex. rotation). Change-Id: Ib85e288dbc59aa5b86b6dc810d3eb8c78471d91d Signed-off-by: Alexei Shlychkov <x0177296@ti.com>
* | gcx: error handling improvements and fixes.Alexei Shlychkov2012-09-273-74/+106
| | | | | | | | | | Change-Id: I3d19564422501dd76772760e5c2fdb152d031825 Signed-off-by: Alexei Shlychkov <x0177296@ti.com>
* | gcx: added generic format parser.Alexei Shlychkov2012-09-275-378/+408
| | | | | | | | | | | | | | RGB and YUV formats are now generically supported. Change-Id: I9911119c6323ac91a63e1fb7d0a3012038985d8e Signed-off-by: Alexei Shlychkov <x0177296@ti.com>
* | gcx: added gcpwr_get_speed function and cur_freq debugfs entry.Alexei Shlychkov2012-09-273-1/+54
| | | | | | | | | | | | | | Determines the current speed of GC320 in megahertz. Change-Id: I0aadf024193d8c1d2aac7ef79604367249939831 Signed-off-by: Alexei Shlychkov <x0177296@ti.com>
* | gcx: change uvshift for NV12 rotation to work properlyJack Yen2012-09-271-4/+17
| | | | | | | | | | | | | | | | | | 90/270 degree rotation is fixed by adjusting the uv plane address to get the proper uvplane starting address after the rotation. Change-Id: I350b83a77bd80efef6d470a30a46386c53628082 Signed-off-by: Jack Yen <jyen@ti.com>
* | gcx: update version to 2.2.Craig Stout2012-09-101-4/+4
| | | | | | | | | | Change-Id: I7302e6099f6fae8880e6f1406c040bfe56833439 Signed-off-by: Craig Stout <craig.stout@ti.com>
* | gcx: make gccmdthread interruptible to avoid false hung task detection.Craig Stout2012-09-101-2/+5
| | | | | | | | | | Change-Id: I0e7172e2ddcf32571d745daed7b4e9e3bad1e0c6 Signed-off-by: Craig Stout <craig.stout@ti.com>
* | gcx: adjust cache rect based on orientationJack Yen2012-08-301-6/+15
| | | | | | | | | | Change-Id: If18483ae6a054f3fbdc036cedca10b3178cd16b0 Signed-off-by: Jack Yen <jyen@ti.com>
* | gcx: validate dest rect after clippingCraig Stout2012-08-301-17/+39
| | | | | | | | | | | | | | | | | | | | | | | | According to bltsville spec, rectangles should not be checked for validity until clipping has been applied. So we must clip the dest rect before validating it. Removed the error checking from the generic rect converter macro. Added error checking specifically for clip rect and dest rect, post clipping. Proper validity checking of other rects is TBD. Change-Id: Ic42ad7d7cf7bffa1af6423772a657ef357de0a1b Signed-off-by: Craig Stout <craig.stout@ti.com>
* | cache-2dmanager: handle case where physical page not found.Craig Stout2012-08-301-51/+52
| | | | | | | | | | | | | | | | This can happen if a userspace app allocates a buffer but doesn't initialize it, and does not explicitly map the buffer. Change-Id: Ia431bb8bd713c3eb8ac937b274e8422bc23651f0 Signed-off-by: Craig Stout <craig.stout@ti.com>
* | gcx: fixed pulse skipping init bug.Alexei Shlychkov2012-08-302-72/+99
| | | | | | | | | | Change-Id: I4556ac3ec2b4b3445fb96f3ec0e7849800768f88 Signed-off-by: Alexei Shlychkov <x0177296@ti.com>
* | gcx: fix race conditions on suspend.Craig Stout2012-08-301-8/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | There was a race between the suspend thread waiting for idle and an app thread attempting to push more into the gcqueue, which could cause the suspend to block until the max retry count was reached. Also, it was possible for the gccmdthread to notice gc320 is idle while attempting to suspend and simultanesouly gc320 completed processing some cmd buffers that require proper interrupt-aware cleanup. Change-Id: Ia7fdb29c5e2936d07b4c7ce58638b57c1f10c955 Signed-off-by: Craig Stout <craig.stout@ti.com>
* | gcx: fix mmu context switch issues.Craig Stout2012-08-301-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | On an mmu context switch, an mmu flush is required. When the mmu is enabled after a power off, the mmu context at the head of the cmd buffer queue is made current but the cached current context was not updated so the next process to try a commit would throw an l3 bus error. Change-Id: Ifc5e315e2c237644399db39c60bf8d6dfcd6e491 Signed-off-by: Craig Stout <craig.stout@ti.com>
* | gcx: added scaling support.Alexei Shlychkov2012-08-3015-893/+2937
| | | | | | | | | | | | | | Includes support for nv12 source. Change-Id: I6af32e3d38bfbcc804c0f64ae1b863f8327a5af1 Signed-off-by: Alexei Shlychkov <x0177296@ti.com>