Upon any CQ error, the driver tries to halt the CQE first and
if it fails to halt, then CQE is disabled. The error handling
work function mmc_blk_cmdq_err() also tries to HALT the CQE
at couple of places and takes some action based on the HALT
success/error status. But since CQE is disabled, we should not
treat any errors of CQE halt/unhalt as critical and in fact,
we should not even attempt to halt/unhalt.
Change-Id: I6bef9f2c033f78ad0959954acc5d7627e8a92139
Signed-off-by: Sahitya Tummala <stummala@codeaurora.org>
Signed-off-by: Sayali Lokhande <sayalil@codeaurora.org>
The legacy interrupts are enabled as part of CQE halt. But there could
be few cases, where halt fails. In those cases, CQE is disabled without
enabling legacy interrupts. Without this we cannot send any commands
like status CMD13 in legacy mode as part of error handling work.
Change-Id: I944ab4060e779c7f41a945532e6a65c30797d40f
Signed-off-by: Sahitya Tummala <stummala@codeaurora.org>
Signed-off-by: Sayali Lokhande <sayalil@codeaurora.org>
There could be cases where CQE halt might fail and in which
case, CQE gets disabled as part of error handling.
In this case, !mmc_host_halt() will be true and the commands
sent in legacy mode are getting software request timeout errors
as they are getting handled as cmdq irq.
Hence, add !mmc_host_cq_disable() check as well in addition to
!mmc_host_halt() in sdhci_irq() before considering it as a
cmdq irq.
Change-Id: Ic529aae53fdecd6b9ecbb17ba13147964dce55dc
Signed-off-by: Sahitya Tummala <stummala@codeaurora.org>
Signed-off-by: Sayali Lokhande <sayalil@codeaurora.org>
concurrent sysfs calls on the fw updater can cause
ugly race conditions. Return EBUSY on concurrent sysfs calls.
For sysfs calls which generate deferred work, prevent
the deferred work from running concurrently with other
sysfs calls.
Also check that ext_data_source is appropriately sized
and allocated, based on a patch by
Gengjia Chen (chengjia4574@gmail.com).
Signed-off-by: Andrew Chant <achant@google.com>
Change-Id:I5bbe4992f3fd2d23db288296eaeb61f5831098e9
Bug: 30799828
Bug: 31252388
Git-repo: https://android.googlesource.com/kernel/msm.git
Git-commit: 287ce2ccfefe68067c1f9f5175b6664bf7397fe6
Signed-off-by: Srinivasa Rao Kuppala <srkupp@codeaurora.org>
This change prevents blocking IOCTLs with wrong command
number or wrong magic Number. IOCTL handler should first
check that the command is valid and only then wait for
IPA driver initializations to finish.
CRs-Fixed: 1094653
Signed-off-by: Amir Levy <alevy@codeaurora.org>
Change-Id: I578dc96da96f7c10be51eac1f8b3c190e45dcfcf
Some targets doesn't seem to have vbif_nrt_phys in dtsi
file but we still register the debug node for vbif_nrt_reg
and off without checking whether it exists or not. Ensure
this is checked to avoid null pointer reference.
Change-Id: Icce8823f80e586bc4827d8db18dceb2fb866c2f9
Signed-off-by: Jayant Shekhar <jshekhar@codeaurora.org>
Add support to switch non-standard framerate.To achieve this,
first map the fps to standard fps and then tune pixel clock
based non-standard framerate. Panel porches might need update
before pixel clock tuning based on standard framerate mapping.
CRs-fixed: 1032036
Change-Id: I49995875338cd2a3b57e88753cfda1bfa97910dd
Signed-off-by: feifanz <feifanz@codeaurora.org>
Signed-off-by: Krishna Srinivas <krisrini@codeaurora.org>
BTA complete interrupt comes and turns off the clocks. In another
thread we read the panel status and DSI ack returns error. In the
error condition we are trying to read some DSI registers even
when the clocks are turned off.
Change-Id: Ica77c16f3cf4b69f46c9003bb299c6413e199468
Signed-off-by: Sandeep Panda <spanda@codeaurora.org>
Changing the error return value for lineptr sysfs entries, when
the sysfs operation is not allowed. Returning EAGAIN might make
the verification tests to continuously query the sysfs nodes, or
block it. Returning EPERM will fail the query, which is expected.
Change-Id: I43500c07a318da9e2624a1631134228ad45e1cc7
Signed-off-by: Krishna Chaitanya Devarakonda <kdevarak@codeaurora.org>
Ringbuffer timer should always be reset whenever we finish
preempting to that ringbuffer. Currently, there is a case where
wptr in the hardware and the kgsl are identical and thus
the timer isn't reset. Reset the timer regardless if they are
identical or not.
There is one special case when we shouldn't reset the timer.
This happens when we try to figure out next ringbuffer to preempt
but the next ringbuffer is the same one as current. In that case,
if nothing new got submitted to this ringbuffer, then don't reset
the timer.
Change-Id: I6b5aea46f1769021b39ba6e135bef780719a92e7
Signed-off-by: Harshdeep Dhatt <hdhatt@codeaurora.org>
Add qseecom device node with all the necessary parameters,
to enable qseecom driver on msmfalcon.
Change-Id: Ib29962ebc7427391d7c0e355fa46156d2a8d15e5
Signed-off-by: Brahmaji K <bkomma@codeaurora.org>