To ensure the configs is optimized and workable for LV booting,
we need to refine the configs:
1. remove SWIOTLB_NONLINEAR and VIRTIO_MMIO_SWIOTLB as bounce
buffers are no longer used for LV GVM Virtio device.
2. disable ZONE_DMA, otherwise general SWIOTLB init will fail,
which causes kernel panic.
3. Set all modules as in-built.
Change-Id: If4fbf5ecf7391bc16e3d75b803444a67cc884e43
Signed-off-by: Wei Liu <quic_wliu8@quicinc.com>
Recently terminate sequence got updated for q2spi as per hpg.
Which is impacting other protocols and leading to regression.
To solve this terminate sequence added separately for q2spi,
rest all protocols will use older terminate sequence.
Change-Id: I00b6699e7fc1af533e29b732ede75ea03290b595
Signed-off-by: Anil Veshala Veshala <quic_aveshala@quicinc.com>
Currently in gpi_terminate_all function, we are performing reset
whenever stop channel failed for corresponding tx/rx channel but
we need to reset for both the channels and reprogram the channel
context and also performing gpi_noop operation on both tx and rx
channel if stop cmd is success.
Change-Id: Ia7811f5659b82674033d530b076255f581b91c74
Signed-off-by: Krishna Chaithanya Reddy G <quic_kgangapu@quicinc.com>
Currently in the gpi_process_xfer_compl_event() function, when an
unexpected error occurs on the RX channel, we free the TX channel
descriptor. This is followed by receiving a TX event, which results
in an event without a pending descriptor error. Consequently, we
return without updating the channel read pointer, leading to an
insufficient space in channel rings error.
So,updating the channel ring tx and rx read pointer when we get
error event without a pending descriptor.
Change-Id: I3ecbe915fa96e9e82a3a84751351242dc9314d71
Signed-off-by: Krishna Chaithanya Reddy G <quic_kgangapu@quicinc.com>
Currently i2c geni driver doesn't have null pointer check condition
in GSI error call back function. If any invalid error is coming from GSI,
i2c geni driver is accessing null pointer which is causing crash.
To solve this added null pointer checks in GSI call back error functions.
Change-Id: I5034bd01c3eb554109890eb071e9087a1dd7cbd6
Signed-off-by: Prasanna S <quic_prass@quicinc.com>
For i2c multi descriptor case when transfers ongoing,
sometimes we are getting nack from the slaves. In this case
i2c geni driver un mapping the buffers without gsi terminate.
In this scenario gsi hw is accessing unmapped buffers, which
is leading to smmu crash. To solve this added gsi error
check before buffer unmap, with this logic gsi terminate
sequence is followed by buffer unmap.
Change-Id: I67fab8352bbd8b66c5e6563984be89050d782f40
Signed-off-by: Krishna Chaithanya Reddy G <quic_kgangapu@quicinc.com>
Fix the region register fail issue on Resource Manager VM when
client call minidump add region API. Variable 'md_init_done'
should be set as global type when used between two or more files.
Change-Id: I1ca57f7f58435ef0ca1db91317d2e6db7a22599a
Signed-off-by: Fei Yang <quic_feiyan@quicinc.com>
Unchecked dereferences that could potentially result
in a NULL pointer dereference have been removed.
Additionally, variable that had the potential to remain
uninitialized has been eliminated to protect the program
from unpredictable outcomes.
Change-Id: I715fdf846dd07b22b11d5ae0430020f6922fa559
Signed-off-by: Shashank Shekhar <quic_sshe@quicinc.com>
In some of the exit early conditions, the ret value is not overridden with
an error code. This would lead to a condition where the QMI response
status would be zero (success), while other fields are not properly
populated. The error condition in question is:
uaudio_err("invalid substream\n");
Address this by setting the ret value manually in case of an error
condition. This would allow for the audio DSP to treat the QMI response as
a failure versus attempting to continue processing it. The issue was
seen if the audio device is disconnected shortly after attempting to
start the audio session.
Change-Id: Ibf4198bb15ba490f665accba2f8459cfc4810b34
Signed-off-by: Wesley Cheng <quic_wcheng@quicinc.com>
Signed-off-by: Udipto Goswami <quic_ugoswami@quicinc.com>
class[0|1]_cpus[i] < num_possible_cpus() comparison can result
in wrong comparison if some of the cpu are disabled from
the firmware. Handle them properly via mentioning the class
cpus as phandles.
Change-Id: I83293ed8c93d3c55f7ce8a9697a2af2b89ecbd29
Signed-off-by: Mukesh Ojha <quic_mojha@quicinc.com>
Add support to enable EMAC driver for LA metal platform.
Change-Id: I6aeb44aa173d601a7794aebce50cb9143efedab9
Signed-off-by: Uppalamarthi Sowmya <quic_usowmya@quicinc.com>
Some customers are using usb_ep_set_maxpacket_limit in their own
driver where dwc variable wouldn't be present. Not much is known
about the customer's dabridge driver. The kreptrobes were put in place
to be counter operations that are to be done in dwc3 core but there
is no such limitation present in code. So when the actual exported
function is called, the kretprobe is also called causing a crash.
Change-Id: Iafbdde0413b65a7bdd764cb44dd658279d9e5a1d
Signed-off-by: Krishna Kurapati <quic_kriskura@quicinc.com>
Do not make ops NULL to support log buf flush operation.
Even if CPUCP firmware does not support memlat DCVS on CPUCP
firmware side, it can still supports log flush operation.
So, to support log flush operation, ops need to be proper value.
If ops is NULL, then flush log buf also fails. Ensure that ‘ops’
retains a valid value upon encountering an error, provided that
memlat on ‘cpucp’ is disabled for all groups.
Change-Id: Ie11c8bd4ba66d5a8dd349e1a0de14f809e680350
Signed-off-by: Shivnandan Kumar <quic_kshivnan@quicinc.com>
Powerstats fix to handle clock levels more than 16.
Change-Id: I45a79c972bd526d4cf2bdb9d535a2dff6c188ae4
Signed-off-by: Madhu Pagadoju <quic_mpagadoj@quicinc.com>
Some host controllers may need additional TLMM registers to
be configured to enable the IO lines connected to it.
Change-Id: I5e4ea66f40e2b332c85155ed19e248e1a771f7c3
Signed-off-by: Sudha Vankudothu <quic_svankudo@quicinc.com>
Signed-off-by: Deepak Suresh <quic_deesur@quicinc.com>
As part of initial commit 'a0a208f93d57e4e8a5bb3d0529dd9caa9a4304fd
(serial: msm_geni_serial: Add SSR support for SSC QUPs")',
we are bailing out in spi_geni_prepare_message() and
spi_geni_unprepare_transfer_hardware() for LEVM usecase which is not
expected as xfer_prepared flag is set to false in
spi_geni_prepare_transfer_hardware().
If it is a LEVM usecase, set xfer_prepared flag to true in
spi_geni_prepare_transfer_hardware() and exit.
Change-Id: I7003e790b01b843535f1ca0efc6cd708d3e0cb28
Signed-off-by: Prasanna S <quic_prass@quicinc.com>