Temporarily revert back to the "make" installed on the host/build machine
until the build time increase with Android's prebuilt "make" is analyzed
and resolved.
This reverts commit a947f972e7.
Change-Id: Ie1be9ca0349ab29a14b00f855965d6247a3f85bb
Signed-off-by: Amit Shekhar <ashekhar@codeaurora.org>
Signed-off-by: David Ng <dave@codeaurora.org>
When triggering a TCS to send its contents, reading back the trigger
value may return an incorrect value. That is because, writing the
trigger may raise an interrupt which could be handled immediately and
the trigger value could be reset in the interrupt handler.
A write_tcs_reg_sync() would read back the value that is written and try
to match it to the value written to ensure that the value is written,
but if that value is different, we are stuck in loop forever. In this
case the call stack shows -
dump_backtrace+0x0/0x190
show_stack+0x20/0x30
dump_stack+0xe8/0x13c
ipi_cpu_stop+0xc0/0xd8
ipi_cpu_stop+0x0/0xd8
gic_handle_irq+0x110/0x1d4
el1_irq+0xb4/0x130
__const_udelay+0x8c/0xb0
write_tcs_reg_sync+0x84/0xe0
__tcs_trigger+0xc4/0xd8
rpmh_rsc_send_data+0x4b4/0x4c0
rpmh_write_batch+0x1b4/0x320
msm_bus_commit_data+0x7a4/0xa00
update_client_paths+0x1f8/0x270
update_request_adhoc+0x180/0x488
msm_bus_scale_client_update_request+0x34/0x60
_sde_power_data_bus_set_quota+0x3cc/0x570
sde_power_data_bus_set_quota+0x234/0x298
sde_rsc_client_trigger_vote+0x1b0/0x290
sde_core_perf_crtc_update+0xa34/0xe88
sde_crtc_disable+0x2b0/0x530
msm_atomic_helper_commit_modeset_disables+0x434/0x790
complete_commit+0x7c/0xc10
_msm_drm_commit_work_cb+0x178/0x300
There is a drv->lock to protect against threads writing the TCS enable
register but the interrupt handler that modifies this variable does not
use the lock. Hence the race. We could solve this by locking in the
interrupt handler, however that will add more latency to the path. The
alternate is not to use the _sync variant for the TCS write and that is
because we don't care when the write actually happens. Only when the
write happens, the interrupt response could happen and therefore we are
protected from the race with the interrupt handler.
Change-Id: I54866b9b9d85fa79c8df84aecd502764b9f9158a
Signed-off-by: Lina Iyer <ilina@codeaurora.org>
Add npu tpdms and dcc tpdm for Kona to support hardware events
collection of npu and dcc list via atb of DCC.
Change-Id: Ib80adbac47ea2a61eaed93bd951444c354269767
Signed-off-by: Mao Jinlong <jinlmao@codeaurora.org>
Change the initcall order of AMOLED regulator driver so that it
can probe early and consumers like display panel driver can get
it early.
Change-Id: Iea0efacfcf9c10b31f8f264d498cf4e7e53f843f
Signed-off-by: Subbaraman Narayanamurthy <subbaram@codeaurora.org>
As per the hardware recommendation, add support to configure
AB/IBB PD control dynamically during AOD entry/exit.
Change-Id: Ib8f3ef4222dd06f41c0609391717e66e30bc6d5b
Signed-off-by: Subbaraman Narayanamurthy <subbaram@codeaurora.org>
The spmi_devices spawn platform devices for pmic peripherals. Some of these
devices are required early on in the boot process.
Initialize the driver at arch_initcall to avoid unnecessary probe
deferrals.
Change-Id: I38474bedcb284ed5a7df1ec8d26f680787f2c074
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
Signed-off-by: Subbaraman Narayanamurthy <subbaram@codeaurora.org>
Currently, when the display driver notifies to exit AOD mode,
AOD configuration is attempted after polling for VREG_OK high.
On some AMOLED panels, SWIRE can pulse for a shorter period in
AOD mode which can cause AOD exit configuration to be made
prematurely. Prevent this by polling for VREG_OK for another
80 ms after it is found to be set high. If it goes low, then it
is an intermittent SWIRE pulse. Poll VREG_OK for another 100 ms
for a valid SWIRE pulse which if fails would timeout as before.
Change-Id: Ib480e15206ce941c03fbecd751b88168613d44c1
Signed-off-by: Subbaraman Narayanamurthy <subbaram@codeaurora.org>
Add support to configure AB and IBB PD control for different
modes of operation in AOD through "qcom,aod-pd-control" property
under AB/IBB regulator subnodes.
Change-Id: Ice9c4117d61bd4235ece828fa0d45da11d73016e
Signed-off-by: Subbaraman Narayanamurthy <subbaram@codeaurora.org>
For OLED panel, if we always worked on high brightness,
that should make the panel damage.
Change-Id: I8043c2a27657bd0f7b396b84d57695633f678125
Signed-off-by: Yuan Zhao <yzhao@codeaurora.org>
Signed-off-by: Satya Rama Aditya Pinapala <psraditya30@codeaurora.org>
Current implementation of get_output_fence is depending on
atomic_state to extract the connector details. There is a
possibility to have no connectors in atomic_state if no
connector property is processed by the time of executing
get_output_fence property and this results in wrong fence
handling.
This change depends on crtc encoder_mask field to extract
the drm_encoder tied to drm_crtc and extracts the panel
mode, video or command, information from sde_encoder object.
Change-Id: I3145b543382dcac038f38ee2769309b179395b3c
Signed-off-by: Samantha Tran <samtran@codeaurora.org>
CPU cooling device will use IDR to get integer numbers for defining
the CPU cooling device ID. With having one cooling device per policy,
it will be tough to correlate a cooling device ID to the policy it is
mitigating.
Use the CPU ID from the policy as cooling device ID, which will allow
easy mapping of cooling device to CPU.
Change-Id: I249112ac467b84aea4f08466d91d6be520fbbc14
Signed-off-by: Ram Chandrasekar <rkumbako@codeaurora.org>
Add a snapshot of CPU cooling device driver changes from
msm-4.14 from 'commit <2c89a516da31> ("drivers: cpu_cooling: Remove
cooling list lock during post suspend handling")'. This snapshot
includes just the support for platform cooling device and doesn't include
core isolation.
Change-Id: Ib82394f76539b04f806def2cc0b932308675dd10
Signed-off-by: Ram Chandrasekar <rkumbako@codeaurora.org>
Re-arch power related APIs so that it can support different
LDO groups.
CRs-Fixed: 2413838
Change-Id: I2c95cec332e9ddd07bbf943d8ef18fe92ad6763d
Signed-off-by: Yuanyuan Liu <yuanliu@codeaurora.org>
Byte to sample conversion for Plain8 formats for 10 bit
pipeline should be one byte per sample. This change
corrects the same.
Change-Id: I97a66df8106f1e74f70a9a8df6bfa4ac7f506057
Signed-off-by: Venkat Chinta <vchinta@codeaurora.org>
This change updates the maximum number of IFE cores
available.
Change-Id: I8087034fbbeb764696208b3aa4b500dcf2390eee
Signed-off-by: Venkat Chinta <vchinta@codeaurora.org>
Fix the following compiler warning(s) from gcc 6.1.1 with -Werror enabled:
drivers/platform/msm/gsi/gsi.c:208:
format '%lu' expects argument of type 'long unsigned int', but argument 7
has type 'uint32_t {aka unsigned int}' [-Werror=format=]
GSIDBG("GSI wait on chan_hld=%lu irqtyp=%lu state=%u intr=%u\n",
drivers/platform/msm/gsi/gsi.c:4155:
format '%d' expects argument of type 'int', but argument 6 has type
'long unsigned int' [-Werror=format=]
GSIDBG("reg dump ch id %d\n", chan_hdl);
Fixes: 20faea8 ("msm: ipa4: Increase the GSI command poll timeout to 10")
Fixes: b1d184d ("msm: IPA: support WDI3 over GSI")
Change-Id: Ic0dedbade232e2265477510288db45b0b906446f
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>