1
0
Fork 0
mirror of https://github.com/followmsi/android_kernel_google_msm.git synced 2024-11-06 23:17:41 +00:00
Commit graph

3 commits

Author SHA1 Message Date
Duy Truong
04e554807c Update copyright to The Linux Foundation
Change-Id: Ibead64ce2e901dede2ddd1b86088b88f2350ce92
Signed-off-by: Duy Truong <dtruong@codeaurora.org>
2013-03-15 17:07:39 -07:00
Praneeth Paladugu
ed5877d4b2 msm: vidc: Adds support to send new command
- Adds supports to send DECODER command to
decoder which inturn used to CLOSE the instance.
- Adds supports to send ENCODER command to
encoder which inturn used to CLOSE the instance.

Change-Id: Ia6037fdf66824538124f775442150b7a4ed201b8
Signed-off-by: Praneeth Paladugu <ppaladug@codeaurora.org>
2013-02-27 18:21:18 -08:00
David Brown
cf5a4992bf msm: vidc: Add msm video core driver
commit 72d9968a380b41386631d83bbca4f02fe87658c8
Author: Arun Menon <menon@codeaurora.org>
Date:   Wed Dec 26 22:09:02 2012 -0800

    msm: vidc: rename functions in hfi layer to hardware specific

    The V4L2 video driver hfi layer would be supporting
    Venus hardware and Q6 firmware for video encode\decode.
    So renaming the functions specific to Venus and common
    functionality accordingly.

    Change-Id: Iaacf44bfe4fd5735fe5e82f335e01e8a314f6575
    Signed-off-by: Arun Menon <menon@codeaurora.org>

commit 2f39048f9e548d11134ae686549f92283e23d319
Author: Arun Menon <menon@codeaurora.org>
Date:   Wed Dec 26 15:43:01 2012 -0800

    msm: vidc: move vidc resources inside hfi layer

    As a part of V4L2 video driver restructure, hardware
    specific resources such as ocmem, bus bw requests are
    moved inside hardware specific hfi layer. This is needed
    since same V4L2 video driver will be supporting video
    decode\encode on both venus and Q6 hardware.

    Change-Id: I35eef5051d07ba36f61eded3c58018fde28ca57d
    Signed-off-by: Arun Menon <menon@codeaurora.org>

commit bf94306622a59f35d4e0079e5df4ee60cedafe0c
Author: Arun Menon <menon@codeaurora.org>
Date:   Tue Dec 18 14:13:15 2012 -0800

    msm: vidc: create common packetization module

    Venus and Q6 host firmware interface (hfi) share common
    packet interface. The hfi_packetization module
    will be used by both Q6 and Venus hfi layers to create
    packets.

    Change-Id: I74d89d8568315a8e21fa07179eeeb1d9132048e9
    Signed-off-by: Arun Menon <menon@codeaurora.org>

commit d9223b518a19e40e306523b42678e3d1518673be
Author: Arun Menon <menon@codeaurora.org>
Date:   Mon Nov 5 13:56:04 2012 -0800

    msm: vidc: Rename hal files to hfi

    The v4l2 video driver will be supporting multiple
    Host Firmware Interface (HFI) layers, so renaming
    generic file names to hfi specific ones.

    Change-Id: If96e23619fc28a03841e9e41470d1de86406ad2f
    Signed-off-by: Arun Menon <menon@codeaurora.org>

commit ed7d1fa26f4ec8f263c63a926e6a5308ab4066bf
Author: Praneeth Paladugu <ppaladug@codeaurora.org>
Date:   Fri Dec 14 16:22:08 2012 -0800

    msm_vidc: Add support to log Firmware debug messages

    Driver need to configure the debug mode to
    Venus firmware. Venus firmware won't send any
    messages to driver without this setting.
    This change fixes the same.

    Change-Id: I24cac6054afc65b9672bb5b294d641053ddd87ea
    Signed-off-by: Praneeth Paladugu <ppaladug@codeaurora.org>

commit c66cd9a1ae4933b1585d381bfd44f36b9632deb6
Author: Vinay Kalia <vkalia@codeaurora.org>
Date:   Fri Dec 14 14:53:54 2012 -0800

    msm_vidc: Notify subsystem framework of venus subsystem crashes

    The subsystem framework will use this information to do
    housekeeping work on the subsystem like taking ramdumps
    (if enabled) when the next subsystem_put() is called, etc.

    Change-Id: I5b76acde223e46c04b51a6b84950f4d59566c8c7
    Signed-off-by: Vinay Kalia <vkalia@codeaurora.org>

commit 484fa46427fddc8f72758b90b7646317cf688e32
Author: Vinay Kalia <vkalia@codeaurora.org>
Date:   Fri Dec 14 15:17:00 2012 -0800

    msm_vidc: Handle venus watchdog timeout

    Handle venus watchdog timeout by informing all
    clients about the error so that existing video
    sessions can be closed.

    Change-Id: I631e319c810d8114050b21038e2f9edbbaf7427e
    Signed-off-by: Vinay Kalia <vkalia@codeaurora.org>

commit ca878a968d466b432cfec23935bbeb10c9855d33
Author: Vinay Kalia <vkalia@codeaurora.org>
Date:   Fri Dec 14 13:57:54 2012 -0800

    msm_vidc: Remove SSR related code

    Remove venus subsystem restart related code as this
    code is obsolete now after architecture changes in
    subsystem restart framework.

    Change-Id: I429f5d6ccf6d0a6f0d2513fb0e52c2ed0206e77d
    Signed-off-by: Vinay Kalia <vkalia@codeaurora.org>

commit 86aa0d6de817dbd4e9bd8a009621f297a7349aaf
Author: Praneeth Paladugu <ppaladug@codeaurora.org>
Date:   Fri Dec 14 00:29:33 2012 -0800

    msm_vidc: Add support to send EOS NAL

    If FW detectd End Of Sequence through NAL unit, it
    sets a flag in FBD message. Add support to process
    this flag and convey to userspace.

    Change-Id: I1224199b0a0db727278898e6d8ef2bb49f814d57
    Signed-off-by: Praneeth Paladugu <ppaladug@codeaurora.org>

commit 1d498a8d96fd01691a1c05809feeb50cc881ec7e
Author: Ashray Kulkarni <ashrayk@codeaurora.org>
Date:   Thu Oct 18 17:08:17 2012 -0700

    msm_vidc: Update bus bandwidth request to support 4kx2k resolution

    when running 4kx2k videos, video driver was not requesting enough bus
    bandwidth, resulting in low performance. This change updates bus
    request for both encoder and decoder.

    Change-Id: Ic5458338443d777ce3b9a274677c10a62581e9a2
    Signed-off-by: Ashray Kulkarni <ashrayk@codeaurora.org>

commit 9c52fe1998e67983e548a384b2ce6cf620a53fe2
Author: Praneeth Paladugu <ppaladug@codeaurora.org>
Date:   Wed Dec 12 15:40:56 2012 -0800

    msm_vidc: Add error check for clock scaling.

    Clock scaling uses timestamp to determine the current fps.
    Timestamp for some frames might be invalid and shouldn't
    be used to calculate the fps. Add a check to handle this case.

    Change-Id: I8c570b131d11b1d2644806714fe2a726ca155eb5
    Signed-off-by: Praneeth Paladugu <ppaladug@codeaurora.org>

commit aed3021f83932b0bc50ff52e6bc0b088a58c4223
Author: Deva Ramasubramanian <dramasub@codeaurora.org>
Date:   Tue Dec 11 18:27:23 2012 -0800

    msm: vidc: Numerator of timeperframe should be in seconds

    Currently we're treating the numerator of timeperframe as microseconds.
    This is contrary to the V4L2 spec, hence treat it in units of seconds.

    Change-Id: Id934e38c055fe8977557cd6ed464051330607439
    Signed-off-by: Deva Ramasubramanian <dramasub@codeaurora.org>

commit d08430e2ffad551f7b99e591aab83c05060d278d
Author: Deva Ramasubramanian <dramasub@codeaurora.org>
Date:   Tue Oct 23 15:23:38 2012 -0700

    msm: vidc: Deprecate V4L2_CID_QCOM_VIDEO_SYNC_FRAME_SEQ_HDR

    Removing the vendor specific control V4L2_CID_QCOM_VIDEO_SYNC_FRAME_SEQ_HDR
    in favour of the more standard V4L2_CID_MPEG_VIDEO_HEADER_MODE.

    Change-Id: Iae2b357f23bbcd68af5b38fcbb08d97763dd1dc4
    Signed-off-by: Deva Ramasubramanian <dramasub@codeaurora.org>

commit 05c648e741255b2f7138f801496412a2ef3ccccc
Author: Deva Ramasubramanian <dramasub@codeaurora.org>
Date:   Wed Dec 5 18:03:25 2012 -0800

    msm: vidc: add support for V4L2_CID_MPEG_VIDEO_HEADER_MODE

    Add support for V4L2_CID_MPEG_VIDEO_HEADER_MODE, which changes the
    interface by which userspace can request for the video header.

    Change-Id: I412316c5173d677b2797b6b30f91dc0ead596718
    Signed-off-by: Deva Ramasubramanian <dramasub@codeaurora.org>

commit 5b624bbfabfafa36c443d9b36d5912979eeb753f
Author: Deva Ramasubramanian <dramasub@codeaurora.org>
Date:   Mon Oct 22 19:09:10 2012 -0700

    msm: vidc: Allow client to set only bitrate mode

    Add support for V4L2_CID_MPEG_VIDEO_BITRATE_MODE which is a standard
    V4L2 control.  This precedes the custom QCOM specific control which only
    allows the client to set the bitrate and the framerate.

    Change-Id: Idb2bef8f5b10a2d72c0d02be628f67eb878826c7
    Signed-off-by: Deva Ramasubramanian <dramasub@codeaurora.org>

commit 5084a757570b3ee5220442721d0bbff5787fe31f
Author: Deva Ramasubramanian <dramasub@codeaurora.org>
Date:   Mon Oct 22 16:21:28 2012 -0700

    msm: vidc: Add support for setting I-frame period

    Add support for the V4L2 standard control for setting I-frame period.
    Thus far, we've only had support for setting the IDR-frame period.

    Change-Id: I877ec596d9056dd24384718bcb397bc5b8e6eede
    Signed-off-by: Deva Ramasubramanian <dramasub@codeaurora.org>

commit 2c2836fb7572d2d5eeaf622fddb4f44734d2d860
Author: Deva Ramasubramanian <dramasub@codeaurora.org>
Date:   Mon Nov 5 18:39:43 2012 -0800

    msm: vidc: Group controls into clusters

    Organize related controls into clusters.  This commit does away with
    hacks to store values of related controls in static structures which
    inhibit concurrency use cases.

    CRs-Fixed: 414261
    Change-Id: I7347a8c10b57be22be34d88b0a1a7bca5ce8b8a1
    Signed-off-by: Deva Ramasubramanian <dramasub@codeaurora.org>

commit d7cd510da3eff4645227144c2d33fcda074443f3
Author: Praneeth Paladugu <ppaladug@codeaurora.org>
Date:   Tue Oct 30 19:20:54 2012 -0700

    msm: vidc: Add support for decoder dynamic clock scaling

    Add support for dynamic clock scaling by calculating the
    decoding fps. Fps is calculated using input timestamps.

    CRs-fixed: 405399
    Change-Id: I0f09d902a3d44a9b93540ed652f872baf8ef8264
    Signed-off-by: Praneeth Paladugu <ppaladug@codeaurora.org>
    Signed-off-by: Ashray Kulkarni <ashrayk@codeaurora.org>
    Signed-off-by: Vinay Kalia <vkalia@codeaurora.org>

commit 37529ad4569b2ab42d5b5690b6b286da58491b3b
Author: Vinay Kalia <vkalia@codeaurora.org>
Date:   Fri Dec 7 15:20:23 2012 -0800

    msm: vidc: Fallback to IOMMU heap

    Video buffer allocation falls back to IOMMU
    heap if MM heap runs out of memory. This helps
    reduce MM carveout size while supporting higher
    resolution encoding/decoding.

    CRs-fixed: 420585
    Change-Id: I3b71a722cbff3bcac32fdd3d74908685870d51ad
    Signed-off-by: Vinay Kalia <vkalia@codeaurora.org>

commit d9db1c618b1804eab402129878d710cd70a0f5c8
Author: Vinay Kalia <vkalia@codeaurora.org>
Date:   Thu Dec 6 16:44:33 2012 -0800

    msm: vidc: Print buffer address in hex

    Print buffer address in hex for readability.

    Change-Id: I8c747701b5a6f8c1669ad31537721954af135594
    Signed-off-by: Vinay Kalia <vkalia@codeaurora.org>

commit eea3cc694bfd3af1ba2643585a06736397543157
Author: Vinay Kalia <vkalia@codeaurora.org>
Date:   Wed Dec 5 17:38:36 2012 -0800

    msm: vidc: Driver cleanup on receiving SYS error

    SYS errors reported by firmware are handled properly
    and reported to client. On receiving SYS error client
    tries to close the driver. Cleanup in such scenarios
    was not proper. This change fixes that.

    CRs-fixed: 420316
    Change-Id: Ied7303bc2ecf4def6241dc7a37eceb1265417c2e
    Signed-off-by: Vinay Kalia <vkalia@codeaurora.org>

commit d8e3de6042849eab31df3d6ee4486dcb356eda3f
Author: Praneeth Paladugu <ppaladug@codeaurora.org>
Date:   Fri Nov 16 17:31:30 2012 -0800

    msm: vidc: Add error check before calling release buffers to FW

    Release buffers can be called in any FW state. If release
    buffers called in non-release reources state, the FW might
    use them whereas the driver will unmap them causing IOMMU page fault.

    Change-Id: I21e7ac3e696594c0a802bd6066ef7a9a3ab9f12b
    Signed-off-by: Praneeth Paladugu <ppaladug@codeaurora.org>

commit cc8192a0ace8ddd5bd44adca3347ff98296309a1
Author: Praneeth Paladugu <ppaladug@codeaurora.org>
Date:   Wed Nov 28 17:08:27 2012 -0800

    msm: vidc: Fix NULL pointer exception

    The error check to validate the device open failure has an
    issue where it is checking the wrong variable. This lead
    to NULL pointer access. This change fixes the same.

    CRs-Fixed: 417092
    Change-Id: I635fc43b19a368c2477ab41c9d6d28ec9dc8524e
    Signed-off-by: Praneeth Paladugu <ppaladug@codeaurora.org>

commit 949c2524f9c8d3cf9dd9cf558c0a2cfd2dd2789f
Author: Ashray Kulkarni <ashrayk@codeaurora.org>
Date:   Thu Nov 8 18:33:18 2012 -0800

    msm_vidc: Fix race condition during buffer release

    Firmware accessed buffers when driver was freeing them. To avoid this
    race condition, firmware now acknowledges release buffer command. Driver
    will wait for this response before releasing the buffers.

    CRs-fixed: 417952
    Change-Id: I1d28103fb4aa8ef55b3d3665a7202284887ae6f6
    Signed-off-by: Ashray Kulkarni <ashrayk@codeaurora.org>

commit 25731c7b1b5a36284729821c0f906392f000a4d6
Author: Vinay Kalia <vkalia@codeaurora.org>
Date:   Wed Nov 28 12:36:01 2012 -0800

    msm: vidc: Vote for DDR BW before FW download

    Vote for DDR bandwidth before downloading video
    firmware so that as soon as hardware is brought
    out of reset it is able to access firmware. Not
    doing this might result in IOMMU page faults
    on starting video playback or recording.

    Change-Id: I91ecdcdc4c57765f848f75ae6f476cee46a16829
    Signed-off-by: Vinay Kalia <vkalia@codeaurora.org>

commit 7765f8331fe55363c35f3a28592bea064db6fbb1
Author: Vinay Kalia <vkalia@codeaurora.org>
Date:   Wed Nov 28 12:58:26 2012 -0800

    msm: vidc: Align secure buffer mappings to 1MB

    Secure buffer mappings should be aligned to 1MB
    for the mappings to succeed. This change takes
    care of that.

    Change-Id: I963df71271b9b24191ac94203d36a25fec90cdbf
    Signed-off-by: Vinay Kalia <vkalia@codeaurora.org>

commit 4e4922b4c17353c60b5b89fb4ed32d81b9868dd1
Author: Praneeth Paladugu <ppaladug@codeaurora.org>
Date:   Tue Nov 27 12:17:11 2012 -0800

    msm: vidc: update driver for firmware interface changes

    This change updates the driver with the new FW interface
    changes. FW modified various packet structures. So the
    changes have made to update the driver accordingly.
    The changes are backward compatible so these work
    with old FW as well.

    Change-Id: I6b34eb1282c74b2ac4a5dd7fc4b4435b9517070b
    Signed-off-by: Praneeth Paladugu <ppaladug@codeaurora.org>

commit bdcbe380dd07e711a20dbbc6da79768a8f2a6cbf
Author: Vinay Kalia <vkalia@codeaurora.org>
Date:   Mon Nov 26 21:01:52 2012 -0800

    msm: vidc: Unvote for bus BW after unloading FW

    Driver should unvote for bus bandwidth after all
    transactions are completed. Unvoting after unloading
    firmware makes sure there are no outstanding transactions.
    Without this change, stability of video playback might
    be impacted when video is played back to back.

    CRs-fixed: 419402
    Change-Id: I821f941183fc24ba65d6f17b3f39354e0d77b4bf
    Signed-off-by: Vinay Kalia <vkalia@codeaurora.org>

commit 60802d92c6c96dd57c9b2d988dc3334e731c83fe
Author: Deva Ramasubramanian <dramasub@codeaurora.org>
Date:   Wed Nov 21 14:53:35 2012 -0800

    msm: vidc: Use proper msm_vidc_core when handling SYS_ERROR

    When handling SYS_ERROR use device_id to determine the core rather than
    find the core via the instance (contained with in session_id).  The
    firmware does not respond with the proper session_id in cases of
    SYS_ERROR.

    When handling SESSION_ERROR pass through the session_id returned by the
    firmware, so that the instance can be cleaned up properly.

    Change-Id: Ic38feb0878579403a1c8e108f18d46bea2891795
    CRs-Fixed: 419792
    Signed-off-by: Deva Ramasubramanian <dramasub@codeaurora.org>

commit af26b337d6d092106c2fa099b2ed1a8cd3cf43af
Author: Vinay Kalia <vkalia@codeaurora.org>
Date:   Mon Nov 12 11:50:49 2012 -0800

    msm: vidc: Add control to enable extradata

    Add control to enable extradata. Client can use this
    control to enable a particular extradata for gathering
    additional information about the associated buffer.

    Change-Id: Ib39c614997cd43bee68fccac00d623ddd8caaf9b
    Signed-off-by: Vinay Kalia <vkalia@codeaurora.org>

commit 110e12cc3807af1401986147e6b8371c0c38518e
Author: Praneeth Paladugu <ppaladug@codeaurora.org>
Date:   Mon Nov 5 12:24:57 2012 -0800

    msm: vidc: Add change in error check for FW buffer requirements

    FW buffer requirements for some buffers can be zero.
    Driver treat them as an error and returing bad buffer
    requirement which are actually valid.Add a fix to
    process the FW buffer requirement correctly.

    Change-Id: I7116fe5a03be77d10b1ecab737f0f3504377f80f
    Signed-off-by: Praneeth Paladugu <ppaladug@codeaurora.org>

commit b0c1a9ae734a67a45e519bd67c5a1e7d9cbbea46
Author: Praneeth Paladugu <ppaladug@codeaurora.org>
Date:   Fri Nov 9 15:44:03 2012 -0800

    msm: vidc: Add fix to update capture port buffer size

    If the resolution changed and no port reconfig, the
    V4L2 framework and driver have different capture port
    buffer sizes. Due to this mismatch the buffer is rejected
    by V4L2 framework.Add fix to update the buffer size.

    Signed-off-by: Praneeth Paladugu <ppaladug@codeaurora.org>
    Change-Id: Ib2ed5684aa10d13a614a3e213afb449d1c3dee8c

commit 6c03c29dbb9e70d172674c33391daff210710db9
Author: Vinay Kalia <vkalia@codeaurora.org>
Date:   Tue Nov 13 13:35:25 2012 -0800

    msm: vidc: Fix a bug in state transition

    Fix a bug in state transition in driver. Without this
    fix some of the buffers were not released on firmware
    in following scenario:

    1. Video device is openend.
    2. Buffers are allocated.
    3. Video device is closed.

    This change fixes this issue.
    CRs-fixed: 419927

    Change-Id: I5f27b047971bcf1fb85e45a8c9d9938e177a4de5
    Signed-off-by: Vinay Kalia <vkalia@codeaurora.org>

commit 6472cd488fe6f5d59b442745700f0f88f4318a35
Author: Vinay Kalia <vkalia@codeaurora.org>
Date:   Thu Sep 6 14:12:34 2012 -0700

    msm: vidc: Changes for secure video playback

    Changes required to protect and unprotect buffer
    memory for secure video playback.

    Change-Id: Ia918e35142852b9cb51275972692914d4b78bfb9
    Signed-off-by: Vinay Kalia <vkalia@codeaurora.org>

commit d4497883dad4e34d0755cb7585db1088c2fb969e
Author: Ashray Kulkarni <ashrayk@codeaurora.org>
Date:   Mon Nov 12 17:57:31 2012 -0800

    msm_vidc: venc: update input buffer count for firmware

    Setting max buffer count to firmware and later querying the buffer
    requirements after setting resolution and other properties will result
    in firmware returning max buffer count. To avoid allocating extra
    buffers, this change sets firmware with the max buffer count
    requested by client and firmware.

    Change-Id: I3d5e800ea3cdea4064d4e9d8453eb4d925c77f8c
    Signed-off-by: Ashray Kulkarni <ashrayk@codeaurora.org>

commit 0eaa2266918bb65a89d2a7df0ebb20aebf76c590
Author: Ashray Kulkarni <ashrayk@codeaurora.org>
Date:   Fri Nov 2 11:57:55 2012 -0700

    msm_vidc: update driver for firmware interface changes

    This change updates the driver to the new firmware requirements.
    Since, FW interface has changed significantly so pre-existing driver code
    does not work with this firmware. This change is a must for driver to
    work with new firmware. After this change, old FW will not work with this
    driver.

    Change-Id: I2f8408dd46909f7f527252410655c6fa919c465a
    Signed-off-by: Ashray Kulkarni <ashrayk@codeaurora.org>
    Signed-off-by: Vinay Kalia <vkalia@codeaurora.org>

commit 3823bbcf8132561b8da5a76d33d5bd2d143b3d82
Author: Ashray Kulkarni <ashrayk@codeaurora.org>
Date:   Thu Oct 25 15:36:22 2012 -0700

    msm_vidc: Update firmware of input buffer count for video encoder

    If video firmware is not aware of input buffer count, and driver
    queues more buffers than firmware is aware of, this results in
    firmware crash. This change updates firmware of updated input buffer
    count.

    CRs-fixed: 411057
    Change-Id: I5713a300636071db80f532029cf81c3b88db0789
    Signed-off-by: Ashray Kulkarni <ashrayk@codeaurora.org>

commit 9e2d8826d1b6c7c7a7ccfd8da908af68a5a808aa
Author: Vinay Kalia <vkalia@codeaurora.org>
Date:   Wed Nov 7 16:23:05 2012 -0800

    msm: vidc: Fix a bug in free_irq

    Free irq should not be called with NULL but instead
    it should be called with hal_device.

    Change-Id: Ic45fbec37ab1c3d3ec877a0f89c7e1c7a1834f59
    Signed-off-by: Vinay Kalia <vkalia@codeaurora.org>

commit c4e0e5de4869c0bc3c91fddb0657c93bc997b324
Author: Vinay Kalia <vkalia@codeaurora.org>
Date:   Tue Nov 6 15:50:10 2012 -0800

    msm: vidc: Remove SSR init/uninit calls

    SSR architecture has changed so driver does
    not need to call ssr init/uninit anymore.
    Changes need to be made according to new
    architecture. Removing the old code.

    Change-Id: I5a4334a4da604a78775864a310f2a12378a8de83
    Signed-off-by: Vinay Kalia <vkalia@codeaurora.org>

commit 57860a865d0f91e0c40645c7d8dc0e2b9143936e
Author: Praneeth Paladugu <ppaladug@codeaurora.org>
Date:   Thu Nov 1 11:52:28 2012 -0700

    msm: vidc: Add support to process FW errors

    Adds support to process system and session
    errors received by FW and communicate them to
    client.

    Change-Id: Iddcb8f0b8a459cf7185e56121ffcbd6a3532e365
    Signed-off-by: Praneeth Paladugu <ppaladug@codeaurora.org>

commit 36f8d36a1fd675741df5e76e030c6bfc09bc6d17
Author: Ashray Kulkarni <ashrayk@codeaurora.org>
Date:   Thu Oct 18 17:01:06 2012 -0700

    msm_vidc: update vbif setting for video hardware

    Update vbif registers to improve encode and decoder performance
    on 8974.

    Change-Id: I297968273c6acd8d753c310a34f24fa978a6e5f2
    Signed-off-by: Ashray Kulkarni <ashrayk@codeaurora.org>

commit ff9c23f98a888f7acfe4416f9fd166e876e8d490
Author: Vinay Kalia <vkalia@codeaurora.org>
Date:   Fri Oct 26 13:09:10 2012 -0700

    msm: vidc: Fix iommu detach and pil_put order

    IOMMU detach should be called before subsystem_put.
    This change takes care of it.

    Change-Id: Iece3f548a152a443705223725763cb8ef6e37b80
    Signed-off-by: Vinay Kalia <vkalia@codeaurora.org>

commit 72f479db62c0cec8080183d2171bd1967ba2598b
Author: Praneeth Paladugu <ppaladug@codeaurora.org>
Date:   Wed Oct 31 15:30:25 2012 -0700

    msm: vidc: Remove SSR trigger for SYS error

    Firmware is incorrectly sending the SYS error
    for nonfatal error cases. This is causing
    the SSR trigger for invalid scenarios hence
    removing this trigger until it is fixed in
    firmware.

    Change-Id: If98a1b07d071a8c903fe2c6addf01747745c0ae5
    Signed-off-by: Praneeth Paladugu <ppaladug@codeaurora.org>

commit 71b7ba92ed4d143bf1ff3e6a38ab362a56e8775f
Author: Praneeth Paladugu <ppaladug@codeaurora.org>
Date:   Tue Oct 30 15:41:02 2012 -0700

    msm: vidc: Add support to process resources request from HW

    Add support to process resources request from HW based on
    smooth streaming flag.The client is updated with the
    updated resource request.

    Change-Id: Id95321f6894a903c23d25ee33835bcd1efb36d29
    Signed-off-by: Praneeth Paladugu <ppaladug@codeaurora.org>

commit c1a7261dcaed73a2023ed4f43df12a13cc77991d
Author: Stephen Boyd <sboyd@codeaurora.org>
Date:   Thu Jul 5 14:07:35 2012 -0700

    msm: ramdump: Add parent link to miscdevice

    Set the parent of the miscdevice created in
    create_ramdump_device() to be the platform device for each
    processor. This allows us to easily locate ramdump devices for a
    particular processor.

    Change-Id: I7241e57231ad3f6a60d799be094d2b7a7fc40a3d
    Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>

commit 77db8bb9741de2d09f52947a7f6dff89110f3f99
Author: Stephen Boyd <sboyd@codeaurora.org>
Date:   Wed Jun 27 15:15:16 2012 -0700

    treewide: Replace pil_get()/put() with subsystem_get()/put()

    Do a tree wide sed to replace pil_get and pil_put() with their
    subsystem counterpart. With all the pil drivers migrated over to
    the new subsystem start/stop API this is essentially a no-op.

    We rename "q6" to "adsp" to be more in line with how future
    chipsets name the low power audio subsystem. This requires minor
    changes to userspace; hopefully no more changes will be
    necessary.

    Change-Id: I22dbbdcf7f5aaaa80394a6d70b5cfc24cdb32044
    Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>

commit 6c51b6e489752a0f92e9e446625c79504028ec44
Author: Vinay Kalia <vkalia@codeaurora.org>
Date:   Mon Oct 15 15:18:04 2012 -0700

    msm: vidc: Add header file for sharing media info

    Create a common header file which can be used across
    mulitmedia subsystems for sharing static information
    between them. One such requirement is to share information
    related to video color formats. This common header file
    avoids duplication of same calculations across different
    drivers and userspace.

    Change-Id: I4cb70c6b2461cc4dfcabcf147f0f314c5cf6a8bd
    Signed-off-by: Vinay Kalia <vkalia@codeaurora.org>

commit 9cb13cccc47d197987f750ad3096aa0dcf583d64
Author: Vinay Kalia <vkalia@codeaurora.org>
Date:   Mon Oct 29 12:58:57 2012 -0700

    msm: vdec: Handle no-extradata case for video.

    Firmware or client may request for no extradata.
    In such scenarios we have to ignore the extradata
    and let the session go ahead without extradata as
    extradata is not required.

    CRs-fixed: 415351
    Change-Id: I2b58303172552a0e1aa78e71e5b91e2d80d084e9
    Signed-off-by: Vinay Kalia <vkalia@codeaurora.org>

commit 1f0c265bb1da311601f2c1d20baca4506450d1aa
Author: Praneeth Paladugu <ppaladug@codeaurora.org>
Date:   Mon Oct 22 15:47:52 2012 -0700

    msm: vidc: Add support for dynamic clock scaling

    Adds support for dynamic clock scaling by calculating
    the number of mbs based on the frame rate set by client.

    Change-Id: Ie680bfc4ad536636a1e5793f15efbda1c73e5af8
    Signed-off-by: Praneeth Paladugu <ppaladug@codeaurora.org>

commit 4e303609cf8dc5c340e47224df37f54cf37b90a0
Author: Ashray Kulkarni <ashrayk@codeaurora.org>
Date:   Mon Oct 1 18:56:34 2012 -0700

    msm_vidc: venc: Release encoder buffers

    Video encoder session cleanup was not done completely, this
    change allows cleaning up of the scratch buffers and ensures
    firmware releases output buffers before driver frees them.

    Change-Id: I08e825376c81311c4235bbf7d6dd81de969bee73
    Signed-off-by: Ashray Kulkarni <ashrayk@codeaurora.org>
    Signed-off-by: Vinay Kalia <vkalia@codeaurora.org>

commit 74932576309bf985c3b985f2e88912ff90f8ecaa
Author: Vinay Kalia <vkalia@codeaurora.org>
Date:   Wed Oct 24 18:54:13 2012 -0700

    msm: vidc: Fix iommu unmap and iommu detach order

    Free any outstanding memory allocations and unmap
    IOMMU before IOMMU is detached.

    Change-Id: Id750db5be260cfdb07e4db013635f94bd120a755
    Signed-off-by: Vinay Kalia <vkalia@codeaurora.org>

commit a2692a1946b0365c6c335315ced32c9ef4f4d201
Author: Vinay Kalia <vkalia@codeaurora.org>
Date:   Thu Oct 18 19:23:29 2012 -0700

    msm: vidc: Add logs to indicate video open/close

    Add logs to indicate when video is openend and
    when it is closed. This helps a lot in debugging
    complex issues where multiple instances of video
    are running concurrently.

    Change-Id: I043b248a6bf90bd9b328527782b3a406f6b7f577
    Signed-off-by: Vinay Kalia <vkalia@codeaurora.org>

commit 131aaac36440b3a68bfd252c16adf85b55566f9b
Author: Praneeth Paladugu <ppaladug@codeaurora.org>
Date:   Tue Oct 16 17:30:22 2012 -0700

    msm: vidc: Add support for thumbnail mode

    Add support for thumbnail mode decode. This reduces
    the memory requirements from HW.

    Change-Id: I7f54cc618759b366389e748527b051524fb2c20b
    Signed-off-by: Praneeth Paladugu <ppaladug@codeaurora.org>

commit e0368f062d399970940f1d16264f1874ac0a392a
Author: Deva Ramasubramanian <dramasub@codeaurora.org>
Date:   Wed Oct 17 16:41:14 2012 -0700

    msm: vidc: Change V4L2_CID_MPEG_VIDC_VIDEO_REQUEST_IFRAME to button type

    V4L2_CID_MPEG_VIDC_VIDEO_REQUEST_IFRAME should not be a boolean type as
    subsequent requests for I-frames will be dropped by the V4L2 control
    framework as a duplicate s_ctrl.

    Change-Id: I27b30d8626488dcf7164a4709551d817d607a8d7
    Signed-off-by: Deva Ramasubramanian <dramasub@codeaurora.org>

commit 1efc291329375462538440baca9c47fcfad1aae2
Author: Vinay Kalia <vkalia@codeaurora.org>
Date:   Wed Jul 25 19:52:17 2012 -0700

    msm: vidc: Add extradata support

    Uncompressed buffers can have extradata associated with
    them. This extradata contains information about the
    uncompressed buffer, eg: interleaving information,
    macroblock error information etc. With this change
    extradata buffers can be exchanged between firmware and
    client. If the number of planes in a  v4l2 buffer are more
    than one, then the last plane is considered as the plane
    containing extradata information.

    Change-Id: I4659d5a5749b0c1f4e32e17ccd5aecfbc4600f62
    Signed-off-by: Vinay Kalia <vkalia@codeaurora.org>

commit ed8ad3cee7f2a51f1b33cd22f8c391b1ff036727
Author: Ashray Kulkarni <ashrayk@codeaurora.org>
Date:   Tue Oct 23 16:17:50 2012 -0700

    msm_vidc: update performance calculations in video driver

    Performance calculation were not accurate, resulting in incorrect
    fps reported by driver. Updated the calculations to reflect correct
    numbers.

    Change-Id: I74813aa902332cb2fc088f353e3d1e47e223791d
    Signed-off-by: Ashray Kulkarni <ashrayk@codeaurora.org>

commit cd2c13431063c20104ee1a07a60280b57f1d2623
Author: Praneeth Paladugu <ppaladug@codeaurora.org>
Date:   Thu Aug 23 11:59:09 2012 -0700

    msm: vidc: Add support to process HW Error

    Add support to process Watchdog timeout and sys error
    with SSR framework and reporting event bck to userspace.

    Change-Id: Ie12a15044dd01cb0ceab82d4f29d612db2955b8d
    Signed-off-by: Praneeth Paladugu <ppaladug@codeaurora.org>

commit 9df72b18a3fed5b0752812978a4713631d5eaed3
Author: Ashray Kulkarni <ashrayk@codeaurora.org>
Date:   Tue Oct 16 15:57:04 2012 -0700

    msm_vidc: update bus bandwidth selection for video driver.

    Incorrect bus bandwidth was selected for video encoder or decoder,
    resulting in performance being lower than expected. This change picks
    the correct value when requesting bus bandwidth.

    Change-Id: I76d8bc4e77430337e26aa394e6a3c1d0e5c8b79b
    CRs-Fixed: 406619
    Signed-off-by: Ashray Kulkarni <ashrayk@codeaurora.org>

commit 39f7889bd4d53480867cedd726aaabba4858ef9d
Author: Deva Ramasubramanian <dramasub@codeaurora.org>
Date:   Tue Oct 16 16:36:25 2012 -0700

    msm: vidc: On session_end_done only free current session context

    Currently, the msm_vidc driver is freeing the contexts of all the active
    sessions, causing hanging pointers and general memory corruption.  We
    should only be closing the context of the session that is ending.

    Change-Id: Ie7bbd5a5b31f79a3ed80bca84b4ec0cc7e6bb013
    CRs-Fixed: 407718
    Signed-off-by: Deva Ramasubramanian <dramasub@codeaurora.org>

commit ae3e91a67f5d8e4a6aae55a9f7a0d9aad6b71215
Author: Ashray Kulkarni <ashrayk@codeaurora.org>
Date:   Fri Oct 12 17:37:37 2012 -0700

    msm_vidc: mask extra interrupts from video hardware.

    video driver was registering to receive all interrupts from video
    hardware, so video hardware raised multiple interrupts when
    processing a frame. This change masks interrupts which do not convey
    video information, thereby reducing the number of times video hardware
    interrupts the host.

    Change-Id: I861cad7cc217241bb804b808796863f566aedf6c
    Signed-off-by: Ashray Kulkarni <ashrayk@codeaurora.org>

commit 000b382c1ee984de63c1b63b8b88c01ed04282bd
Author: Ashray Kulkarni <ashrayk@codeaurora.org>
Date:   Thu Oct 11 18:20:58 2012 -0700

    msm_vidc: reduce excess logging in video playback.

    Excess video driver logs sometimes causes system to crash/freeze UI.
    This change reduces the logs printed during session and fix incomplete
    messages.

    CRs-fixed: 408825
    Change-Id: I1da2f077e2254a813655792805d9bd26b1d63495
    Signed-off-by: Ashray Kulkarni <ashrayk@codeaurora.org>

commit cde7852e58e7e6d55edca090d63a3b371e7336a8
Author: Ashray Kulkarni <ashrayk@codeaurora.org>
Date:   Thu Jun 28 18:14:50 2012 -0700

    msm_vidc: enable firmware debug logs from video driver

    Firmware messages don't get printed to console. This change enables
    firmware debug messages and prints them as part of video driver
    kernel messages.

    Change-Id: Ie59a11ee127bbdf87e9ee1983ab52720aa427d27
    Signed-off-by: Ashray Kulkarni <ashrayk@codeaurora.org>

commit ee1973ba0ea6c63ca781fd6a233411212df3c934
Author: Ashray Kulkarni <ashrayk@codeaurora.org>
Date:   Wed Sep 26 18:24:34 2012 -0700

    msm_vidc: Enable performance metrics calculations in video driver

    Add support for measure video core response time for command/data
    calls issued from driver

    Change-Id: I2d08cb65b2ef8cf2f977ae13870956413bd8e5fa
    Signed-off-by: Ashray Kulkarni <ashrayk@codeaurora.org>

commit 45648a4a5199e3fb2c8f9aca9e8c003d477c8aaa
Author: Ashray Kulkarni <ashrayk@codeaurora.org>
Date:   Wed Oct 10 18:58:54 2012 -0700

    msm_vidc: venc: set resolution on firmware in set_format call.

    Resolution information was saved in driver and set to firmware once
    before encoding starts, in one use case this lead to corruption. This
    change configures the firmware to update the resolution everytime
    client updates resolution.

    CRs-fixed: 408761
    Change-Id: I6b43d59c7e44b2e4f48d1fda061f006dc0faca55
    Signed-off-by: Ashray Kulkarni <ashrayk@codeaurora.org>

commit 6a8803fded6d41363efac47314efeb3f142248bc
Author: Ashray Kulkarni <ashrayk@codeaurora.org>
Date:   Tue Oct 9 18:41:49 2012 -0700

    msm_vidc: venc: set slice size to firmware.

    Slice size information was not propogated to firmware resulting
    in slice size = 0 for all slice enabled encodings. This change
    configures proper size to firmware.

    Change-Id: Ie87ac63791e3473aab98a7186364befbb2156128
    Signed-off-by: Ashray Kulkarni <ashrayk@codeaurora.org>

commit 1586fee7cb9f25516a4290a45a42b9568b9ebee2
Author: Ashray Kulkarni <ashrayk@codeaurora.org>
Date:   Thu Oct 4 16:21:36 2012 -0700

    msm_vidc: venc: set correct count for input buffers.

    Input buffer count was not set properly for video encoder driver
    resulting in failure to start encoder session. This changes configures
    the encoder to pick maximum of the configured buffer count and updated
    buffer count.

    Change-Id: Ifc25eb930be758bf690d697638255a312b2f39c6
    Signed-off-by: Ashray Kulkarni <ashrayk@codeaurora.org>

commit acff683704e6c952b6c8007f14f2f477db24118e
Author: Ashray Kulkarni <ashrayk@codeaurora.org>
Date:   Thu Sep 27 18:06:01 2012 -0700

    msm_vidc: change logging mechanism in video driver

    video driver was logged all messages below given level, this change
    allows selective logging, and enables error and warning messages.

    Change-Id: Idf19bf9f4aa3d729506a32a5e781af7c7d6aa8ad
    Signed-off-by: Ashray Kulkarni <ashrayk@codeaurora.org>

commit 9105d4246637072b7cc9fe4a30cedf7889101324
Author: Praneeth Paladugu <ppaladug@codeaurora.org>
Date:   Thu Oct 4 18:11:24 2012 -0700

    msm: vidc: Adds fix to set the correct MPEG4 profile

    Fixes a mismatch of profile values between HW
    and vidc driver.

    Change-Id: Id82ab02445fa3f35e4dec5a1553fbecde6b307f7
    Signed-off-by: Praneeth Paladugu <ppaladug@codeaurora.org>

commit 99686cafd940a4734b527117a13a9100e6c24a68
Author: Vinay Kalia <vkalia@codeaurora.org>
Date:   Thu Oct 4 10:14:21 2012 -0700

    msm: vidc: Clear pending buffer queue on flush

    If flush is called before streamon but after queuing the buffers
    then driver needs to return back the queued buffers. This change
    takes care of that scenario.

    Change-Id: Icab901ee0016c8033d113bc049cc1abbe01ed9e9
    Signed-off-by: Vinay Kalia <vkalia@codeaurora.org>

commit 76b9b4d881b32c13356c736a07b2ee363d5ddd9b
Author: Mitchel Humpherys <mitchelh@codeaurora.org>
Date:   Mon Sep 17 14:33:22 2012 -0700

    ion: remove obsolete ion flags

    The symbols CACHED and UNCACHED have been replaced by ION_FLAG_CACHED
    upstream. This removes them from the kernel.

    Change-Id: I565dcc4595298ce6a0e81dd8cb98b86a1b38fdb2
    Signed-off-by: Mitchel Humpherys <mitchelh@codeaurora.org>

commit 911b4b702a63fbd241863966cad45909e40e4665
Author: Mitchel Humpherys <mitchelh@codeaurora.org>
Date:   Wed Sep 12 14:42:50 2012 -0700

    ion: change ion kernel map function to not take flags argument

    Buffer flags are going to be specified at allocation time rather than
    map time. This removes the flags argument from the ion kernel map
    function.

    Change-Id: I91589ca7b1ab142bb5ac8e6b0f4c06fa1305f23a
    Signed-off-by: Mitchel Humpherys <mitchelh@codeaurora.org>

commit 7d72bad55a0e03392d81eee77a9a8c9df6b73a9a
Author: Hanumant Singh <hanumant@codeaurora.org>
Date:   Wed Aug 29 18:39:44 2012 -0700

    ion: Port heap mask change to ion

    Heap mask field passes as argument at allocation time to specify ion
    heap.

    Change-Id: I8881dfc491dc0f8f70581ad97b35756a6a33dd6d
    Signed-off-by: Hanumant Singh <hanumant@codeaurora.org>
    Signed-off-by: Mitchel Humpherys <mitchelh@codeaurora.org>

commit 227a6582d86ae918d290c208f30246b3756084fb
Author: Mitchel Humpherys <mitchelh@codeaurora.org>
Date:   Tue Sep 11 15:59:11 2012 -0700

    ion: change ion buffer flags

    This syncs up our ion buffer flags in ion.h with upstream (using
    ION_FLAG_CACHED instead of CACHED and UNCACHED).

    Change-Id: I0bca35210da403098a12747ddadb51fa399f8758
    Signed-off-by: Mitchel Humpherys <mitchelh@codeaurora.org>

commit a67f6464ffbeccb97cc5c27cc704881bc8324e42
Author: Vinay Kalia <vkalia@codeaurora.org>
Date:   Wed Sep 19 22:02:49 2012 -0700

    msm: vidc: Protect queued buffers list with lock

    Queued buffers list can be accessed across different
    threads so it should be protected with a lock. Without
    proper locking the lists might get corrupted resulting
    in frame drops and crash eventually.

    CRs-fixed: 400702

    Change-Id: Ie316b6744db342203e23a83bf6194983ea5eecca
    Signed-off-by: Vinay Kalia <vkalia@codeaurora.org>

commit cc2bb4d2164217b82fd0e36a84b1a8f309005ea9
Author: Vinay Kalia <vkalia@codeaurora.org>
Date:   Mon Sep 24 16:17:45 2012 -0700

    msm: vidc: Fix release buffers to prevent mem leak

    Fix a bug in release buffers and clean up code to reuse already
    existing functionality. Without this fix release buffers was
    failing which might result in memory leak.

    Change-Id: Iedaa19657b69883dd0c66654ada8f0e5bf2ec03f
    Signed-off-by: Vinay Kalia <vkalia@codeaurora.org>

commit 2e542e4409b7a351dbfbe53d2256c3511cb63579
Author: Vinay Kalia <vkalia@codeaurora.org>
Date:   Mon Sep 24 14:28:19 2012 -0700

    msm: vidc: Unmap iommu in non-atomic context

    ion_unmap_iommu should not be called in atomic context.
    This change removes spinlocks around this call. spinlock is
    needed to protect the addition and deletion into the
    queues and it is not required while unmapping/freeing
    memory.

    Change-Id: I8a35f8d9c18302ce4761eda25f4238b66e948430
    Signed-off-by: Vinay Kalia <vkalia@codeaurora.org>

commit 8c5f34fb8a5c98a827f0c70839cee3c2bfaf1d28
Author: Ashray Kulkarni <ashrayk@codeaurora.org>
Date:   Fri Sep 14 17:13:38 2012 -0700

    msm: vidc: Configure codecconfig param on video core

    When firmware sends syncframe, codecconfig is also sent along,
    this is default behavior. This means codecconfig is being sent
    multiple times resulting in parsing errors in container. This
    change configures firmware to not send the codecconfig data with
    syncframe.

    CRs-fixed: 396716
    Change-Id: If89aee60a16e422217ac9a7e7415d6448a068966
    Signed-off-by: Ashray Kulkarni <ashrayk@codeaurora.org>
    Signed-off-by: Vinay Kalia <vkalia@codeaurora.org>

commit bddb1ebee894aa085db755bfd889b798f74e37c6
Author: Vinay Kalia <vkalia@codeaurora.org>
Date:   Mon Sep 24 18:01:57 2012 -0700

    msm: vidc: Fix IOMMU pagefault for long clips

    Shared command/message queues are circular, so if they get
    full driver has to write/read into them from the beginning.
    The address used to write/read from beginning was not the
    kernel virtual address causing IOMMU page fault.

    CRs-fixed: 400747
    Change-Id: Ie414f75370c31c8a4fb1bf7c879d1d0f4d5c7ea0
    Signed-off-by: Vinay Kalia <vkalia@codeaurora.org>

commit 86449e6b5f9a803c730ef3988d67378b3d57c86e
Author: Ashray Kulkarni <ashrayk@codeaurora.org>
Date:   Wed Sep 19 15:24:33 2012 -0700

    msm_vidc: venc: Change default fps for Video encoder.

    V4L2 framework will not pass the fps information to firmware
    if new fps = current fps. This resulted as incorrect rate
    control setting to firmware. This change fixes the issue.

    CRs-fixed: 396793
    Change-Id: I69b66c2d06330cc00857a612f1f4e1f28a2eb2ec
    Signed-off-by: Ashray Kulkarni <ashrayk@codeaurora.org>

commit 00dd73ca7b3b8a0083596354dfe0295694399fd0
Author: Praneeth Paladugu <ppaladug@codeaurora.org>
Date:   Wed Sep 5 23:13:14 2012 -0700

    msm: vidc: Adds support to release buffers

    Adds support to release internal,scratch and output
    buffers at the end of the video playback and return
    them to userspace.

    Change-Id: Iffd2a09146f4129a97a9566432be8ddde9442308
    Signed-off-by: Praneeth Paladugu <ppaladug@codeaurora.org>

commit 106f5182c1344abff687477a7feabb231f7856ab
Author: Deva Ramasubramanian <dramasub@codeaurora.org>
Date:   Fri Jul 6 15:08:22 2012 -0700

    msm: vidc: Add msm_vidc_wait as a poll interface for kernel clients

    Add a new interface msm_vidc_wait that is similar to msm_vidc_poll in
    functionality, except intended for kernel-space clients.

    Change-Id: Ia08f228f9865dcb8c92ba8fc04692e4b0184daea
    Signed-off-by: Deva Ramasubramanian <dramasub@codeaurora.org>

commit 7d12f84196c9f2f29f7ca92759502fe407bebe30
Author: Deva Ramasubramanian <dramasub@codeaurora.org>
Date:   Tue Jul 3 15:10:49 2012 -0700

    msm: vidc: Expose additional vidc interfaces

    Add additional interfaces to msm_vidc so that kernel clients may use
    them.  To enable this, msm_vidc_open() interface has been modified such
    that internal structs do not need to be exposed.  Furthermore, some
    functions such as (un)subscribe_event() have been moved from the v4l2
    layer to the vidc layer.

    Change-Id: If29154b8f542835e6c4ebf0be4c654474038c1ec
    Signed-off-by: Deva Ramasubramanian <dramasub@codeaurora.org>

commit 2e2c63936972bbb4f004e2499485e2c67e62293f
Author: Praneeth Paladugu <ppaladug@codeaurora.org>
Date:   Sun Aug 12 01:43:14 2012 -0700

    msm: vidc: Adds support for VC-1 MP and SP support

    Adds support for VC-1 Main and Simple profile decoders
    by adding VC-1 decoder entry in vdec formats struct.

    Change-Id: I7b2bbaee6b84e7198f825a80aeb7c52a6271a9a5
    Signed-off-by: Praneeth Paladugu <ppaladug@codeaurora.org>

commit ff92804047a2e3f7d75f7fc661779a93f9bc2c24
Author: Vinay Kalia <vkalia@codeaurora.org>
Date:   Fri Sep 14 18:33:45 2012 -0700

    msm: vidc: Reduce video core clock for encoding

    After performance and power analysis, video core clock
    should be reduced to 133MHz for 1080p@30fps load. With
    this clock setting, camcorder end to end performance is
    not impacted.

    Change-Id: Iee0fa9ce20181935faceb7b833b1aa510bbc6976
    Signed-off-by: Vinay Kalia <vkalia@codeaurora.org>

commit b717b9d6825305d55b3aff75545afbd283ee0714
Author: Vinay Kalia <vkalia@codeaurora.org>
Date:   Fri Sep 14 12:00:45 2012 -0700

    msm: vidc: Camcorder performance enhancement

    Set VBIF priority register to achieve 1080p @ 30fps
    camcorder performance. This register setting has been
    recommended after performance testing.

    Change-Id: I5feb128b0ff460f3638edb6ca644efbfb3b03283
    Signed-off-by: Vinay Kalia <vkalia@codeaurora.org>

commit 071b9bef721194780cea699b31cdff7d19921052
Author: Mitchel Humpherys <mitchelh@codeaurora.org>
Date:   Thu Sep 6 10:45:28 2012 -0700

    msm: vidc: include msm-specific ion header

    All msm_ion clients need to use <linux/msm_ion.h> instead of
    <linux/ion.h>

    Change-Id: Ie44e862e13d0929b6ef6e73a74a7bb19a5c6319e
    Signed-off-by: Mitchel Humpherys <mitchelh@codeaurora.org>

commit 4e042b585af2a84e5dec89aba56219dfcdebbec5
Author: Vinay Kalia <vkalia@codeaurora.org>
Date:   Wed Sep 12 13:41:39 2012 -0700

    msm: vidc: Remove HAL_MSG_* macros

    Video driver no longer uses HAL_MSG_* macros
    for debug messages. Instead dprintk is uses.
    Removing these macros as they are deprecated.

    Change-Id: Id3949b28c1fcd85803c061768e59da79218171f0
    Signed-off-by: Vinay Kalia <vkalia@codeaurora.org>

commit aaeffd29ab225cd12f30c9dbd581b015ffaf2cab
Author: Vinay Kalia <vkalia@codeaurora.org>
Date:   Tue Sep 11 17:19:55 2012 -0700

    msm: vidc: Reduce OCMEM bandwidth request.

    Reduce bandwidth request for OCMEM as same
    performance is achieved at lower bandwidth
    numbers.

    Change-Id: I2e1f1560681f86316ecccb08a9daabf46b70cf3e
    Signed-off-by: Vinay Kalia <vkalia@codeaurora.org>

commit e76323d5edd85dc16a21c1ebee2044f370292f14
Author: Vinay Kalia <vkalia@codeaurora.org>
Date:   Mon Sep 10 18:03:48 2012 -0700

    msm: vidc: Remove spinlock around ocmem_free

    Spinlock around OCMEM free is not needed. This
    is already being protected by a mutex.

    Change-Id: I9fa370047433812a6b267e24fb4a71ab5443ad58
    Signed-off-by: Vinay Kalia <vkalia@codeaurora.org>

commit 934e81ed00866b905a5e6a8ce53fd45699173dea
Author: Praneeth Paladugu <ppaladug@codeaurora.org>
Date:   Mon Sep 10 16:56:45 2012 -0700

    msm_vidc: Fix bus bw request for lower resolutions

    Fix bus bw request for lower resolution and send
    proper device address to firmware while releasing
    buffers. With this change clips less than VGA
    resolution should work.

    Change-Id: I96f3ef4185f1ba88931f92a859c3fd92d6e13b63
    Signed-off-by: Praneeth Paladugu <ppaladug@codeaurora.org>
    Signed-off-by: Vinay Kalia <vkalia@codeaurora.org>

commit 15e870b358cbe8f9e75209448ef6a92f8e4793b3
Author: Vinay Kalia <vkalia@codeaurora.org>
Date:   Mon Sep 10 15:30:23 2012 -0700

    msm: vidc: Encoder performance tuning.

    Set VBIF registers and clock changes to improve
    encoder performance. This is required to achieve
    1080p 30fps encoding.

    Change-Id: Iacb66e70a3988ca114b23ff002aa46d0fbadeb54
    Signed-off-by: Vinay Kalia <vkalia@codeaurora.org>

commit b673450004ebe1e44748c1f414900b114d745cb1
Author: Ashray Kulkarni <ashrayk@codeaurora.org>
Date:   Fri Aug 24 13:00:22 2012 -0700

    msm_vidc: Changes to enable Camcorder

    - Add get_seq_hdr support in driver
    - send KEYFRMAE flag with first frame data

    Change-Id: I57c9097f3f54e63bb8e46629aed987cee054c816
    Signed-off-by: Ashray Kulkarni <ashrayk@codeaurora.org>

commit f1a7cffbda1049a005ca7c028bfd305fc95f6760
Author: Blaine Dietrich <blained@codeaurora.org>
Date:   Mon Jul 23 12:14:18 2012 -0700

    msm: vidc: Enable/disbale debug messages

    Adds support to enable/disable debug messages
    from debugfs so that messages only upto a
    desired priority can be enabled. By default,
    only error messages are enabled.

    Change-Id: Id133c3f109d227862d1fa580f3b5df4cbbc37e11
    Signed-off-by: Blaine Dietrich <blained@codeaurora.org>
    Signed-off-by: Vinay Kalia <vkalia@codeaurora.org>
    Signed-off-by: Praneeth Paladugu <ppaladug@codeaurora.org>

commit 7ceb94edc3f97df463b6e1c3e9062760fb7f9ad2
Author: Vinay Kalia <vkalia@codeaurora.org>
Date:   Wed May 23 20:19:54 2012 -0700

    msm: vidc: Add debug support for video driver

    Add debugfs and other debug support for video
    codec driver. This creates a debugfs entry
    on device for video and basic information
    about video playback and encoding can be obtained
    from the debugfs files.

    Change-Id: Id4d3d7f6e38bb4993587621ecb8e5dc6bbeb00fd
    Signed-off-by: Vinay Kalia <vkalia@codeaurora.org>

commit 4cd435dd3e4d0157c8d8a692ea66a39d826c3351
Author: Vinay Kalia <vkalia@codeaurora.org>
Date:   Thu Aug 23 12:59:24 2012 -0700

    msm: vidc: Add flush for video codecs

    Add support to flush input/output buffers. This will flush
    the buffers being held by firmware or video driver and
    return them to client. This operation is usually used
    by an application during seek operation or while
    closing the driver.

    Change-Id: I61d3d8f94eeeeeea0e4c40460bebfd7873f428df
    Signed-off-by: Vinay Kalia <vkalia@codeaurora.org>

commit 9f2303869d0d81b8e09a27e8c3fb2e5057d25dbb
Author: Deva Ramasubramanian <dramasub@codeaurora.org>
Date:   Fri Aug 24 11:48:41 2012 -0700

    msm: vidc: Pass on the CODECCONFIG flag to core

    In case of SPS/PPS buffers in frame by frame mode,
    the respective buffers must be marked with the
    CODECCONFIG flag.

    Change-Id: Iba29fc03ec736280f2babefc68d3380e856e3006
    Signed-off-by: Deva Ramasubramanian <dramasub@codeaurora.org>
    Signed-off-by: Vinay Kalia <vkalia@codeaurora.org>

commit be3d0f7d01f715a642b87f602a2b97f9da6d23f5
Author: Vinay Kalia <vkalia@codeaurora.org>
Date:   Wed Aug 29 21:10:53 2012 -0700

    msm: vidc: Reduce calls to get buffer requirements

    Reduce calls to firmware to get buffer requirements.
    This call is very expensive causing too much delay
    in video startup. Only calling this when necessary.

    Change-Id: I01f59b5402e82a79742f257d39cda1c9504e6dd0
    Signed-off-by: Vinay Kalia <vkalia@codeaurora.org>

commit d40bd3f22bec010057a7f26d43f0c8f84edd79fa
Author: Vinay Kalia <vkalia@codeaurora.org>
Date:   Fri Aug 31 13:22:32 2012 -0700

    msm: vidc: Tune input buffer count for performance

    With just two input buffers, video hardware stays
    idle quite often waiting for data. With the new
    input buffer count venus idle time is reduced and
    improved performance is observed.

    Change-Id: Ia44e106e4c8cf46ebcae9c89054508337c23a6cb
    Signed-off-by: Vinay Kalia <vkalia@codeaurora.org>

commit cdf8d0cf7bb1e8313d2e5f949ef00b59ef797553
Author: Vinay Kalia <vkalia@codeaurora.org>
Date:   Tue Aug 28 12:07:36 2012 -0700

    msm: vidc: Video performance tuning.

    Setting vbif registers as per the performance
    analysis to achieve better video performance.

    Change-Id: Id12ebb93ea3bea6e599b40bebf16b0cab16a2bdf
    Signed-off-by: Vinay Kalia <vkalia@codeaurora.org>

commit a31f9e6ba2087844b3c124aa961463fc99ec95ab
Author: Vinay Kalia <vkalia@codeaurora.org>
Date:   Mon Aug 20 22:49:18 2012 -0700

    msm: vidc: Fix clock and bus scaling

    Fix bus and clock scaling requests by video
    encoder and decoder. Updated bus bandwidth
    numbers after performance analysis.

    Change-Id: I17a6e857679e88afb88a0b31e9e1a0f4da3d995d
    Signed-off-by: Vinay Kalia <vkalia@codeaurora.org>

commit 20d2801618a3ec248fa0188f9494a91f0e29f4d5
Author: Deva Ramasubramanian <dramasub@codeaurora.org>
Date:   Thu Aug 23 14:07:10 2012 -0700

    msm: vidc: Always map into IOMMU as uncached

    If buffers provided by userspace are cached, mapping into IOMMU with the
    same flags results in a failiure as cached IOMMU mappings are not
    supported.  As a result, map all buffers as uncached.

    Change-Id: I483eab817b330e4aa7e232b30db2ae0d56730d8b
    Signed-off-by: Deva Ramasubramanian <dramasub@codeaurora.org>
    Signed-off-by: Vinay Kalia <vkalia@codeaurora.org>

commit 39a8e71631e6658e0909df3573b44694b0df0c96
Author: Deva Ramasubramanian <dramasub@codeaurora.org>
Date:   Fri Aug 17 16:39:51 2012 -0700

    msm: vidc: Return timestamps correctly back to the client

    Propagate the timestamp client provides on the OUTPUT port to the
    CAPTURE port.  Additionally, use kernel provided functions to convert
    the timeval struct to a 64 bit value rather than requiring the clients
    to set the timestamp within the tv_usec field.

    Change-Id: I19b8b953c837199019d7370f8bf3afec88a0d00d
    Signed-off-by: Deva Ramasubramanian <dramasub@codeaurora.org>
    Signed-off-by: Vinay Kalia <vkalia@codeaurora.org>

commit cd111c7a4710f08ea28e4cdb17d6e6e088d38d60
Author: Ashray Kulkarni <ashrayk@codeaurora.org>
Date:   Thu Aug 16 22:39:02 2012 -0700

    vidc: fix NV12 buffer size calculation in encoder and decoder.

    Buffer size calculation in driver and firmware is different. This
    results in inconsistent behaviour for different resolutions. This
    change calculates buffer size as in firmware.

    Change-Id: I9dca9e0e8729eb4e578de63dc43c01dd65c3f3be
    Signed-off-by: Deva Ramasubramanian <dramasub@codeaurora.org>
    Signed-off-by: Vinay Kalia <vkalia@codeaurora.org>

commit 3dbe9997ba80f8fcd7e90a91c8dc8154a991ff07
Author: Ashray Kulkarni <ashrayk@codeaurora.org>
Date:   Mon Aug 20 12:22:57 2012 -0700

    msm_vidc: Fix setting queue size to firmware.

    Incorrect queue size was being set to firmware. This patch fixes the issue.

    Change-Id: Ic0ab9384d364f70cf06c352331887dfcdf6592c4
    Signed-off-by: Ashray Kulkarni <ashrayk@codeaurora.org>
    Signed-off-by: Vinay Kalia <vkalia@codeaurora.org>

commit 3475a6e57c17051ffe2180f02f38957e36a912c0
Author: Deva Ramasubramanian <dramasub@codeaurora.org>
Date:   Fri Aug 10 21:34:03 2012 -0700

    msm: vidc: Honor client's request for more buffers

    The driver should allow the client's request for more buffers than the
    minimum rather than enforcing just the minimum required by Venus.

    Change-Id: I8c10372b1ffef55d0e73b824b13ad80de2446f23
    Signed-off-by: Deva Ramasubramanian <dramasub@codeaurora.org>

commit 564814bd20e01d1d49a105df00604ab90b418179
Author: Vinay Kalia <vkalia@codeaurora.org>
Date:   Mon Aug 20 11:09:57 2012 -0700

    msm: vidc: Fix for IOMMU mapping.

    Same memory region was being mapped multiple times.
    This fix avoids this scenario and makes sure that
    that we map proper size and single fd is mapped
    and unmapped one time only.

    Change-Id: Ibba932456792d5964213fe93db2c6101ad94b74c
    Signed-off-by: Vinay Kalia <vkalia@codeaurora.org>

commit e38c55f7034c140d6bdd57bc7016107e3746e72f
Author: Vinay Kalia <vkalia@codeaurora.org>
Date:   Thu Aug 16 19:37:28 2012 -0700

    msm: vidc: Add support for cached ion allocation

    Add support to allocate ion memory from cached
    or uncached region in video driver. Also, Clean and
    invalidate caches for input, output, shared command
    memory and internal buffers incase they are allocated
    from cached region.

    Change-Id: Id1ac9587bfef8d2d0e2a3d3d30f30e39de10665e
    Signed-off-by: Vinay Kalia <vkalia@codeaurora.org>

commit 8383c095459de560e644c7fa1f96dd8dcc025983
Author: Ashray Kulkarni <ashrayk@codeaurora.org>
Date:   Thu Aug 16 22:30:09 2012 -0700

    vidc: Disable venus VBIF dynamic clock gating for video core.

    Video core behaviour was inconsistent for different resolutions. This
    was due to dynamic clock gating for venus VBIF was enabled. Disable Venus
    VBIF clock gating to prevent this inconsistent behaviour.

    Change-Id: Id7efd4b7f922efcb77c729f1dc119b1549cb8d74
    Signed-off-by: Deva Ramasubramanian <dramasub@codeaurora.org>
    Signed-off-by: Vinay Kalia <vkalia@codeaurora.org>

commit cbad85b92cfe6e487c1da0c723f3e94206690a0c
Author: Ashray Kulkarni <ashrayk@codeaurora.org>
Date:   Fri Aug 17 14:38:53 2012 -0700

    vidc: Use correct port setting for encoder during prepare buffer.

    When prepare buffer was called for encoder, the port configurations
    were swapped. This change corrects this error.

    Change-Id: I927cf66666dd02e0f4abbdc9d7be561a857ab2b0
    Signed-off-by: Ashray Kulkarni <ashrayk@codeaurora.org>

commit c71662f18efbbd44270df8c81571c73ea98a980a
Author: Vinay Kalia <vkalia@codeaurora.org>
Date:   Thu Aug 16 17:49:28 2012 -0700

    msm: vidc: Separate partition for shared memory

    Create separate partition for shared command
    queues. Virtual device addresses for shared
    command queues need to be from upper 16MB
    region of mon-secure virtual device address
    space. This change creates a partition to
    ensure this.

    Change-Id: Iba22daf93b7d08c70f43685de7182a2f235a7690
    Signed-off-by: Vinay Kalia <vkalia@codeaurora.org>

commit 443e6348f76663fd0d590c3fe446ec3fda838854
Author: Praneeth Paladugu <ppaladug@codeaurora.org>
Date:   Mon Jul 30 00:48:07 2012 -0700

    msm:  vidc: Adds support for Rate Control

    Adds support for Rate Control by setting correct
    RC Mode and bit rate.

    Change-Id: I0307417f3a517e0aa40f67c5d4835db3ef4ea444
    Signed-off-by: Praneeth Paladugu <ppaladug@codeaurora.org>

commit e541526f3b35b02b25831c14cbc4f43baf6310df
Author: Praneeth Paladugu <ppaladug@codeaurora.org>
Date:   Wed Aug 1 16:21:08 2012 -0700

    msm: vidc: Adds support to send new command

    - Adds supports to send DECODER command to
    decoder which inturn used to CLOSE the instance.
    - Adds supports to send ENCODER command to
    encoder which inturn used to CLOSE the instance.

    Change-Id: Ia6037fdf66824538124f775442150b7a4ed201b8
    Signed-off-by: Praneeth Paladugu <ppaladug@codeaurora.org>

commit cd9383f390ebce77c88cd6acb1345fee5b0a497b
Author: Praneeth Paladugu <ppaladug@codeaurora.org>
Date:   Thu Aug 2 15:58:26 2012 -0700

    msm: vidc: Adds support to send frame rate to Video Hardware

    Adds support to send frame rate to Video HW in right format.

    Change-Id: Ifba83310cb88e6ec898266f9d24bb157ae63aad6
    Signed-off-by: Praneeth Paladugu <ppaladug@codeaurora.org>

commit d075233da173e5ea1e64f7558d3b3fc8f8a74e4a
Author: Praneeth Paladugu <ppaladug@codeaurora.org>
Date:   Fri Jul 6 11:14:21 2012 -0700

    msm: vidc: Adds error check for controls

    - Adds Error check before calling control to make
    sure that Venus is in right state.
    - Adds supports to calculate right scratch buffer length.

    Change-Id: I83043a87859d7bb31c683e3ad19a4a23fb519747
    Signed-off-by: Praneeth Paladugu <ppaladug@codeaurora.org>

commit d39507a2afd46a2caa4460699a72d0ee1287c687
Author: Vinay Kalia <vkalia@codeaurora.org>
Date:   Mon Jul 30 17:31:37 2012 -0700

    msm: vidc: Allocate persist buffers.

    Persist buffers are needed by decoder/encoder
    in some cases. These buffers are mandatory and
    cannot be ignored. This change allocates persist
    buffers according to the requirement by video device
    to avoid hangs.

    Change-Id: I961bb1abe45dba1cbc770edef2277f33ea186546
    Signed-off-by: Vinay Kalia <vkalia@codeaurora.org>

commit c2a557ca7c83963156770f6e4212619969c29714
Author: Vinay Kalia <vkalia@codeaurora.org>
Date:   Fri Aug 3 11:39:47 2012 -0700

    msm: vidc: Fix scratch buffer allocation.

    In some cases, firmware is reqesting driver
    to allocate one scratch with size zero,
    eg: if height and width is set to zero on
    firmware. This change handles this scenario
    appropriately to avoid kernel panic.

    Change-Id: If670f91ef600678af8e246934f685defcb7fdfeb
    Signed-off-by: Vinay Kalia <vkalia@codeaurora.org>

commit 12d8eefc7bcdb1dc4f65b0943e8ea1f1e8b9ea31
Author: Vinay Kalia <vkalia@codeaurora.org>
Date:   Fri Aug 3 17:45:53 2012 -0700

    msm: vidc: Set proper height and width.

    Set proper height and width on firmware.
    Proper height, width was not getting set
    on firmware resulting in firmware reporting
    bad buffer requirements which caused hang or
    crash during port reconfig.

    Change-Id: I4097e0219a1df423fdd0ec9421800635525cf8c4
    Signed-off-by: Vinay Kalia <vkalia@codeaurora.org>

commit b17f8aa08ff5d4c7acff0dd3f07019f1755be7b6
Author: Deva Ramasubramanian <dramasub@codeaurora.org>
Date:   Mon Jul 30 17:16:32 2012 -0700

    msm: vidc: Specify the number of planes in buffer to client

    When a V4L2 client sets or gets the format, driver is supposed to report
    back the dimensions, the size of the buffer, and the number of planes
    contained with in the buffer.  The former two were being reported back
    to the client, while the latter wasn't.

    Change-Id: Ie225e108ce90cc40823ee9c0f13aeb7d054f5bdb
    Signed-off-by: Deva Ramasubramanian <dramasub@codeaurora.org>

commit bc9f60a99f7d6130e6d8028e340a421072498d3f
Author: Vinay Kalia <vkalia@codeaurora.org>
Date:   Tue Jul 17 01:23:42 2012 -0700

    msm: vidc: Uses on-chip memory for video codecs

    Video driver allocates on-chip memory (OCMEM) and
    hands it over to the video hardware for internal usage.
    Video encode/decode performance improves with OCMEM.

    Change-Id: Ic6e35278db24cedc003aa33d5e3cef52172e2254
    Signed-off-by: Vinay Kalia <vkalia@codeaurora.org>

commit cb722d6f8f9a27cd9d579bc8821692b6b03beefc
Author: Vinay Kalia <vkalia@codeaurora.org>
Date:   Thu Jun 28 19:35:22 2012 -0700

    msm: vidc: Adds bus scaling for video codecs

    Adds bus scaling so that the bus bandwidth
    can be voted for according to load. This
    optimizes power consumption during video
    encode and decode operation.

    Change-Id: I4b7123e9ae2e429ffe9bf4636d633284768e1b33
    Signed-off-by: Vinay Kalia <vkalia@codeaurora.org>

commit 6a8d04ce4f9fa9b7ea96a7009120c9bcee295627
Author: Vinay Kalia <vkalia@codeaurora.org>
Date:   Tue Jul 17 19:23:05 2012 -0700

    msm: vidc: Change configuration flag for video.

    Change kernel configuration flag for video
    on 8974 so that it does not interfere with
    video drivers on other chipsets.

    Change-Id: I74fa8f0ed7be713893b9e280bb9b77606bc5c786
    Signed-off-by: Vinay Kalia <vkalia@codeaurora.org>

commit 94b221b88d8274f1d04839e52ad3b09fc5aa5fe1
Author: Vinay Kalia <vkalia@codeaurora.org>
Date:   Mon Jun 25 18:50:13 2012 -0700

    msm: vidc: Adds clock scaling

    Video driver manages clock rate according
    to the increase in load on video core. Clock
    is scaled as per number of macroblocks
    decoded/encoded per second. This makes sure
    that the power consumption and performance is
    optimal.

    Change-Id: If8aede0e3048cdc9bcdf14ce0c239a58bdd5d263
    Signed-off-by: Vinay Kalia <vkalia@codeaurora.org>

commit 0ebb19b6f630f7ee2338504b37db278b617d2a5e
Author: Deva Ramasubramanian <dramasub@codeaurora.org>
Date:   Fri Jun 22 01:32:37 2012 -0700

    msm: vidc: Add controls specific to H263

    Userspace requires controls to set profile and level values. Hence
    expose V4L2_CID_MPEG_VIDC_VIDEO_H263_PROFILE and
    V4L2_CID_MPEG_VIDC_VIDEO_H263_LEVEL.

    Change-Id: Id2b5d4ade8dda1a32b11820936532300b18c37ac
    Signed-off-by: Deva Ramasubramanian <dramasub@codeaurora.org>
    Signed-off-by: Vinay Kalia <vkalia@codeaurora.org>

commit 68398a4f0e87aa7285ccf55d1e087f15c32aedca
Author: Vinay Kalia <vkalia@codeaurora.org>
Date:   Fri Jun 22 18:36:12 2012 -0700

    msm: vidc: Download firmware using PIL.

    Video driver uses PIL and IOMMU to download video
    firmware.Video firmware is downloaded during the
    start of video session using PIL apis.

    Change-Id: If285e9b6df57ecdfa379fa82b9eef542e6aa9bba
    Signed-off-by: Vinay Kalia <vkalia@codeaurora.org>

commit 9c4d9599ad8d57a4fa860c52ac892441a5e605bc
Author: Praneeth Paladugu <ppaladug@codeaurora.org>
Date:   Sat Jul 14 01:27:35 2012 -0700

    msm: vidc: Adds support for high bit rate and frame rate

    Increased the maximum value for controls
    V4L2_CID_MPEG_VIDEO_BITRATE and
    V4L2_CID_MPEG_VIDC_VIDEO_FRAME_RATE thus by
    increasing maximum supported frame rate and bit rate.

    Change-Id: I6330d178d12652683cce793b7544572594b5dabf
    Signed-off-by: Praneeth Paladugu <ppaladug@codeaurora.org>

commit 951c02de0409e5e56ce2cfe0c06989e2aec1814a
Author: Praneeth Paladugu <ppaladug@codeaurora.org>
Date:   Wed Jul 11 12:19:42 2012 -0700

    msm: vidc: Adds support for dynamic I frame request.

    Adds support for dynamic Intra frame request by setting
    correct command packet size to video hardware.

    Change-Id: Id851345176bfececae87927fcd61cc9e3f028828
    Signed-off-by: Praneeth Paladugu <ppaladug@codeaurora.org>

commit c5041daa75ffab4ce8cffb222298bd958fec5ffe
Author: Praneeth Paladugu <ppaladug@codeaurora.org>
Date:   Wed Jul 18 15:44:57 2012 -0700

    msm: vidc: Adds support for high bit rate decode

    Adds support for high bit rate decoding by
    increasing the input buffer size to hold
    large input frame data.

    Change-Id: I06f8bebddf879104761956bd982c44d854edca2b
    Signed-off-by: Praneeth Paladugu <ppaladug@codeaurora.org>

commit a46f06badbe9da62bb64790d45c34293b3831a00
Author: Praneeth Paladugu <ppaladug@codeaurora.org>
Date:   Fri Jul 6 12:23:48 2012 -0700

    msm: vidc: Adds support for VP8 Encoder.

    Adds support for VP8 video encoder by adding VP8
    entry in venc formats struct.

    Change-Id: Icb9fbc049aadd226c7f803ad938d1d76cbb760f4
    Signed-off-by: Praneeth Paladugu <ppaladug@codeaurora.org>

commit 40c3ae806210f2e4576e8fa44fb871124a8fbcc7
Author: Vinay Kalia <vkalia@codeaurora.org>
Date:   Mon Jul 9 15:23:02 2012 -0700

    msm: vidc: Fixes back-to-back video decode/encode.

    Fixes a bug introduced in recent commit because of
    which only one video session worked. Next video
    session always failed when client tries to open
    the video device.

    The commit ID caused the issue is
    fe72c45cf670cb0fafb04a6a2fa6a1aa428435c6

    Change-Id: Ib0cbe7cac5189cf617e8b3bcfc549e022e88fd46
    Signed-off-by: Vinay Kalia <vkalia@codeaurora.org>

commit 1e8ddaef241c09ab7684fd6dea4a7952c3d57e42
Author: Praneeth Paladugu <ppaladug@codeaurora.org>
Date:   Fri Jul 6 12:13:06 2012 -0700

    msm: vidc: Adds support for VP8 Decoder.

    Adds support for VP8 Decoder by adding VP8 codec
    entry in vdec formats struct.

    Change-Id: I93bca63e18ae2ba2a125e76584d230c0af1cc33a
    Signed-off-by: Praneeth Paladugu <ppaladug@codeaurora.org>

commit df7532d69948f453d66f59d0303fe116e3ad8919
Author: Vinay Kalia <vkalia@codeaurora.org>
Date:   Mon Jul 9 11:21:16 2012 -0700

    msm: vidc: Migration to new firmware version.

    Adds support for the new firmware version by incorporating
    the interface changes between driver and video firmware.
    These changes make the driver compatible to new firmware
    version.

    FW_VERSION: 100100

    Change-Id: I04e9457ac8a85a070f2e4c738ad3e4fc9cbfbaeb
    Signed-off-by: Vinay Kalia <vkalia@codeaurora.org>

commit 1b03554c22ee7d6a90f1a281072dbb73ee831535
Author: Praneeth Paladugu <ppaladug@codeaurora.org>
Date:   Fri Jul 6 11:02:38 2012 -0700

    msm: vidc: Adds support to send individual controls.

    Adds support to set individual properties to Venus by
    calling controls separately.

    Change-Id: I4af3176ee009f202e62d566de3ce859b6a8d36c2
    Signed-off-by: Praneeth Paladugu <ppaladug@codeaurora.org>

commit b040a018b5ec2f054e58b6a3b2806c161fd9d22a
Author: Praneeth Paladugu <ppaladug@codeaurora.org>
Date:   Fri Jul 6 11:29:15 2012 -0700

    msm: vidc: Adds support for Intra Refresh

    Adds Support for Intra refresh by setting
    default values and calling right set_property.

    Change-Id: Ibc04ec195b5265a1db60befb8109693a41f8fe51
    Signed-off-by: Praneeth Paladugu <ppaladug@codeaurora.org>
    Signed-off-by: Vinay Kalia <vkalia@codeaurora.org>

commit d8c98c33c58f5f78e7fb60a678fac69b33424dc0
Author: Vinay Kalia <vkalia@codeaurora.org>
Date:   Fri Jun 15 18:32:52 2012 -0700

    msm: vidc: Fixes polling on video driver.

    poll should return all the available events
    in one call. This change implements this
    behavior.

    Change-Id: I498b621cc5d8fca820376109ca4a5f1bd4c492b2
    Signed-off-by: Vinay Kalia <vkalia@codeaurora.org>

commit 2bf4fb12fdfbfe5552039c6d9d272fdd0c95937c
Author: Deva Ramasubramanian <dramasub@codeaurora.org>
Date:   Wed Jun 27 20:42:33 2012 -0700

    msm: vidc: Amend buffer size calculation

    Amend the input and output buffer calculation to
    reflect what the Venus core expects.

    Change-Id: Ib3c600d0e838525e3a82a1b2c05803f86075ba15
    Signed-off-by: Deva Ramasubramanian <dramasub@codeaurora.org>

commit 98dfb65a7644809b8868809262a8fbf4937aa915
Author: Praneeth Paladugu <ppaladug@codeaurora.org>
Date:   Fri Jul 6 08:19:37 2012 -0700

    msm: vidc: Adds support to parse SEQ_CHANGED cmd payload

    Adds support to parse the payload of command
    evt_seq_changed to know about resource request.

    Change-Id: I483954b0453a84be26e3d180f4f18bef042ab409
    Signed-off-by: Praneeth Paladugu <ppaladug@codeaurora.org>

commit 3a323802585b92a821aa79e368611d7c0cb407b3
Author: Deva Ramasubramanian <dramasub@codeaurora.org>
Date:   Fri Jun 15 15:15:42 2012 -0700

    msm: vidc: Add input buffer flushing support

    Flushing the core is now done with the V4L2_DEC_QCOM_CMD_FLUSH ioctl
    rather than V4L2_DEC_CMD_STOP.  The latter is confusing and the
    arguments specified by the V4L2 spec do not allow for flushing the input
    and and output buffers seperately.

    Change-Id: I53e18e06c4e09ee8496bdcc337b4798f22911708
    Signed-off-by: Deva Ramasubramanian <dramasub@codeaurora.org>

commit 1fc82a278c42f755e65dc909baf2326a3a6e142e
Author: Praneeth Paladugu <ppaladug@codeaurora.org>
Date:   Fri Jul 6 11:38:51 2012 -0700

    msm: vidc: Adds Profile and Level support

    Adds support for Profile and Level support by setting
    default values and calling set_property.

    Change-Id: Ied289779bca6441c5cfdde7c766c02c14c8bce23
    Signed-off-by: Praneeth Paladugu <ppaladug@codeaurora.org>

commit e29238b519a7c3b210ceab89029baf0498f6328d
Author: Praneeth Paladugu <ppaladug@codeaurora.org>
Date:   Fri Jul 6 12:04:17 2012 -0700

    msm: vidc: Adds support for VC-1 decoder

    Adds support for VC-1 decoder by adding the VC-1 Decoder
    entry in vdec formats struct.

    Change-Id: I4a5a278a93c252f4e3a16eb004d06d72dba6e491
    Signed-off-by: Praneeth Paladugu <ppaladug@codeaurora.org>

commit b361d7772dffe94636c53ea0da113cfc6637fab7
Author: Praneeth Paladugu <ppaladug@codeaurora.org>
Date:   Thu Jul 5 23:26:55 2012 -0700

    msm: vidc: Adds new event type

    Adds new event type to convey about the resources
    requirement.

    Change-Id: I7ea67231c247dc983463a02b828c10adc486b60d
    Signed-off-by: Praneeth Paladugu <ppaladug@codeaurora.org>

commit b14ed96f74b1258b1f102831a2b0ccd56f991132
Author: Laura Abbott <lauraa@codeaurora.org>
Date:   Mon Jan 30 14:18:08 2012 -0800

    gpu: ion: Pull in patches for 3.4

    Pull in Ion patches for 3.4 upgrade. Inclues the following
    patches from google:

     commit 7191e9ba25
     Author: Rebecca Schultz Zavin <rebecca@android.com>
     Date:   Mon Jan 30 14:18:08 2012 -0800

         ion: Switch map/unmap dma api to sg_tables

         Switch these api's from scatterlists to sg_tables

         Signed-off-by: Rebecca Schultz Zavin <rebecca@android.com>

     commit 6f9e56945d
     Author: Rebecca Schultz Zavin <rebecca@android.com>
     Date:   Tue Jan 31 09:40:30 2012 -0800

         ion: Add reserve function to ion

         Rather than requiring each platform call memblock_remove or reserve
         from the board file, add this to ion

         Signed-off-by: Rebecca Schultz Zavin <rebecca@android.com>

     commit 9ae7e01de1
     Author: KyongHo Cho <pullip.cho@samsung.com>
     Date:   Wed Sep 7 11:27:07 2011 +0900

         gpu: ion: several bugfixes and enhancements of ION

         1. Verifying if the size of memory allocation in ion_alloc() is aligned
         by PAGE_SIZE at least. If it is not, this change makes the size to be
         aligned by PAGE_SIZE.

         2. Unmaps all mappings to the kernel and DMA address spaces when
         destroying ion_buffer in ion_buffer_destroy(). This prevents leaks in
         those virtual address spaces.

         3. Makes the return value of ion_alloc() to be explicit Linux error code
         when it fails to allocate a buffer.

         4. Makes ion_alloc() implementation simpler. Removes 'goto' statement and
         relavant call to ion_buffer_put().

         5. Checks if the task is valid before calling put_task_struct() due
         to failure on creating a ion client in ion_client_create().

         6. Returns error when buffer allocation requested by userspace is failed.

         Signed-off-by: KyongHo Cho <pullip.cho@samsung.com>

     commit 043a61468f
     Author: Rebecca Schultz Zavin <rebecca@android.com>
     Date:   Wed Feb 1 11:09:46 2012 -0800

         ion: Switch ion to use dma-buf

         Ion now uses dma-buf file descriptors to share
         buffers with userspace.  Ion becomes a dma-buf
         exporter and any driver that can import dma-bufs
         can now import ion file descriptors.

         Signed-off-by: Rebecca Schultz Zavin <rebecca@android.com>

     commit 0d1259b5f8
     Author: Rebecca Schultz Zavin <rebecca@android.com>
     Date:   Mon Apr 30 16:45:38 2012 -0700

         gpu: ion: Use alloc_pages instead of vmalloc from the system heap

         With this change the ion_system_heap will only use kernel address
         space when the memory is mapped into the kernel (rare case).

         Signed-off-by: Rebecca Schultz Zavin <rebecca@android.com>

     commit be4a1ee79a
     Author: Rebecca Schultz Zavin <rebecca@android.com>
     Date:   Thu Apr 26 20:44:10 2012 -0700

         gpu: ion: support begin/end and kmap/kunmap dma_buf ops

         These ops were added in the 3.4 kernel.  This patch adds support
         for them to ion.  Previous ion_map/unmap_kernel api is also
         retained in addition to this new api.

         Signed-off-by: Rebecca Schultz Zavin <rebecca@android.com>

     commit 46d71337f9
     Author: Rebecca Schultz Zavin <rebecca@android.com>
     Date:   Mon May 7 16:06:32 2012 -0700

         gpu: ion: Allocate the sg_table at creation time rather than dynamically

         Rather than calling map_dma on the allocations dynamically, this patch
         switches to creating the sg_table at the time the buffer is created.
         This is necessary because in future updates the sg_table will be used
         for cache maintenance.

         Signed-off-by: Rebecca Schultz Zavin <rebecca@android.com>

     commit 903f6c716d
     Author: Rebecca Schultz Zavin <rebecca@android.com>
     Date:   Wed May 23 12:55:55 2012 -0700

         gpu: ion: Get an sg_table from an ion handle

         This patch adds an interface to return and sg_table given a
         valid ion handle.

         Signed-off-by: Rebecca Schultz Zavin <rebecca@android.com>

    The commit also includes fixups needed for MSM specific code.

    Change-Id: Idbcfa9d6af0febf06f56daaa6beaa59cc08e4351
    Signed-off-by: Laura Abbott <lauraa@codeaurora.org>

commit 995fd27825c1bb27f0bfa76d4a887dc00cd0f1eb
Author: Ashray Kulkarni <ashrayk@codeaurora.org>
Date:   Mon Jul 2 12:57:55 2012 -0700

    msm_vidc: Fix decoder output order.

    Decoder's output order was configured incorrectly, this
    change fixes it.

    Change-Id: I523260db33f1df5ffb7c30026683b272c9a05488
    Signed-off-by: Ashray Kulkarni <ashrayk@codeaurora.org>

commit 90ced6e40066e6ed681b78d1689ef9b8e552f0ab
Author: Abhimanyu Kapur <abhimany@codeaurora.org>
Date:   Tue Jun 26 17:41:25 2012 -0700

    msm: 8974: rename copper to 8974

    The official name for copper is MSM8974.
    Switch to it.

    Change-Id: Ifb241232111139912477bf7b5f2e9cf5d38d0f9e
    Signed-off-by: Abhimanyu Kapur <abhimany@codeaurora.org>

commit fe72c45cf670cb0fafb04a6a2fa6a1aa428435c6
Author: Ashray Kulkarni <ashrayk@codeaurora.org>
Date:   Tue May 29 19:52:00 2012 -0700

    vidc_hal: update driver to new hal interface.

    Update video driver to maintain video functionality with
    new hardware interface.

    Change-Id: I731133ffc4b3633d0c2b55846d983846dfe6930f
    Signed-off-by: Ashray Kulkarni <ashrayk@codeaurora.org>

commit cf7e27f92a99cdc422d67f6d328c0b910d2bbf9d
Author: Vinay Kalia <vkalia@codeaurora.org>
Date:   Thu Jun 14 19:05:15 2012 -0700

    msm: vidc: Video driver update to kernel 3.4.

    During the migration from kernel 3.0 to 3.4, V4L2 framework changed.
    This requires changes from video driver. This change makes video
    driver code compatible with kernel 3.4.

    Change-Id: I12fb28e4b7c261c9755fbb62bb6bb8ea299d5272
    Signed-off-by: Vinay Kalia <vkalia@codeaurora.org>

commit 1c72b395348a0d4944e4f05e2979c80e7f8d8c52
Author: Ashray Kulkarni <ashrayk@codeaurora.org>
Date:   Wed Jun 20 10:50:00 2012 -0700

    msm: video: Fix compiler warnings

    changed array definitions, #defines and variable repetition to resolve
    warnings in compilation.

    Change-Id: Ic26f1924da389f4a8638728963c6a4c8b2f859d0
    Signed-off-by: Jessica Gonzalez <jgaona@codeaurora.org>

commit 240368102e7f6f23ed70835c97bb4e43effb78cc
Author: Praneeth Paladugu <ppaladug@codeaurora.org>
Date:   Thu Jun 14 00:26:25 2012 -0700

    msm: media: Adds error check in memory alloc function

    Adds Error check for Zero size.

    Change-Id: Ib450c1c8b34436b6a5d1fdc3c14dbb52c9b3f177
    Signed-off-by: Praneeth Paladugu <ppaladug@codeaurora.org>

commit a1980a18e0e6f868485b232af83efb58f2b3f004
Author: Deva Ramasubramanian <dramasub@codeaurora.org>
Date:   Thu May 31 12:31:10 2012 -0700

    msm: vidc: Add support for DIVX 4/5/6

    Add support to the driver to properly configure the Venus core for
    various DIVX formats.

    Change-Id: Ica6411936a09edfc3aa4ca321c781ff22948742a
    Signed-off-by: Deva Ramasubramanian <dramasub@codeaurora.org>

commit c249b751531d3ca2f5506d083720571cb07fc453
Author: Deva Ramasubramanian <dramasub@codeaurora.org>
Date:   Fri May 18 17:31:03 2012 -0700

    msm: vidc: Add DIVX311 support

    Implement changes in the driver to support decoding of Divx311
    bitstreams

    Change-Id: Ie4e05c9161d89b866f9f36ca1865a9b64bc51240
    Signed-off-by: Deva Ramasubramanian <dramasub@codeaurora.org>

commit e6a37af67ac6f2f9eef441e57d13914b4682e1ef
Author: Vinay Kalia <vkalia@codeaurora.org>
Date:   Wed May 16 16:47:54 2012 -0700

    msm: vidc: Removes extradata allocation.

    Reverting extradata allocation added earlier in
    3766b1e6b4dea7dea0abed1e9090390640a12909 because
    extradata allocation is causing a hang in firmware.

    Change-Id: I18854cf19757a01794522da75f066bf1ff5e0aa0
    Signed-off-by: Vinay Kalia <vkalia@codeaurora.org>

commit bff3d1085ec9aeb7942fe76ea3520741061eb1cc
Author: Ashray Kulkarni <ashrayk@codeaurora.org>
Date:   Mon May 21 14:50:27 2012 -0700

    media: msm_vidc: change encoder output size

    Change encoder buffer size from fixed to resolution based,
    so high resolution input can be encoded

    Change-Id: I572c8c82a649ae11abe1319bb13d24838d6fcfd1
    Signed-off-by: Ashray Kulkarni <ashrayk@codeaurora.org>

commit cb00cab7f826f54338303bbb8f02ce72cfa05030
Author: Ashray Kulkarni <ashrayk@codeaurora.org>
Date:   Mon May 21 14:22:55 2012 -0700

    media: msm_vidc: extradata buffer cleanup.

    move extradata buffer cleanup to the end of decoder session to
    enable back to back decoding

    Change-Id: Ib4183c73d083efc26442d42e33dc9e2d476ecc13
    Signed-off-by: Ashray Kulkarni <ashrayk@codeaurora.org>

commit f2acb8593e9b17c69a4c33dd280ecd7edee3dbea
Author: Praneeth Paladugu <ppaladug@codeaurora.org>
Date:   Mon May 7 17:44:53 2012 -0700

    msm: vidc: Adds support for port reconfiguration.

    Adds support for port reconfiguration. This enables decoder to
    reconfigure to new resolution or settings other than initially
    configured to continue video playback.

    Change-Id: Id11e973e4cf1a5c7e4ec5544215fe57cb19466be
    Signed-off-by: Praneeth Paladugu <ppaladug@codeaurora.org>

commit 5b79a3252710683b406c03ab21a808e852cb2962
Author: Praneeth Paladugu <ppaladug@codeaurora.org>
Date:   Wed Apr 18 15:16:29 2012 -0700

    msm: vidc: Adds support for conveying events.

    Adds support for conveying events to userspace from kernel
    driver. This is needed to let userspace/client know of
    any error or other event of importance.

    Change-Id: Ife450b9f5dfe23f07b6f346c8e27c214fc85e083
    Signed-off-by: Praneeth Paladugu <ppaladug@codeaurora.org>

commit a6b8db6c28d6db6409bba8397b28f4b89dfb74ac
Author: Ashray Kulkarni <ashrayk@codeaurora.org>
Date:   Fri Apr 20 15:20:29 2012 -0700

    msm: msm_vidc: enable msm_vidc driver compilation on 8x74.

    Enables compilation of v4l2 based video driver for 8x74.V4L2 clients
    can use video driver to encode and decode video using hardware
    accelerated codecs.

    Change-Id: If615930ddf72023b2a626af6cca87ebf56ede047
    Signed-off-by: Ashray Kulkarni <ashrayk@codeaurora.org>

commit 9c8bab95ac974600c7809db2fc7b3c35004fd5dd
Author: Ashray Kulkarni <ashrayk@codeaurora.org>
Date:   Thu May 17 18:20:25 2012 -0700

    media: msm_vidc: fix compilation issue.

    This file depends on vidc_hal_api.h, which was modified to
    address review comments. The change reflects the fix.

    Change-Id: I2b5a64c28e87f6a1696f86c07d597fc058927e6c
    Signed-off-by: Ashray Kulkarni <ashrayk@codeaurora.org>

commit d2ab0e33cf250647cccabff1073f736f05c7ee83
Author: Ashray Kulkarni <ashrayk@codeaurora.org>
Date:   Tue Apr 3 18:40:29 2012 -0700

    media: msm_vidc: add v4l2 controls for video encoder

    Adds encoder specific v4l2 controls in video driver, giving
    flexibility to userspace or in-kernel v4l2 client to change/set
    video encoder properties like  codec, profile, level, resolution,
    bitrate, ratecontrol, framerate to video hardware.

    Change-Id: Ie9d0eed301c3adad20471d8ef93f8087fe9dda15
    Signed-off-by: Ashray Kulkarni <ashrayk@codeaurora.org>

commit 1ccbc9106c61b27462036667e7896bdbe0c7d8fb
Author: Ashray Kulkarni <ashrayk@codeaurora.org>
Date:   Fri Mar 23 16:26:52 2012 -0700

    media: msm_vidc: add set property support in video driver

    Enables setting video encoding and decoding parameters to video
    hardware. This allows configuring video hardware with userspace
    or in-kernel client settings for codec, profile, level, bitrate,
    resolution, ratecontrol, framerate.

    Change-Id: Ie95674dc4ad50e00d737e765af1382c1397d4442
    Signed-off-by: Ashray Kulkarni <ashrayk@codeaurora.org>

commit 6ab782bdf6385bb325667841b7ee53a62a97dca5
Author: Ashray Kulkarni <ashrayk@codeaurora.org>
Date:   Thu Jan 26 16:58:01 2012 -0800

    media: msm_vidc: Add hardware interface for video core.

    - Provides hardware level interface to perform video encoding
      and decoding.
    - Implements interrupt handling and processing for video core.
    - Packages data to core readable format and processes response from core.

    Change-Id: Ie16796449d2aacf331c7e02b3f0a63175cc5d37b
    Signed-off-by: Ashray Kulkarni <ashrayk@codeaurora.org>

commit 3766b1e6b4dea7dea0abed1e9090390640a12909
Author: Vinay Kalia <vkalia@codeaurora.org>
Date:   Wed Jan 11 18:58:41 2012 -0800

    media: msm_vidc: Add video driver for video core.

    - Adds video encoding and decoding functionality.
    - Implements v4l2 interface based driver for interacting
      with userspace modules to perform video encoding and
      decoding.
    - Implements kernel API for interacting with kernel
      modules like Wifi display(encoder) and V4L2 based
      DVB(decoder).

    Change-Id: Iadb83b60139e659ae7f66e5dc38c46fef52ca99d
    Signed-off-by: Vinay Kalia <vkalia@codeaurora.org>

Signed-off-by: David Brown <davidb@codeaurora.org>
2013-02-25 11:29:47 -08:00