1. The backlight turns on before framebuffer comes out.
In command mode panel like JDI, there would be messy screen
when resuming.
2. Framebuffer comes out at first msm_fb_commit_wq_handler()
-> mdp4_overlay_commit() after resume.
We should delay backlight to after framebuffer comes out.
3. Add set_recovery_backlight for the backlight in recovery mode.
Default backlight 40/255, may modify afterwards.
case 01124703
Change-Id: I62ace8bb85ac62b6eaf214588caa8a89ba094a67
Signed-off-by: yetta_wu <yetta_wu@asus.com>
If vertical porch is too small, we need to set pinfo.lcd.blt_ctrl = 1.
Basically, the vertical porch should be above 10% of active lines.
The fail log of video playback stress test is:
fence timeout on [ec2c0c80] after 1000ms
case number: 01130006
Change-Id: I035386a5dd33d7b779197cc063c0a2ad80edafa9
Signed-off-by: yetta_wu <yetta_wu@asus.com>
flo and deb use slimport as HDMI output
remove 5V power control to avoid current leakage
Change-Id: I0e0670a333507df75ce9090b7b91bd2a60ff85f2
Signed-off-by: yetta_wu <yetta_wu@asus.com>
some panel gpio are changed in different hardware version,
modify codes to support both SR1 and SR2
Change-Id: I2ba9b7bc1341ef47aaa307655af63996b2f3e722
Signed-off-by: yetta_wu <yetta_wu@asus.com>
1. for SR1 gpio
2. use pwm to control backlight
in the run afterwards, we would use mipi commands to control backlight
Change-Id: Ie7b6de6fb5a8866f5e929d12284a1d85dda8582a
Signed-off-by: yetta_wu <yetta_wu@asus.com>
1.Use gpio-85: low = debug board and high = no debug board.
2.Only support hardware revison A and after.
Change-Id: If4db1fd8f94036dfb7428e63e54b4ae41b60e0cd
Signed-off-by: sam_chen <sam_chen@asus.com>
Text-based representation hardly follows up rapid changes of
hardware schematics among multiple projects. Different hardware stage
and naming was given even if the same pcbid value is defined.
Translate the text-based representation (eg, SR, ER, and etc) into
index-based one to avoid development confusion.
Change-Id: I11cf63b84b9597fb100cc0c9730b36c8f386b4e4
Reviewed-on: http://mcrd1-5.corpnet.asus/code-review/master/69010
Reviewed-by: Sam hblee <Sam_hblee@asus.com>
Signed-off-by: paris_yeh <paris_yeh@asus.com>
Reviewed-on: http://mcrd1-5.corpnet.asus/code-review/master/69665
Enables uhid for the user space driver required by Bluedroid HID module.
Change-Id: I564dd660d6ed2c5ed61bacb2a5c6e31e52ead346
Signed-off-by: rock_shen <rock_shen@asus.com>
git://codeaurora.org/external/wlan/prima.git
84e056c wlan: Release 3.2.2.2
18064b9 wlan: update WCNSS_cfg.dat
77ee64d wlan: (1) fix issues encounter when building with GCC 4.7
352bd47 wlan: cs release 3.2.0.75a
d1a02f9 wlan: Fixing copyright issue with Augment ioctl WLAN_PRIV_SET_MCBC_FILTER
f2d27a6 wlan: cs release 3.2.0.75
8da16ff Add Null check for psessionEntry in MTRACE code
5ed2cf6 wlan: Fix for SAP start failure after GO turnoff.
8d2f188 wlan: cs release 3.2.0.74
edbcce0 Integrate memory corruption fixes from windows core stack
4abca74 Fix for the crash at the time of driver unload
5bd90ee Increase the maximum TDLS peer connections
0de5997 Remove TDLS connected peers on Missed Beacon Indication
8bc168d Fix multiple acquires for the same mutex lock and data stall.
263ccc9 Not to do multiple setups during setup negotiation with same peer
f9e2454 Fix to enhance the mutex lock acquire
3dc8765 wlan: cs release 3.2.0.73
a21df9e Fix WLAN connection issues with BTC
35fcf02 wlan: sme: remove obsolete "INTEGRATED_SOC" featurization
4a844a0 wlan: mac: remove obsolete "INTEGRATED_SOC" featurization
2d79528 wlan: sys: remove obsolete "INTEGRATED_SOC" featurization
d901a10 wlan: svc: remove obsolete "INTEGRATED_SOC" featurization
f7c43d6 wlan: sap: remove obsolete "INTEGRATED_SOC" featurization
e3876c5 wlan: tl: remove obsolete "INTEGRATED_SOC" featurization
5d9e3c7 wlan: Fixing issue with Remove access to GPL only APIs
c0e741d wlan: cs release 3.2.0.72
872cde3 Fix for device not coming to BMPS after teardown TDLS link
89cecd7 TDLS mgmt.frame encapsulated to data frame uses WDA/DXE MGMT path
bd7ae7d wlan: dot11f: Fix to parse the received RIC IE appropriately
deaec4a wlan: cs release 3.2.0.71
0284fd7 wlan: Remove obsolete USB and SDIO conditional code
0eb1e22 wlan: update Listen Interval with change in multisession
a9e9b45 wlan: add a counter for RX free packets
491ee19 wlan: bap: remove obsolete "INTEGRATED_SOC" featurization
769e952 wlan: move mcast list to adapter context
1a18f3b wlan: FirstSet of Run Time Config variables
5618b49 wlan: Add SSR protection to WEXT APIs
a4014df wlan: (2)Fixing issue with WCNSS_qcom_cfg.ini values for specific OEM
2a693a8 wlan: Fixing issue with WCNSS_qcom_cfg.ini values for specific OEM
832b99d wlan: cs release 3.2.0.70
f249fcd Update WCNSS_qcom_cfg.ini values for specific OEM
d0f91d1 Fix P2P connection failure
7cea016 wlan: Fixed issue in handling of EAPOL keys
b798dc1 wlan: Fix for ARP offload issue
225a1b4 wlan: Augment ioctl WLAN_PRIV_SET_MCBC_FILTER
6e2d2a4 wlan: cs release 3.2.0.69
2b84761 P2P : Fix related to P2P connection reliability improvement
a2e0214 TDLS: feature enhancement for discovery and teardown
87d2686 wlan: Enable ARP offload config
888e289 wlan: fix issues encounter when building with GCC 4.7
d61fc9f wlan: cs release 3.2.0.68
7156822 wlan: qnx awareness to corestack
535117a wlan : Fast transition (11r)
c1c88ff wlan: CSR should only indicate lostlink once
c748428 wlan: MAC context set to NULL in HDD context after driver shutdown in SSR
af6c227 wlan: cs release 3.2.0.67
bac0b58 Revert "wlan: Abort scan on receiving remain_on_channel request"
bc57cf3 wlan: Fix for sending probe request at 6 MBps in WifiDirect
68e2b1c wlan: Array out of bound due to invalid session Id
77b39ec wlan: do not retry pre-auth after response with status 17.
9ddfa02 wlan: Remove access to GPL only APIs
1d657ea wlan: cs release 3.2.0.66
8e5188e Fix to stop doing discovery after maximum retry
36166bc wlan: cs release 3.2.0.65
41e53fd wlan: Set TxBF csn value based on ini configuration.
35d901d Send unicast deauth when GO terminates
75d87b1 wlan: prevent timer callback after unload during SSR
313daf4 wlan: cs release 3.2.0.64
5c68731 Fix to send TDLS frames at basic rates
d8051e4 Register TDLS peer to TL at link enable
051a555 Fix for Multiple Invitation pop window seen during P2P connection
178aedb wlan: Define flag WLAN_OPEN_SOURCE for the open source driver
74b767b wlan: Fixing comments
2dc03b9 wlan: removing files that were accidentally submitted
4fe5c95 wlan: cs release 3.2.0.63
2c2b281 Fix to not flood TDLS Discovery Request frames
08a1d1c wlan: Remove obsolete LIM_TIMER_EXPIRY_LIST support
1969045 wlan: remove obsolete RTL8652 and LX5280 conditional code
aea6e42 Fix the conflicts of cfg.txt autogenerated files
0d293c4 wlan: cs release 3.2.0.62
fa97d49 Fix to delete all connected tdls peer
f251c0c Fix TDLS link rate to operate with 11AC AP
961f80a wlan: cs release 3.2.0.61
944580a Disable LDPC in sta mode when AP is TXBF capable
1aca8dc wlan: Initialization of structure variable
da382fb wlan: Multiple Memory Leaks @File wlan_qct_wdi.c
79d1506 wlan: fix ioctl interfaces to get driver/firmware version
8811415 wlan: Do not reference userspace memory in the driver
15fb73f wlan: Set correct CB mode for channel 165.
68940f7 wlan: remove obsolete phyGlobal.h
680f7b0 wlan: cs release 3.2.0.60
6b6ec95 Fix vos_assert and kernel panic during wlan_exit
7a6d70b wlan:Debugging Log Enhancement and Log CleanUp
21930fe Padding up to 46 octet for TDLS setup confirm
b92ff61 Remove packet filter dependency on connected state
11fbd74 wlan: cs release 3.2.0.59
5758f30 wlan: MTRACE LFR Debug Enhancements.
15d08b7 wlan: Fix for P2P connection failure in 5GHz Auto GO
a1645f1 wlan: cs release 3.2.0.58
aed5e67 wlan: Fix for SAP/P2P GO to come up on configured channel
5d2067e Quarky read reg support
83fe58c wlan: Fixes to support 802.11K functionality
1d21b6d WLAN: Update cfg.txt file so that it is in sync with the auto generated .h files
fee3fe5 wlan: cs release 3.2.0.57A
756a8e5 Send teardown with correct address.
111254e wlan: cs release 3.2.0.57
9b553eb PRIMA: Avoiding memory leak while setting dynamic MCBC filter.
9321800 wlan: Fix for address scheme for p2p device administrated.
Signed-off-by: Iliyan Malchev <malchev@google.com>
PCM driver was configured for fixed buffer
size on the playback path. With this, varying
the buffer sizes on the playback path was not
possible. To fix this, support for flexible
period sizes is added by setting different
values for min and max buffer sizes
Signed-off-by: Alexy Joseph <alexyj@codeaurora.org>
Signed-off-by: Mekala Natarajan <mekalan@codeaurora.org>
Change the parameter of eye diagram for Flo. This value is hardware
specific.
Change-Id: I91e9ba9b747ac31c5af517fd65f00e349c8a4d5a
Signed-off-by: Raphanus Lo <raphanus_lo@asus.com>
Bug: 8204207
Signed-off-by: Alexy Joseph <alexyj@codeaurora.org>
Signed-off-by: Mekala Natarajan <mekalan@codeaurora.org>
Signed-off-by: Ed Tam <etam@google.com>
On 8064, ADSP image is loaded when pcm_open is
called for the first time. This caused the first
audio playback to be delayed. To fix this, adsp_loader
is modified to load ADSP firmware using pil.
Bug: 8204207
Signed-off-by: Alexy Joseph <alexyj@codeaurora.org>
Signed-off-by: Mekala Natarajan <mekalan@codeaurora.org>
Signed-off-by: Vineeta Srivastava <vsrivastava@google.com>
Signed-off-by: Ed Tam <etam@google.com>
When pagefault happens do not cancel the faulting transaction if
the registered fault handler returns EBUSY error. This way
drivers can control when they want to resume the transaction.
Change-Id: Ia4563da073ab04174803101c3b8ec82b0571850e
Signed-off-by: Shubhraprakash Das <sadas@codeaurora.org>
Signed-off-by: Sakshi Agrawal <sakshia@codeaurora.org>
A misconfigured board file could cause an out-of-bounds
array access through this value.
Change-Id: I64bbad0c096a2efe65376991537d810141370d72
CRs-Fixed: 439230
Signed-off-by: Lucille Sylvester <lsylvest@codeaurora.org>
Signed-off-by: Sakshi Agrawal <sakshia@codeaurora.org>
Remove printing of "invalid context_id" messages and
replace those with simply returning with -EINVAL. The
messages serve little purpose and their removal alleviates
kernel log spamming.
CRs-fixed: 449050
Change-Id: Id0d6538d228e7dc928a628bdffde8c952ec5d6fe
Signed-off-by: Harsh Vardhan Dwivedi <hdwivedi@codeaurora.org>
Signed-off-by: Sakshi Agrawal <sakshia@codeaurora.org>
Make sure cache operations don't hit pagefaults by
backing the entire vma in mmap() instead of faulting
in pages as they're touched. Otherwise, there's a
chance that a later cache operation on the mapping
could trigger an unhandled page fault leading to
a kernel panic.
Change-Id: Ia73c8aaed2708c5b9ef46ed50fb0f5cf1ad2450c
Signed-off-by: Jeremy Gebben <jgebben@codeaurora.org>
Signed-off-by: Sakshi Agrawal <sakshia@codeaurora.org>
KGSL_GPUMEM_ALLOC_ID now takes a flag,
KGSL_MEMFLAGS_USE_CPU_MAP. When set, the GPU
mapping will be set up to match the CPU mapping
during mmap(). This feature is only supported when
using per process pagetables with the IOMMU. The
flags field of KGSL_GPUMEM_ALLOC_ID is copied back
to userspace and KGSL_MEMFLAGS_USE_CPU_MAP will
be cleared when this feature is not supported.
The IOMMU virtual address space has been adjusted
when perprocess pagetables is enabled so that the
entire userpace address range (0 to TASK_SIZE) can
have equivalent mappings on the IOMMU. For buffers
that do not have equivalent mappings, the address
range from PAGE_OFFSET to KGSL_IOMMU_GLOBAL_MEM_BASE
is used.
Change-Id: Ib61c03aa7453c3dd901c41e8fd297f66d402ae1a
Signed-off-by: Jeremy Gebben <jgebben@codeaurora.org>
Signed-off-by: Sakshi Agrawal <sakshia@codeaurora.org>
The user allocating memory can provide hints for the caching
settings when said buffer is mapped on the user side. Try
to obey the cache settings when applicable. The user will
be responsible for handling cache management both to and
from the GPU so add a new ioctl IOCTL_KGSL_GPUMEM_CACHE_SYNC to
support both directions (the old IOCTL_KGSL_SHAREDMEM_FLUSH_CACHE)
only handled flushing, not invalidating. The legacy ioctl still
works it just does what it says it does - a cache flush.
Change-Id: Ic0dedbad55ce82f2b01ebc56de30d4649e2e7311
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
Signed-off-by: Sakshi Agrawal <sakshia@codeaurora.org>
Previously, the gpu address has been used to uniquely
identify each memory allocation. Upcoming patches will
introduce cases where an allocation does not always
have a gpu address, so an additional id is needed.
IOCTL_KGSL_GPUMEM_ALLOC_ID allocates pages and returns
an id.
IOCTL_KGSL_GPUMEM_FREE_ID frees an id. KGSL_SHAREDMEM_FREE
can still be used to free by GPU address, if it exists.
The id can also be passed to mmap(), shifted left by
PAGE_SIZE to get a CPU mapping for the buffer.
IOCTL_KGSL_GPUMEM_ALLOC_GET_INFO can be called to retrieve
the id and other information about the buffer.
Change-Id: I4b45f0660cb9d4a5fb1323ccc6c4aa360791c1ec
Signed-off-by: Jeremy Gebben <jgebben@codeaurora.org>
Signed-off-by: Sakshi Agrawal <sakshia@codeaurora.org>
The v1 iommu only supports splitting between TTBR0 and TTBR1
on a power of two boundary. Cutting off the userspace address
at 2G (0x80000000) is inconvienient, as the GPU userspace
address space should align with the CPU address space.
This requires changing how global allocations are managed,
since there is no longer a separate pagetable for TTBR1.
The default pagetable is still the master of these allocations
and maintains the gen_pool for allocating global addresses.
But now, these regions are mapped into each process pagetable
by calling kgsl_setup_pt(). This requires kgsl_mmu_map
and kgsl_mmu_unmap to be able to handle mapping without
virtual address allocation.
Change-Id: I94e2d63dc7e6a7ef576f993770725b6b7ba14228
Signed-off-by: Jeremy Gebben <jgebben@codeaurora.org>
Signed-off-by: Sakshi Agrawal <sakshia@codeaurora.org>
These cases have never been a normal operation pattern of the
userspace driver. Sharing buffers through multiple mappings
is better left to dma-buf or ion.
Change-Id: I7e7658137937c96b9505d0f912dcb262d652e0c3
Signed-off-by: Jeremy Gebben <jgebben@codeaurora.org>
Signed-off-by: Sakshi Agrawal <sakshia@codeaurora.org>
Some external memory types were using hostptr to store
a userspace virtual address, but other code assumes it is a
kernel virtual address. Make memdesc->hostpr always
be the kernel virtual address and add a useraddr
field for the userspace virtual address.
Change-Id: Id4580a2ff34aeb15f2c1b26a7134f0fd4ec52a6e
Signed-off-by: Jeremy Gebben <jgebben@codeaurora.org>
Signed-off-by: Sakshi Agrawal <sakshia@codeaurora.org>
Userspace passes a flag KGSL_MEMFLAGS_GPUREADONLY when
the gpu should not write to a memory region. Use this
flag to control IOMMU_WRITE permissions on the buffer.
Change-Id: I5d3fc615dc36687252e2242f63fe74d6ce1c4fbc
Signed-off-by: Jeremy Gebben <jgebben@codeaurora.org>
Signed-off-by: Sakshi Agrawal <sakshia@codeaurora.org>
Make sure iommu_map_range() does not leave a partial
mapping on error if part of the range is already
mapped.
Change-Id: I0ddeb0e0169b579f1efdeca4071fce4ee75a11f8
Signed-off-by: Jeremy Gebben <jgebben@codeaurora.org>
Signed-off-by: Sakshi Agrawal <sakshia@codeaurora.org>
Add security hooks to the binder and implement the hooks for SELinux.
The security hooks enable security modules such as SELinux to implement
controls over binder IPC. The security hooks include support for
controlling what process can become the binder context manager
(binder_set_context_mgr), controlling the ability of a process
to invoke a binder transaction/IPC to another process (binder_transaction),
controlling the ability a process to transfer a binder reference to
another process (binder_transfer_binder), and controlling the ability
of a process to transfer an open file to another process (binder_transfer_file).
This support is used by SE Android, http://selinuxproject.org/page/SEAndroid.
Change-Id: I9a64a87825df2e60b9c51400377af4a9cd1c4049
Signed-off-by: Stephen Smalley <sds@tycho.nsa.gov>
wake_up_process() should never wakeup a TASK_STOPPED/TRACED task.
Change it to use TASK_NORMAL and add the WARN_ON().
TASK_ALL has no other users, probably can be killed.
Signed-off-by: Oleg Nesterov <oleg@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
putreg() assumes that the tracee is not running and pt_regs_access() can
safely play with its stack. However a killed tracee can return from
ptrace_stop() to the low-level asm code and do RESTORE_REST, this means
that debugger can actually read/modify the kernel stack until the tracee
does SAVE_REST again.
set_task_blockstep() can race with SIGKILL too and in some sense this
race is even worse, the very fact the tracee can be woken up breaks the
logic.
As Linus suggested we can clear TASK_WAKEKILL around the arch_ptrace()
call, this ensures that nobody can ever wakeup the tracee while the
debugger looks at it. Not only this fixes the mentioned problems, we
can do some cleanups/simplifications in arch_ptrace() paths.
Probably ptrace_unfreeze_traced() needs more callers, for example it
makes sense to make the tracee killable for oom-killer before
access_process_vm().
While at it, add the comment into may_ptrace_stop() to explain why
ptrace_stop() still can't rely on SIGKILL and signal_pending_state().
Reported-by: Salman Qazi <sqazi@google.com>
Reported-by: Suleiman Souhlal <suleiman@google.com>
Suggested-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Oleg Nesterov <oleg@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Iliyan Malchev <malchev@google.com>
Conflicts:
arch/x86/kernel/step.c
Cleanup and preparation for the next change.
signal_wake_up(resume => true) is overused. None of ptrace/jctl callers
actually want to wakeup a TASK_WAKEKILL task, but they can't specify the
necessary mask.
Turn signal_wake_up() into signal_wake_up_state(state), reintroduce
signal_wake_up() as a trivial helper, and add ptrace_signal_wake_up()
which adds __TASK_TRACED.
This way ptrace_signal_wake_up() can work "inside" ptrace_request()
even if the tracee doesn't have the TASK_WAKEKILL bit set.
Signed-off-by: Oleg Nesterov <oleg@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
NV bin is downloaded when wlan driver is loaded. This change
adds support for NV bin download during coldboot of WCNSS and
thus much before wlan driver is loaded. NV bin id not downloaded
by platform driver during SSR.
Change-Id: I44065185e73a9d43ab7e5d731705321522a0e5a1
Acked-by: Rajesh Chauhan <rajeshc@qca.qualcomm.com>
Signed-off-by: Sameer Thalappil <sameert@codeaurora.org>
Setting net.ipv6.conf.<interface>.accept_ra=2 causes the kernel
to accept RAs even when forwarding is enabled. However, enabling
forwarding purges all default routes on the system, breaking
connectivity until the next RA is received. Fix this by not
purging default routes on interfaces that have accept_ra=2.
Signed-off-by: Lorenzo Colitti <lorenzo@google.com>
Acked-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
Acked-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Iliyan Malchev <malchev@google.com>
get_monotonic_boottime adds three nanonsecond values stored
in longs, followed by an s64. If the long values are all
close to 1e9 the first three additions can overflow and
become negative when added to the s64. Cast the first
value to s64 so that all additions are 64 bit.
Change-Id: Ic996d8b6fbef0b72f2d027b0d8ef5259b5c1a540
Signed-off-by: Colin Cross <ccross@android.com>