Removes suport for SR1 in favor of PR.
Bug: 8862570
Change-Id: I4862ac1b62c78602eb911bec4aace2b1315b5ce4
Signed-off-by: mars_kao <mars_kao@asus.com>
Signed-off-by: Iliyan Malchev <malchev@google.com>
Trinity discovered that we fail to check all 64 bits of
attr.config passed by user space, resulting to out-of-bounds
access of the perf_swevent_enabled array in
sw_perf_event_destroy().
Introduced in commit b0a873ebb ("perf: Register PMU
implementations").
Signed-off-by: Tommi Rantala <tt.rantala@gmail.com>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: davej@redhat.com
Cc: Paul Mackerras <paulus@samba.org>
Cc: Arnaldo Carvalho de Melo <acme@ghostprotocols.net>
Link: http://lkml.kernel.org/r/1365882554-30259-1-git-send-email-tt.rantala@gmail.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
1. Enable TE vsync function in gpio config.
Note that pinfo.lcd.refx100 need to be align with TE frequency in panel.
2. add lcd vertical porches to have correct value of MDP register 0x100
and 0x210
3. remove the mfd->ibuf.vsync_enable in condition to have correct value of
MDP register 0x20c
case 01186196
Bug: 8767597
Change-Id: Ie8c3021d447c255c811ca95bf71ec4cfb2949b6f
Signed-off-by: yetta_wu <yetta_wu@asus.com>
Use a waitqueue instead of completions and make sure the vsync
show event always returns the timestamp except when it is
interrupted. This simplifies the vsync wait mechanism both here
and in userspace and avoids any unnecessary locking.
Signed-off-by: Naseer Ahmed <naseer@codeaurora.org>
Add timeout to waiting for vsync so that it can come out
when vsync interrupt is not working.
Need not wait for vsync after timing engine is off.
Change-Id: Ib989e435405613d891024ba15144723730454e34
Signed-off-by: Ken Zhang <kenz@codeaurora.org>
Signed-off-by: Naseer Ahmed <naseer@codeaurora.org>
Reset base layer database at suspend so that new base layer can
be populated properly at next resume.
b/8879853
CRs-fixed: 462289
Change-Id: Iddffa15ab8d6ca024b37674fbbb412d23d27b59d
Signed-off-by: Kuogee Hsieh <khsieh@codeaurora.org>
Signed-off-by: Saurabh Shah <saurshah@codeaurora.org>
Originally, the IRQ type is set for both rising and falling to wake up
the device. However, starting from the Riva firmware A8064AAAAANAAW120146.1,
this does not work at all. We need to set it to only rising or falling to
resolve this issue.
Change-Id: I6ca5909c723b28c5c641cc237ff8639ae4d076e1
Signed-off-by: Leslie Yu <leslie_yu@asus.com>
1. set reference fps to 60.0Hz for cts test
2. modify the fps in panel side to 60.32Hz
Bug: 8806290
Change-Id: Ib339a39c6d9799601d1a3e8638fc31ef93df811c
Signed-off-by: yetta_wu <yetta_wu@asus.com>
Report physicall width and height in mm to gralloc, and let gralloc
calculate correct dpi information.
Bug: 8806446
Change-Id: Ic0fd069b61468486bd2977c4c1eaa18d461f559f
Signed-off-by: yetta_wu <yetta_wu@asus.com>
For command mode panel, timeline threshold is 1 and we return
commit ioctl on DMA_P interrupt. This causes fps to drop
since sometimes overlay is kickoff just after vsync interrupt
causing DMA_P wait time more than 1 vsync period. Hence, increase
timeline to 2 and return commit ioctl on vsync interrupt.
CRs-fixed: 457153
CRs-fixed: 452269
Change-Id: Ic7385631fdeb25f269306d284c94fdf43cade3d1
Signed-off-by: Padmanabhan Komanduru <pkomandu@codeaurora.org>
Signed-off-by: Naseer Ahmed <naseer@codeaurora.org>
The switch of blt mode may cause mdp hang on some targets. To avoid
blt switch, we won't allocate the pipe that requires blt
mode. Basically this implies two things: downscaling is done by
rotator and gpu composition is used in case of blt mode is needed.
This implementation is to calculate mdp clk requirement based on the
req data passed from userspace before setting the actural pipe
data. If overlay_set asks for mdp clk that is greater than
mdp_max_clk, meaning blt is needed, overlay_set returns before pipe
allocation or pipe data change, so this way can avoid mdp to work on
wrong pipe data.
Change-Id: I22e73d08bed920b366c18ee21b132339cf2a0347
Signed-off-by: Huaibin Yang <huaibiny@codeaurora.org>
Signed-off-by: Naseer Ahmed <naseer@codeaurora.org>
sync_fence_put is called twice and cause NULL pointer dereference.
Change-Id: Ia29e676af28d9040d1ba1ee8669f1306cc8b4035
Signed-off-by: Alex Wong <waiw@codeaurora.org>
Signed-off-by: Sakshi Agrawal <sakshia@codeaurora.org>
Fix:
8717455: Holding touch panel edge by one finger,the touch action will be affected.
8768005: Holding Flo along the left edge of the device reveals false touch problems.
8840158: Pinch zoom in and out on chrome and maps doesnt seem as accurate / responsive as on nakasi.
8798827: Touch can not be correct clicked.
customer report: pin unlock will lose touch report.
Modification for AC De-noise Mechanism.
Change-Id: If846956114dc51f8d432c881f7b4e3b78b4040c8
Signed-off-by: mars_kao <mars_kao@asus.com>
mdp_max_bw has to be increased due to the high resolution panel of flo
targets.
Signed-off-by: Huaibin Yang <huaibiny@codeaurora.org>
Signed-off-by: Saurabh Shah <saurshah@codeaurora.org>
Underrun issues can be solved by changing mdp bandwidth parameters:
max_bw, ab_factor and ib_factor. However these parameters are not
universally same for all targets, and one set of values that works for
one target could cause underruns or higher power on other
targets. This change is driver change which makes those parameters
target dependent.
CRs-Fixed: 464492
Change-Id: Ib23ebc431caabbe91c7ae3bd96bb38789d7ddc90
Signed-off-by: Huaibin Yang <huaibiny@codeaurora.org>
Signed-off-by: Saurabh Shah <saurshah@codeaurora.org>
Underrun issues can be solved by changing mdp bandwidth parameters:
max_bw, ab_factor and ib_factor. However these parameters are not
universally same for all targets, and one set of values that works for
one target could cause underruns or higher power on other
targets. This is board side change.
CRs-Fixed: 464492
Change-Id: I2a8fbb9018011ddf42dfa50b371e450e38f4351a
Signed-off-by: Huaibin Yang <huaibiny@codeaurora.org>
Signed-off-by: Saurabh Shah <saurshah@codeaurora.org>
1. detect wireless charging
2. set input current limit as 300 mA and disable AICL
3. after 2 seconds, set input current limit as 500 mA
4. after 2 seconds, set input current limit as 700 mA
Change-Id: Ia91ea674ba7eea45f92421d13b75a578a2d21a77
Signed-off-by: Hank_Lee <Hank_Lee@asus.com>
1. case 01180646
3080000000 is the max number for mmfab bus, so we could change the
mdp_max_bw from 2000000000 to 3080000000.
2. to avoid the warning messages like below:
mdp4_overlay_mdp_perf_req: req ib bw=2028666880 is larger than max
bw=2000000000
Bug: 8802391
Change-Id: I4f0c5ed3e2f42cfbd3221a0200dd0b565e49145e
Signed-off-by: yetta_wu <yetta_wu@asus.com>
Avoid setting clk_set_rate for branch clocks. Set clock rate only
if rate is greater than zero.
Change-Id: I04d271a382e59a01ad1d5509b1aff583a0fcf65f
Signed-off-by: Sreesudhan Ramakrish Ramkumar <srramku@codeaurora.org>
Return -1 when there is no free buffer for dual ISP use case,
in order to have proper error handling in isp driver..
Change-Id: Ic3f3261bebe192fdcf62a1d06f4e8a1e6033ef61
Signed-off-by: Kevin Chan <ktchan@codeaurora.org>
Workaround for csiphy HW version 2.0, missing register for
hw version. Using MIPI_CSIPHY_DEBUG_BUS3 register instead
of MIPI_CSIPHY_INTERRUPT_STATUS0 because reading status0
module register is not a settled after reset.
Change-Id: Ib91e7796494ca55330c953c5d8999f516d8a0379
Signed-off-by: Evgeniy Borisov <eborisov@codeaurora.org>
Signed-off-by: Shuzhen Wang <shuzhenw@codeaurora.org>
Redesign the output ping pong mechanism to support
upto 64mp encoding using gemini hardware.
Remove the MSM_GMN_IOCTL_TEST_DUMP_REGION ioctl,
because it's unsafe.
Change-Id: Id7801861e0fe119f61a02fb3409155f312a85d21
Signed-off-by: Sunid Wilson <sunidw@codeaurora.org>
Swap modules in sensor sub module enum.
Reverse the order of csid init and csiphy init
modules calls. Between csid and icsphy have a
resource dependency (regulator, clocks).
Change-Id: I0b7f8873e664f6ee06a4200710bc76b5c69827aa
Signed-off-by: Evgeniy Borisov <eborisov@codeaurora.org>
There is a possibility a bunch of prints to be generated by the ISP
driver in interrupt or tasklet context in a case where something wrong
is going on in the userspace. Such case is when there is no fast enough
buffer queued to the stream or other more scary problems.
As the prints are done in a very high priority context and there can be
many of them for very short period of time, it can be observed an
unnecessary device slowdown or even in some cases the watchdog can bark.
In order to limit the amount of prints the ISP generates at this times a
ratelimit is applied.
Change-Id: I0f172f8eab6a5a51a888aea5cab776bf4bf5877e
Signed-off-by: Vladislav Hristov <vhrist@codeaurora.org>
Reduce CPP bandwidth request to 1Gbps in order to
avoid pushing bimc to 460mhz
Change-Id: Ibb9bafae5a6d5e82cf967493515facbbc681b70b
Signed-off-by: Kevin Chan <ktchan@codeaurora.org>
Post the stream destroy event to back-end even if the last
fd is being closed. This is required because when the mediaserver
crashes, the fds are closed in no particular order.
Change-Id: Ie6098f9aa2b9090d9901684998a8ab3a332d4805
Signed-off-by: Ankit Premrajka <ankitp@codeaurora.org>
When one ISP is active and another ISP opens, the iommu
attach context call will halt the iommu in order to
program attach the context for the second ISP. This will
cause the first ISP write operation to pause and results
in overflow. This change workaround the issue by
attaching both contexts when the first ISP is opened.
Change-Id: I04202c4bbebc250c5f3af72f8800cc581727a9ea
Signed-off-by: Kevin Chan <ktchan@codeaurora.org>
ISP image statistics done interrupt
for each stats can be fired at different
time, the timing is based on the statistics
window. For high frame rate camera, the number
of interrupts will be significantly higher if
statistics are collected for each frame. This
change add the support to change the interrupt
policy and configure the hardware to generate
one interrupt when all the image statistics are
collect.
Change-Id: Ib2d103bcd46da6c52de246b1245d8928f37be0c5
Signed-off-by: Kevin Chan <ktchan@codeaurora.org>
Bandwidth should be calculated using all clients state,
instead of the state of the caller.
Change-Id: I28f78c9753dd58c821aa25afd28eb4ed83081e81
Signed-off-by: Kevin Chan <ktchan@codeaurora.org>
For dual ISP, both ISP need to write to the same buffer
in order to ensure the image consistency. When ISP
cannot fetch a new buffer, the hardware buffer address
will not be updated. However, there could be a race condition
where one ISP cannot get a new buffer but the second ISP is able
to get a new buffer. In that case, the image will become out of sync.
This change queue an empty buffer to shared queue for the second
ISP to fetch. When the second ISP fetch the empty buffer, it will
return and not update the hardware buffer address
Change-Id: I0970bf04476661ff7c10680c4b08bd98ac94ec6f
Signed-off-by: Kevin Chan <ktchan@codeaurora.org>
This change makes sure that all buffer queue manipulation operations
are properly synchronized. It also removes the stream pointer
from the buffer since this memeory can get freed
from underneath without any notification.
CRs-Fixed: 472605 472986
Change-Id: Ie15dd42a02b8bfea1100dca7a7b5ccdbabe488c7
Signed-off-by: Ankit Premrajka <ankitp@codeaurora.org>
This change fixes a discrepancy in the error log message.
Change-Id: I16766ca85c03c86b35c25ea3e4ac3ad95733927e
Signed-off-by: Ankit Premrajka <ankitp@codeaurora.org>
This change protects all cmd ack queue acceses for a particular
session around a session-wide mutex. This ensures proper
synchronisation and prevents use after free scenarios. It also
ensures that the commands coming from HAL are posted to the
camera daemon in a synchronised fashion.
Change-Id: Ied6fcacd775aed69b97c8fe9ccc1ffffbdcbe0e8
Signed-off-by: Ankit Premrajka <ankitp@codeaurora.org>
vb2_poll needs to be called only for streams that have
vb2 buffers associated with them. If this is not taken care of,
the function constantly returns an error code for non vb2 streams
resulting in the polling process hogging the CPU.
Change-Id: I70d29e1666478c07bf8513ead7499891a3f01bd6
Signed-off-by: Ankit Premrajka <ankitp@codeaurora.org>
The eeprom may hold the data for calibration of autofocus,
whitebalance, lens shading and defect pixel correction.
The eeprom driver is supported with read write functionality.
Change-Id: I952bf1972bac9747ae4f0ea09c4dd6b8937c3f98
Signed-off-by: Jeyaprakash Soundrapandian <jsoundra@codeaurora.org>
Signed-off-by: Junjie Wu <junjiew@codeaurora.org>
git://codeaurora.org/external/wlan/prima.git
abf45e1 wlan: Release 3.2.2.8
a2e6c7c Fix the issue with zero bssid indication when connection is failed.
2cae715 wlan: assoc rejects and connection failures with ZERO bssid
Signed-off-by: Iliyan Malchev <malchev@google.com>
LED must not be on when the device is pwoered on and charging.
Issue 8837333
Change-Id: I4b272a03056ba58914846ce93fc0a1c777f99279
Signed-off-by: xinchuan_wu <xinchuan_wu@asus.com>
The system suspend/resume too fast when plugging USB cable or otg cable.
Change-Id: I0fab7a40cf2c57509105e9bf0b882f7485014305
Signed-off-by: yi-hsin_hung <yi-hsin_hung@asus.com>
Use wcnss_node_write function to load riva firmware & preload nv.bin from
userspace. Don't use wcnss_node_open, because it will triggered by
"chown system system /dev/wcnss" in init.flo.rc
Change-Id: I8aafd9dc57579c19e6580326e51fe1e468c262f9
Signed-off-by: andy2_kuo <andy2_kuo@asus.com>
Signed-off-by: Iliyan Malchev <malchev@google.com>
git://codeaurora.org/external/wlan/prima.git
2b0ef25 wlan: Release 3.2.2.7
4678462 Revert "wlan: Release 3.2.2.8"
fe45f89 wlan: Release 3.2.2.8
d4715b5 wlan: Enumeration Type Change
198846e wlan: Fix SSR race condition in device ioctl
fb6b938 Fix NULL pointer dereference in csrRoamSaveConnectedInfomation
a162a51 wlan: Memory leak and uninitialized variable.
756ca40 wlan: Replacing the log with MTRACE
1fcd4f3 Lock the list in the function pmcDoStartUapsdCallbacks
262e0bb wlan:Increase CSR_RSN_MAX_AUTH_SUITES to 16
8eb38b1 Send unicast probe request when AP caps change detected.
52bfc01 wlan: get_sta_info not working
d30770c Fix the buffer size in ADDBA response
7e16a06 Fix to handle IMPS failure crash issue.
acda87b wlan: Memory leak fix in WDA
4df3ad0 wlan: Sending NULL TSPEC if send one after another
Signed-off-by: Iliyan Malchev <malchev@google.com>