Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Android msm 2.6.35 ics #1

Open
wants to merge 105 commits into
base: android-msm-2.6.35
Choose a base branch
from
Open

Android msm 2.6.35 ics #1

wants to merge 105 commits into from

Conversation

andr00ib
Copy link

@andr00ib andr00ib commented Dec 7, 2012

No description provided.

Jordan Crouse and others added 30 commits November 17, 2011 16:18
Registers 0x300 and 0x304 give us nothing useful and cause hangs
when they are read while 3D is running.  Remove them from the
postmortem dump.

Change-Id: I4abb8f2a33eb3e3dd1f92400455710ea87f44736
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
…packet

Remove code setting previously unused field in REG_TO_MEM packet.
As far as I can tell, setting bit 30 ("| (1 << 30)") has never had any
effect. It may originally have been coded to accumulate the value in the
REG_TO_MEM, but that no longer makes any sense in this context, since this
code is being called for regular register values (not perf counters).
Now that the REG_TO_MEM packet is using bits 30:15 as a count on Leia, this
code will attempt to copy 32k (1 << (30-15)) register values. This isn't
correct, so I'm removing this code.

This is CL1619066 from core driver

Change-Id: Ie1c01656bdca76b0f73502e26cf05deea188895a
Signed-off-by: Jon Ashburn <jashburn@codeaurora.org>
Writing a 0 to pwrnap will turn off local clock disables.
Writing a 1 to pwrnap will re-enable.

Change-Id: Ic23f6de617a9e33a93dc83fdd695d66a87f6e4db
Signed-off-by: Lucille Sylvester <lsylvest@codeaurora.org>
Some registers on older GPUs are not valid for the Z470 GPU and
cause RBBM read errors during the postmortem dump.  These are
harmless but needlessly detract attention from the actual problems.
Split the list of registers out for the two generations of GPUs and
470 debug registers not previous collected.

Change-Id: Ibb90a3b38c70a67935b3870ee375144ab7f93ed0
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
Make register output in the postmortem dump optional and off by
default with run-time control via debugfs.  Remove Kconfig entry
since its unlikely anybody would ever use it.

Change-Id: I43113a179b7f366b368b087bc1887e2ff8d2a9a0
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
Change-Id: I18c86524a2cd9de1b337ca83ef3d98294236e33d
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
Change-Id: Id80cf1855258d2f3ca6fcfc0a7b52ea90085e981
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
Change-Id: I04aefa1481b1b64ed854af2c640602810ae39f13
Signed-off-by: Jeremy Gebben <jgebben@codeaurora.org>
Fix a bug in the the debugfs log settings get function - set the value
and return 0.

Change-Id: I5e72e335c91431ed408468e0f018302db1bf774b
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
Avoid a string overrun in the postmortem dump by improving kgsl_dump_fields
line by line output and making sure it stays within the buffer limits.

Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
Return EDEADLK error from IOCTL_KGSL_RINGBUFFER_ISSUEIBCMDS
if the context under which the commands are being submitted
had caused a GPU hang. The user space driver can then check
for EDEADLK error and return the correct error code to the
application.

Change-Id: Ie0e6cbd76a7f8a38760c896eb206b57ff357675b
Signed-off-by: Shubhraprakash Das <sadas@codeaurora.org>
Because not all of the 2d registers are directly accessible,
the functions for accessing them had gotten a little bit
confusing. This removes the apparent mutual recursion at the
expense of a little more code.

Also, the 2 step registers are now guarded by a spinlock to
prevent a possible race.

Change-Id: I833b896a8dfa2a85079899d4f1b057be91078ab4
Signed-off-by: Jeremy Gebben <jgebben@codeaurora.org>
under certain context destruction & creation scenarios, the
mmu was not being reprogrammed appropriately with the new
context's pagetable. This resulted in the core executing
commands with pagetable not matching the context. Code resets
the state of the mmu struct to default pagetable upon context
destruction.

Change-Id: I687f32741bdcac561b0ae083040fe7829d00a10b
CRs-fixed: 287344
Signed-off-by: Raj Kushwaha <rajk@codeaurora.org>
nap_allowed should be checked when setting the requested_state,
but not before attempting to sleep.

CRs-fixed: 288423
Signed-off-by: Lucille Sylvester <lsylvest@codeaurora.org>
(cherry picked from commit 655cc6c0824e773f6c9c6d195e292288c23ce9fd)

Change-Id: Ie3889061bfaf9659a3223877a728e6af7b9603fc
Signed-off-by: Sunil Joseph <sunilj@codeaurora.org>
This reverts commit 648da92923fa8bf2bdb35984942a1806cba38b67.

Change-Id: I7f6ef09ce1e21e97a70b17988fb450c5aada76eb
Signed-off-by: Raj Kushwaha <rajk@codeaurora.org>
The gmem save and restore code needs additional registers to
be known states to avoid visual artifacts.

CRs-fixed: 291124
Change-Id: If7815e66d3baae3ccf90e965a65cb6d2315bb678
Signed-off-by: Wei Zou <wzou@codeaurora.org>
Signed-off-by: Jeremy Gebben <jgebben@codeaurora.org>
Add the context switch identifier code before
changing pagetables

Change-Id: I3d21d420dd8fccf88ea1b3e6294b9d8ab486a967
CRs-fixed: 285814
Signed-off-by: Shubhraprakash Das <sadas@codeaurora.org>
Signed-off-by: Raj Kushwaha <rajk@codeaurora.org>
Whenever the read pointer is used to access the
ringbuffer in recovery code looping has been introduced
in places where it was missing

Change-Id: I32d7052c85730703d2aac9b19e83940fd4dc9598
CRs-fixed: 285120
Signed-off-by: Shubhraprakash Das <sadas@codeaurora.org>
Signed-off-by: Raj Kushwaha <rajk@codeaurora.org>
Change-Id: I0654253ca82ebe93e580374a95e648774983bc42
Signed-off-by: Raj Kushwaha <rajk@codeaurora.org>
Use the device specific workqueues for idle_check.
Do not double schedule idle_checks.

CRs-fixed: 288592
Change-Id: Ic0dedbad7edaec9b531fa14f1dc62431639ef82d
Signed-off-by: Lucille Sylvester <lsylvest@codeaurora.org>
Rather then just calculating the idle time and returning it,
there is value in returning the raw statistics and let the caller
use them as they see fit.  Rename calc_idle to power_stats, and
use a structure to pass back the total_time and busy_time.  The
structure allows for future expansion as well as providing enough
information for others to perform interesting power and load related
calculations.

Change-Id: Ic0dedbad280567ce89e98eca8d69d1f104140fe5
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
accounting in mmu_unmap

Change-Id: I412fecf0750819745c2e910ea6d8c0441ce5c18d
Signed-off-by: Suman Tatiraju <sumant@codeaurora.org>
Signed-off-by: Raj Kushwaha <rajk@codeaurora.org>
Previously only supported fabric votes, now supporting AXI as well.

CRs-fixed: 305588
Signed-off-by: Lucille Sylvester <lsylvest@codeaurora.org>
(cherry picked from commit 021b0ff07f73253d4f65c6f869bb48d53c30c212)

Change-Id: I469758dff7ea35f6b55c34fcd061f7d955ff1df3
Signed-off-by: Raj Kushwaha <rajk@codeaurora.org>
Sometimes, the writes to ringbuffer WPTR register are dropped. This will
make the GPU to go to idle before completing all the commands that it is
submitted with. This workaround prevents the writes from being dropped.

CRs-Fixed: 302173

Signed-off-by: Ranjhith Kalisamy <ranjhith@codeaurora.org>
(cherry picked from commit ec0718bffe61411760ae2a5949e48afdd50c6e70)

Change-Id: Ia50e10bfd328c8c15792accb8d25d9ceb2b090f3
Signed-off-by: swetha <sbasin@codeaurora.org>
…0x GPU

The workaround added to prevent the writes to ringbuffer WPTR from
beingdropped does not work on a22x GPU. So, restrict this workaround
only for a20x GPU.

CRs-fixed: 305417

Change-Id: I8d15cf3c7b2356e1c8153cc7e8cffe158321c111
Signed-off-by: Raj Kushwaha <rajk@codeaurora.org>
The WPTR drop prevention workaround added earlier is seen to cause
vague GPU hangs while running 3DMM06 app. So removing it.

Change-Id: I013986ebb69c34e9b534ee52848269a7d4aefb0d
CRs-Fixed: 309787
Signed-off-by: Ranjhith Kalisamy <ranjhith@codeaurora.org>
In use cases with very high graphics for some time followed by
low constant usage, the power level is never dropped. Periodically
allow the TZ algorithm to run to see if any change in the external
conditions has occured.

Change-Id: Ibb41b4e0669f5d4eae83c326bca0cf540b95c410
CRs-fixed: 309131
Signed-off-by: Lucille Sylvester <lsylvest@codeaurora.org>
Fix a bug in the interaction between NAP and GPU DCVS.  Without
this change the clock freq recommended by DCVS might or might
not have been used.  Power levels should be stabilized for test
cases now.

CRs-fixed: 313792
Change-Id: Id776f5ef4964a68e175328b2eb8da87068f597eb
Signed-off-by: Lucille Sylvester <lsylvest@codeaurora.org>
modified victor board files to support it
jpa468 and others added 30 commits November 23, 2011 16:53
The xt_quota2 came from
  http://sourceforge.net/projects/xtables-addons/develop

It needed tweaking for it to compile within the kernel tree.
Fixed kmalloc() and create_proc_entry() invocations within
 a non-interruptible context.
Removed useless copying of current quota back to the iptable's
struct matchinfo:
  - those are per CPU: they will change randomly based on which
    cpu gets to update the value.
  - they prevent matching a rule: e.g.
      -A chain -m quota2 --name q1 --quota 123
     can't be followed by
      -D chain -m quota2 --name q1 --quota 123
    as the 123 will be compared to the struct matchinfo's quota member.

Change-Id: I021d3b743db3b22158cc49acb5c94d905b501492
Signed-off-by: JP Abgrall <jpa@google.com>
This uses the NETLINK NETLINK_NFLOG family to log a single message
when the quota limit is reached.
It uses the same packet type as ipt_ULOG, but
 - never copies skb data,
 - uses 112 as the event number (ULOG's +1)

It doesn't log if the module param "event_num" is 0.

Change-Id: I6f31736b568bb31a4ff0b9ac2ee58380e6b675ca
Signed-off-by: JP Abgrall <jpa@google.com>
this adds supports for overlay wait ioctl and it allows the
userapce start overlay play and HDMI and can call wait
later point of the time

Change-Id: I8000cc52a497861e0a5fdfe58c0c049219724ab6
Signed-off-by: Nagamalleswararao Ganji <nganji@codeaurora.org>

Conflicts:

	include/linux/msm_mdp.h
select FB_MSM_DTV on FB_MSM_OVERLAY
remove MSMFB_OSP_CAPTURE (On-Screen Phone?)
Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>
Signed-off-by: KOVACS Krisztian <hidden@balabit.hu>
Signed-off-by: Patrick McHardy <kaber@trash.net>
    Like with IPv4, TProxy needs IPv6 defragmentation but does not
    require connection tracking. Since defragmentation was coupled
    with conntrack, I split off the two, creating an nf_defrag_ipv6 module,
    similar to the already existing nf_defrag_ipv4.

    Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>
    Signed-off-by: KOVACS Krisztian <hidden@balabit.hu>
    Signed-off-by: Patrick McHardy <kaber@trash.net>
…nabled

    The IPv6 tproxy patches split IPv6 defragmentation off of conntrack, but
    failed to update the #ifdef stanzas guarding the defragmentation related
    fields and code in skbuff and conntrack related code in nf_defrag_ipv6.c.

    This patch adds the required #ifdefs so that IPv6 tproxy can truly be used
    without connection tracking.

    Original report:
    http://marc.info/?l=linux-netdev&m=129010118516341&w=2

    Reported-by: Randy Dunlap <randy.dunlap@oracle.com>
    Acked-by: Randy Dunlap <randy.dunlap@oracle.com>
    Signed-off-by: KOVACS Krisztian <hidden@balabit.hu>
    Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Requirement for customer (Samsung) to have support
for 720x480p 16:9 aspect ratio, prior to this we
supported only 4:3 aspect ratio for 720x480p.
Adding the appropriate Lookup Table changes.

CRs-Fixed: 311137
Signed-off-by: Manoj Rao <manojraj@codeaurora.org>
(cherry picked from commit 64ee60e185dd7c5b2b6d08f3c81fcdd9a7a5e178)

Change-Id: I79a67ebe0a24be65c2f588d06e80e437d850dc16
Signed-off-by: swetha <sbasin@codeaurora.org>
Added changes to support YV12 input format in the MDP.

Change-Id: I23fb10ea30117e20de654d9516f7d024b99f6c96
Signed-off-by: Pradeep Jilagam <pjilagam@codeaurora.org>
Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
Driver implementation of HDMI CEC feature. Support includes
CEC frame send and frame receive. Support added for sysfs interface
for CEC daemon to interact with the driver for reading and writing frames.

sysfs interface
/sys/class/graphics/fb1/cec
        Read: CEC block state.
        Write: Enable/Disable CEC block.

/sys/class/graphics/fb1/cec_logical_addr
        Read: Print CEC logical address
        Write: Set CEC logical address which is used for
               addressing CEC messages to and from MSM

/sys/class/graphics/fb1/cec_rd_frame
        Read: Read rcvd CEC message from message queue.
              If queue is empty -EBUSY.
              If CEC block is disabled -EPERM.
        Write: N/A

/sys/class/graphics/fb1/cec_wr_frame
        Read: N/A
        Write: Write to send CEC message.
               If CEC line arbitration fault/no ack -EINVAL.
               If CEC block is disabled -EPERM.

Change-Id: I00ccf91c022d6b9962ec0231eb3c8f159a200e40
Signed-off-by: Manoj Rao <manojraj@codeaurora.org>
Driver implementation of HDMI CEC feature. Support includes
CEC frame send and frame receive. Support added for sysfs interface
for CEC daemon to interact with the driver for reading and writing frames.
Resolve GB HOUSE conflicts, below FR on gb house had conflicts.
CRs-Fixed: 319078

Change-Id: Ie93aeb8837151ef98814a4cde463a3be58c6c1fb
Signed-off-by: Manoj Rao <manojraj@codeaurora.org>
Donot set Audio Packet Control Register (0x0020) on
HPD connect event. This register should be set by QDSP6
core on start of dumping Audio Data.

CRs-Fixed: 316588
Signed-off-by: Abhishek Kharbanda <akharban@codeaurora.org>

Conflicts:

	drivers/video/msm/hdmi_msm.c

Change-Id: Idf36ab257d4bb493c578529d4d8a7f0d68e2b1cb
Signed-off-by: swetha <sbasin@codeaurora.org>
Hardware requires a FSM reset toggle under frame
write/read scenarios. This enables every transaction/feature
to have a fresh start. CEC CTS requires this patch to pass a subset
of test cases in sections 8, 9. Hardware and VI teams have confirmed
this as a necessity for compliance tests to pass.

CRs-Fixed: 316345
Signed-off-by: Manoj Rao <manojraj@codeaurora.org>
(cherry picked from commit 0f0ab64f56cbc31cd2fda46ff4790ae86f89ad5f)

Change-Id: Iaeb6b9b121d8c9eb4cf2413ddcaf0024b06e0d8b
Signed-off-by: Swetha Basineni <sbasin@codeaurora.org>
Remove usage of shared pipes. Shared pipes are used to allow VG pipes to
play both video and rgb formats. This can now be handled by calling
overlay set ioctl with new format, that means shared pipes are no longer
needed and can cause instabilities if not used properly.

CRs-Fixed: 312209
Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
(cherry picked from commit cb8fbbcbe0630451ba582a0747987c48b2c603f1)

Conflicts:

	drivers/video/msm/mdp4.h

Change-Id: I0f36f65db00884b017a5bad4670794cd65e2c5e5
Signed-off-by: swetha <sbasin@codeaurora.org>
Check for Bit[0] of Audio Packet Control Register and Audio
Configuration Register before resetting HDMI core.
Even after sending OFFLINE event, QDSP take time to switch between
stereo and hdmi audio mode. HDMI reset core should not be called
untill that switch happens.

CRs-Fixed: 310700
Signed-off-by: Abhishek Kharbanda <akharban@codeaurora.org>
(cherry picked from commit a077d0063dfb8a39a869f56099dd0ffe85301180)

Change-Id: Ib664232c07d00dad7a2d89875fe2903b8ab1016c
Signed-off-by: Swetha Basineni <sbasin@codeaurora.org>
AVI_INFO_FRAME was not getting sent if
CONFIG_FB_MSM_HDMI_MSM_PANEL_HDCP_SUPPORT is enabled
Getting rid of the #ifdef checks around the function call/defn

CRs-Fixed: 311139
Signed-off-by: Manoj Rao <manojraj@codeaurora.org>
(cherry picked from commit 4d28b63ec5ca47e074ae87551911d6a5f8c289d0)

Change-Id: I7410e176b0a2e09b87f623bdbfb08927d2525b05
Signed-off-by: Swetha Basineni <sbasin@codeaurora.org>
Currently the driver discards one byte from DDC buffer.
In cases where EDID exceeds two block in length we need to discard
a total of 3 bytes before reading from EDID seg.

CRs-Fixed: 307706
Signed-off-by: Manoj Rao <manojraj@codeaurora.org>
Signed-off-by: Abhishek Kharbanda <akharban@codeaurora.org>
(cherry picked from commit ebefc805a139e8222061b32cbf7686d76122de5f)

Change-Id: I7bc723e53244983b76937deedf3524c642194e62
Signed-off-by: Swetha Basineni <sbasin@codeaurora.org>
If the EOS frame has codec config flag set and decoder
return status is bitstream error, then driver was
handling EOS done before the core returned with EOS done.

Fixed by adding a check in the driver to not handle EOS done
until the core returns with EOS done.

CRs-Fixed: 320107

Signed-off-by: Deepika Pepakayala <deepikap@codeaurora.org>
(cherry picked from commit a86367e34880ba37cabc0a6041300c0e3ae2424b)

Change-Id: I67d891d38cf746245fb26600b15d05f38c679b02
Signed-off-by: Swetha Basineni <sbasin@codeaurora.org>
Non-standard resolution, like 531*398, is treated as 720*480 instead of
640*480 , as it has non 4:3 aspect ratio.Chanding aspect ration calculation
to be in a range , rather than absolute.

CRs-Fixed: 320022
Signed-off-by: Abhishek Kharbanda <akharban@codeaurora.org>
Signed-off-by: Aravind Venkateswaran <aravindh@codeaurora.org>
(cherry picked from commit 402adc6142598abcb2a41a941895003f57f289a5)

Change-Id: I28d6f11b20f123c52d5872f0b550c3c4531356f7
Signed-off-by: Swetha Basineni <sbasin@codeaurora.org>
DEBUG mode added delay after writing RO's to RCVPORT, leading to
HDCP AUthentication Sucess Interrupt coming before INIT_COMPLETION
call. Re-arranging INIT_COMPLETION code before writng RO's resolved
the issue.

CRs-Fixed: 325564

Signed-off-by: Abhishek Kharbanda <akharban@codeaurora.org>
Signed-off-by: Aravind Venkateswaran <aravindh@codeaurora.org>
(cherry picked from commit 39cf209c7f8ac4843c8b10223af15d0afdbe96ce)

Change-Id: I3f97aadf0a7635bf07b206a3477afd18a23b7b44
Signed-off-by: Swetha Basineni <sbasin@codeaurora.org>
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.

9 participants