Skip to content

Conversation

@Snuzzo
Copy link
Owner

@Snuzzo Snuzzo commented Jun 5, 2013

No description provided.

Chad0989 and others added 30 commits February 12, 2013 22:04
This patch adds the implementation of a new scheduling algorithm - ROW.
The policy of this algorithm is to prioritize READ requests over WRITE
as much as possible without starving the WRITE requests.

Change-Id: I4ed52ea21d43b0e7c0769b2599779a3d3869c519
Signed-off-by: Tatyana Brokhman <tlinder@codeaurora.org>

block: ROW: Correct minimum values of ROW tunable parameters

The ROW scheduling algorithm exposes several tunable parameters.
This patch updates the minimum allowed values for those parameters.

Change-Id: I5ec19d54b694e2e83ad5376bd99cc91f084967f5
Signed-off-by: Tatyana Brokhman <tlinder@codeaurora.org>

block: ROW: Fix forced dispatch

This patch fixes forced dispatch in the ROW scheduling algorithm.
When the dispatch function is called with the forced flag on, we
can't delay the dispatch of the requests that are in scheduler queues.
Thus, when dispatch is called with forced turned on, we need to cancel
idling, or not to idle at all.

Change-Id: I3aa0da33ad7b59c0731c696f1392b48525b52ddc
Signed-off-by: Tatyana Brokhman <tlinder@codeaurora.org>

block: Add support for reinsert a dispatched req

Add support for reinserting a dispatched request back to the
scheduler's internal data structures.
This capability is used by the device driver when it chooses to
interrupt the current request transmission and execute another (more
urgent) pending request. For example: interrupting long write in order
to handle pending read. The device driver re-inserts the
remaining write request back to the scheduler, to be rescheduled
for transmission later on.

Add API for verifying whether the current scheduler
supports reinserting requests mechanism. If reinsert mechanism isn't
supported by the scheduler, this code path will never be activated.

Change-Id: I5c982a66b651ebf544aae60063ac8a340d79e67f
Signed-off-by: Tatyana Brokhman <tlinder@codeaurora.org>

block: Add API for urgent request handling

This patch add support in block & elevator layers for handling
urgent requests. The decision if a request is urgent or not is taken
by the scheduler. Urgent request notification is passed to the underlying
block device driver (eMMC for example). Block device driver may decide to
interrupt the currently running low priority request to serve the new
urgent request. By doing so READ latency is greatly reduced in read&write
collision scenarios.

Note that if the current scheduler doesn't implement the urgent request
mechanism, this code path is never activated.

Change-Id: I8aa74b9b45c0d3a2221bd4e82ea76eb4103e7cfa
Signed-off-by: Tatyana Brokhman <tlinder@codeaurora.org>

row: Adding support for reinsert already dispatched req

Add support for reinserting already dispatched request back to the
schedulers internal data structures.
The request will be reinserted back to the queue (head) it was
dispatched from as if it was never dispatched.

Change-Id: I70954df300774409c25b5821465fb3aa33d8feb5
Signed-off-by: Tatyana Brokhman <tlinder@codeaurora.org>

block:row: fix idling mechanism in ROW

This patch addresses the following issues found in the ROW idling
mechanism:
1. Fix the delay passed to queue_delayed_work (pass actual delay
   and not the time when to start the work)
2. Change the idle time and the idling-trigger frequency to be
   HZ dependent (instead of using msec_to_jiffies())
3. Destroy idle_workqueue() in queue_exit

Change-Id: If86513ad6b4be44fb7a860f29bd2127197d8d5bf
Signed-off-by: Tatyana Brokhman <tlinder@codeaurora.org>

row: Add support for urgent request handling

This patch adds support for handling urgent requests.
ROW queue can be marked as "urgent" so if it was un-served in last
dispatch cycle and a request was added to it - it will trigger
issuing an urgent-request-notification to the block device driver.
The block device driver may choose at stop the transmission of current
ongoing request to handle the urgent one. Foe example: long WRITE may
be stopped to handle an urgent READ. This decreases READ latency.

Change-Id: I84954c13f5e3b1b5caeadc9fe1f9aa21208cb35e
Signed-off-by: Tatyana Brokhman <tlinder@codeaurora.org>

block: row: Add some debug information on ROW queues

1. Add a counter for number of requests on queue.
2. Add function to print queues status (number requests
   currently on queue and number of already dispatched requests
   in current dispatch cycle).

Change-Id: I1e98b9ca33853e6e6a8ddc53240f6cd6981e6024
Signed-off-by: Tatyana Brokhman <tlinder@codeaurora.org>

block: row: Insert dispatch_quantum into struct row_queue

There is really no point in keeping the dispatch quantum
of a queue outside of it. By inserting it to the row_queue
structure we spare extra level in accessing it.

Change-Id: Ic77571818b643e71f9aafbb2ca93d0a92158b199
Signed-off-by: Tatyana Brokhman <tlinder@codeaurora.org>

block: row: fix sysfs functions - idle_time conversion

idle_time was updated to be stored in msec instead of jiffies.
So there is no need to convert the value when reading from user or
displaying the value to him.

Change-Id: I58e074b204e90a90536d32199ac668112966e9cf
Signed-off-by: Tatyana Brokhman <tlinder@codeaurora.org>

block: row: Aggregate row_queue parameters to one structure

Each ROW queues has several parameters which default values are defined
in separate arrays. This patch aggregates all default values into one
array.
The values in question are:
 - is idling enabled for the queue
 - queue quantum
 - can the queue notify on urgent request

Change-Id: I3821b0a042542295069b340406a16b1000873ec6
Signed-off-by: Tatyana Brokhman <tlinder@codeaurora.org>

block: fixes required to make the kernel compile with ROW.
Change-Id: I2af87c132f95cdae97b381e96cf9a9cc4253c1c5
Change-Id: If4e5e42ca585824ed2ea636895d9645917cd2a1f
Signed-off-by: helicopter88 <johnlemon.lol@gmail.com>
Change-Id: If9c8e2ff366acc3e6c08e6342f67d32c37a43984

Conflicts:
	drivers/gpu/msm/a2xx_reg.h
	drivers/gpu/msm/adreno.c
	drivers/gpu/msm/adreno_a2xx.c
	drivers/gpu/msm/kgsl.c
	drivers/gpu/msm/kgsl_device.h
Change-Id: I853f9dc3c5e2c28a441367ec0f044dc317ba9930
Change-Id: I589c8ebb854a2f883b7996be7795f4069b8f3760
For use with new display and media repos

Change-Id: Ibf0eb4f9dbdfa37081af24b9e1fd3accc3ffce4e
Change-Id: I8bf66ce48190490b6cae15ca8a3f021e6ac0d02e
Change-Id: I74f5239677eee4c15b389279190488fb206de6df
Change-Id: If0139897c19254c3e40f6b8925b9351c1d9514ec
This host driver will be used to communicate with modem devices
with dial up network and RMNET interfaces. This driver works as
a bridge to pass control and data packets between the modem and
peripheral usb gadget driver. Driver currently supports
modem devices (vendor ID 0x05c6) with PIDs 0x9001

Change-Id: Id85b552b39d061528a1c3c90a354d73580c9b631
Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
Signed-off-by: Jack Pham <jackp@codeaurora.org>
Enabled by default, can disable with:
   echo N > /sys/module/otg_wakelock/parameters/enabled

Change-Id: I34974624c52ae23490852b44c270d2f326cf6116
Signed-off-by: Todd Poynor <toddpoynor@google.com>

usb: otg: Temporarily grab wakelock on charger and disconnect events

Change-Id: If995d4af4adcb08e8369009483f2956ad9627267
Signed-off-by: Todd Poynor <toddpoynor@google.com>

add for OTG support by faux123
Change-Id: Ie693c3feee0f8e19fc406c12e1e91af6a52ec731
Conflicts:
	drivers/char/diag/diagchar_core.c
	drivers/char/diag/diagfwd.c
	drivers/usb/gadget/Kconfig
	drivers/usb/gadget/android.c
	drivers/usb/gadget/ci13xxx_udc.c
	drivers/usb/gadget/composite.c
	drivers/usb/gadget/f_adb.c
	drivers/usb/gadget/f_mass_storage.c
	drivers/usb/gadget/f_rmnet_sdio.c
	drivers/usb/gadget/f_rmnet_smd_sdio.c
	drivers/usb/gadget/f_serial.c
	drivers/usb/gadget/u_ether.c

Change-Id: I67b3945aa74ba09fd8a99962c718de5713b44f5d
Change-Id: I05998d85acb0e9c2729da1a7dbbec38da035bbd3
HTC panels don't seem to work correctly with the Android
CRT-off animation. Add a short sleep period to let userspace
finish drawing the animation.
Change-Id: I388dcbc074dece7615f5b5d1a37a85643e3fd037
Change-Id: I0b2ccbbdc5207af4a8ff919f76e07b70eee7b0e6
Nagamalleswararao Ganji and others added 27 commits June 5, 2013 23:33
Add support for the ION memory manager
to the framebuffer driver

Adapted to HTC Evo 3D by Johnnyslt

Change-Id: If012dcdbbc71eb0f7d4d429ad4789b3276d34a58
Signed-off-by: Nagamalleswararao Ganji <nganji@codeaurora.org>
Signed-off-by: Naseer Ahmed <naseer@codeaurora.org>
Signed-off-by: Darescu Ionut <johnny@esi.ro>
Add control definitions and documentation for controls
specific to codec devices.

Signed-off-by: Kamil Debski <k.debski@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Change-Id: I94e1be196120988cfee2420ba6bd342eece1f481
Signed-off-by: Deva Ramasubramanian <dramasub@codeaurora.org>
v4l2_qcom_frameskip is a QCOM specific parameter to be used with
VIDIO_S_PARM to indicate that the driver might take up to
maxframeinterval nanoseconds in providing the next buffer.

Driver supports this parameter if the V4L2_CAP_QCOM_FRAMESKIP capability
is set in VIDIO_G_PARM.

Change-Id: Iebbd012b9cc75395b1e165349e7e2d9d7a77160a
Signed-off-by: Deva Ramasubramanian <dramasub@codeaurora.org>
(cherry picked from commit 51cbd0a)
Add fourcc definitions and documentation for the following
compressed formats: H264, H264 without start codes,
MPEG1/2/4 ES, XVID, VC1 Annex G and Annex L compliant.

Change-Id: Ibd87db4f72793310871ebd7a178e9593c4b54d33
Signed-off-by: Kamil Debski <k.debski@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Signed-off-by: Deva Ramasubramanian <dramasub@codeaurora.org>
(cherry picked from commit 8b02007)
Without error concealment, there is a bug in video core due to which it
goes in to bad state for certain clips and times out. This change fixes
the issue.

CRs-fixed: 336167
Signed-off-by: Arun Menon <menon@codeaurora.org>
(cherry picked from commit 0a1dfa3)

Change-Id: Ib3f8de2ff96bfe4d0db35197950fe758f9186b03
Signed-off-by: Yen-Pin Hsiao <yphsiao@codeaurora.org>
Signed-off-by: Darescu Ionut <johnny@esi.ro>
Added check for frame rate change. Corner case if there is no
change in xres,yres and pixclock.

CRs-Fixed: 356328
Signed-off-by: Siddhartha Agrawal <agrawals@codeaurora.org>
(cherry picked from commit 1b92af6)

Change-Id: I43cb099068ef4c69a364b142eb3c34a3fc426db6
Signed-off-by: Ramakrishna Prasad N <crpn@codeaurora.org>
Signed-off-by: Darescu Ionut <johnny@esi.ro>
The video driver needs control of some IOMMU clocks for secure video
playback. Add the necessary aliases to the clk_lookup table.

(cherry picked from commit 966922b)

Change-Id: Ibdaf3d1f05aa0dd3e1feb0a5f2a07892b0eba586
Signed-off-by: Riaz Ur Rahaman <riazr@codeaurora.org>
Change-Id: I209f9db2824e0313f467f11ab09e5f54f0a4a6b5
Signed-off-by: Erik Gilling <konkers@android.com>
Change-Id: I1042851f5e30f9fdc2f35bdad84123bcf108560f
Signed-off-by: Erik Gilling <konkers@android.com>

Conflicts:
	drivers/base/Kconfig
Change-Id: I2ad855072b86873880769a09a3176e85aa1199d7
Signed-off-by: Erik Gilling <konkers@android.com>
Change-Id: I8a7ea63e454fbeee1ecf17e6c3caff7c43b24734
Signed-off-by: Erik Gilling <konkers@android.com>
Change-Id: I71410aef7e03a52562f7cb15b993ac8441b1fa12
Signed-off-by: Erik Gilling <konkers@android.com>
Change-Id: Ib3812d282db56362d82f5ccc9a12b7d2100ab93a
Signed-off-by: Erik Gilling <konkers@android.com>
Change-Id: I294e481bba92658e6dd26f157ddbf0e9ff4ce8a5
Signed-off-by: Erik Gilling <konkers@android.com>
- Revert "base: sync: signal a sync pt when not adding to the
active_list"
- sync: Fix error paths
- sync: add tracepoint support
- sync: refactor sync debug printing
- sync: use proper barriers when waiting indefinitely
- sync: update new fence status with sync_fence_signal_pt
- sync: dump sync state of fence errors
- sync: protect unlocked access to fence status
- base: sync: signal a sync pt when not adding to the active_list
- sync: improve timeout dumps
- sync: use correct signed type when handling SYNC_IOC_WAIT
- sync: dump sync state to console on timeout
- sync: clean up compiler warnings
- sync: fix erase-o in sync_fence_wait
- sync: change wait timeout to mirror poll semantics
- sync: add reference counting to timelines
- sync: add internal refcounting to fences
- sync: optimize fence merges
- sync: reorder sync_fence_release
- sync: export sync API symbols
- sync: allow async waits to be canceled

Change-Id: Id65ecdd395782d487773bdf7baa3ed681a72b729
Signed-off-by: Shruthi Krishna <skrish@codeaurora.org>
Change-Id: I1fc0d10ef6f7c42498d2f7b8814befc636ddc659
Taken from Lexmaster's kernel
Signed-off-by: helicopter88 <johnlemon.lol@gmail.com>

Change-Id: I4cdbe443f672c45ddaef67c146e855c8ec341306
Change-Id: I37f132a71e10c93c42f7cea4e7c7b63a6fa6f5a2
Signed-off-by: helicopter88 <johnlemon.lol@gmail.com>
Change-Id: I4c5c6b7480f790f664ea170f1a23d832d660e556
Change-Id: I51aebd508188da814d2f3baf93658fbbb7f7bc1f
Change-Id: I3ba925359c5ef693c12e349c0d9d56a95b706989
Snuzzo pushed a commit that referenced this pull request Dec 20, 2013
Snuzzo pushed a commit that referenced this pull request Dec 20, 2013
sweep2unlock: Add sweep2unlock v0.1

Thanks to Ezekeel's gladoskernel source which helped me
a lot in understanding how to emulate a virtual powerkey press.
The powerkey emulation is largely inspired by his coding for
Touch2Wake (Galaxy Nexus).

sweep2unlock: check if screen is offline

sweep2unlock: remove lck_reverse & checks

sweep2unlock: change sleep value, correct typo, add comment

sweep2unlock: change conditions

Don't assume unlock/lock is triggered if only one
condition is met. The new implementation includes
checking if 3 barriers are hit before triggering
the lock/unlock.
This assures only intentional triggering.
Also only allow one trigger as long as the finger
still touches the screen. Reset and allow another
trigger if the all fingers are lifted.

sweep2unlock: change barriers for screenoff trigger to avoid taking loads of screenshots :D

sweep2unlock: set scr_suspended early so that additional locks/unlocks are avoided

sweep2unlock: don't allow jumping through all barriers without having hit them

sweep2unlock: use an additional variable to determine if the barrier is already breached

sweep2unlock: change values to avoid taking screenshots when touching 'home'

sweep2unlock: break the loop if triggered, decrease sleep delay, change values to avoid screenshots when fast sweeping #2

sweep2unlock: Change barriers and homebutton back to original values.

The screenshot function from the HTC framework should
be disabled to avoid taking screenshots. This is the
proper way of doing things. We still have the AOSP
screenshot variant which can be accessed by pressing
Vol.DOWN + POWER at the same time and holding them for
about one second.

sweep2unlock: restructure early suspend / late resume hack

sweep2unlock: relocate main code, reformat it, change debug echo, slight 3rd barrier adjustment

sweep2unlock: use wakelocks

This solves not triggering irqs while the screen is offline.
It has to show how that affects battery life.

sweep2wake: rename sweep2unlock

sweep2wake: 'fat finger' fix ;)

sweep2wake: Add Kconfig entry

sweep2wake: redesign wakelocks

Only wakelock if necessary and release the wakelock immediately if not.

sweep2wake: allow the touchscreen irq to wake the phone

sweep2wake: remove wakelocks from the code

Since we now have a completely interrupt based wake up call
these wakelocks are obsolete so remove them.

sweep2wake: fix unresponsive touchscreen (depends on hw revision)

sweep2wake: redefine barriers for easier (un)locks

sweep2wake: add debug info

sweep2wake: fix typo, no need to enable something that is already enabled

sweep2wake: increase simulated powerkey press length

sweep2wake: Don't set suspended state if screen is not suspended

sweep2wake: add cmdline interface (on/off)

sweep2wake: reenable all suspend/resume commands if s2w_switch == false

cmdline_s2w: add debug output

sweep2wake: restructure ifdefs to gain readability

sweep2wake: always set suspend=1, reset baseline

If this is not set the baseline will not be reset
when the device comes from sleep, which results
in an unresponsive touchscreen. (Similiar to a
gounding issue)

sweep2wake: get button-backlight device

sweep2wake: enable dynamic button_backlight

If the screen is offline and you touch the home button (aka start a
sweep2unlock) the capacitive buttons will light up to guide your path.
They will be shutdown again as soon as you lift your finger.

sweep2wake: fix unlock start position

sweep2wake: Only reset the baseline if the screen is suspended, fix for old touchcontroller hwrev

sweep2wake: on resume suspend our touch controller for a short while
This allows resume to wake it up the right way a bit further down.
This is a HW revision fix, it is not needed for all touch controllers!

Sadly this breaks the sweep2unlock gesture.

sweep2wake: revert resetting the baseline

sweep2wake: button_backlight: fix backlight staying on

sweep2wake: fix led flickering as far as possible for now

sweep2wake: fix button_backlight being activated when sweeping to lock the phone

sweep2wake: increase fake suspend time, hw revision fix

sweep2wake: fix incorrect debug message

sweep2wake: add option to disable the button backlight control

input/touchscreen: cy8c: fix multitouch on certain hw revisions

sweep2wake: add sysfs-interface

sweep2wake: sysfs: no need to set the same value again :)

Signed-off-by: showp1984 <showp1984@gmail.com>

sweep2wake: sysfs: add missing ifdefs

Signed-off-by: showp1984 <showp1984@gmail.com>
Snuzzo pushed a commit that referenced this pull request Dec 20, 2013
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.