Limiting to 4096, assuming this is used for virtual io block device. The
default maximum (256kB) would result in overflowing of bounce buffers
and stalling of IO (max_segments of 254 for block device and max
bounce size of 256kB could result in block layer submitting a huge IO
request that can never be finished successfully). With 4096, we have
the max size of request set to 254*4096, which is a reasonable space
to set aside per block device.
Change-Id: I8a3b0ec6d26a1b7f5ccdcee649f02c3556bce93b
Signed-off-by: Srivatsa Vaddagiri <vatsa@codeaurora.org>
Handled changed DT format to extract memory region address.
Change-Id: Ia6b2d77c018d8639fe5eeaf6883e472f477bacc7
Signed-off-by: Srivatsa Vaddagiri <vatsa@codeaurora.org>
Setting swiotlb_force to SWIOTLB_FORCE would force non virtual io
drivers also to use swiotlb. So avoid it.
Change-Id: I419700e9f38b0b00da22c8522f94edffd2fd8f52
Signed-off-by: Sreenad Menon <sreemeno@codeaurora.org>
In some cases, its possible that most of a VM's memory is not
accessible to virtual io backend drivers that run in the context of a
separate VM. A hypervisor could pre-share some limited memory between
both the VMs. Use such pre-arranged shared memory to allow data
exchange between front-end and back-end drivers. DMA ops are added to
virtual io (mmio) devices, which bounces buffers to and from the
pre-shared region.
Change-Id: I6cf61cd1ca4c8b848a6d6d1aa1d5023ce9341174
Signed-off-by: Sreenad Menon <sreemeno@codeaurora.org>
Signed-off-by: Srivatsa Vaddagiri <vatsa@codeaurora.org>
This reverts commit 82023d3f20.
remove hyp_assign_phys from abi_gki_aarch64_qcom, it's not the
upstream symbol.
Change-Id: I08bc531a7bea6ea5929ffb3fc13bd50f8e9119b5
Signed-off-by: Peng Yang <quic_penyan@quicinc.com>
Add MIPI OST protocol support for stm to format the traces.
Framework copied from drivers/hwtracing/stm.p-sys-t.c as of
commit d69d5e8311 ("stm class: Add MIPI SyS-T protocol
support").
Change-Id: I3530f2c794e2cc09b63ce06e44d269ad13c4ef2b
Signed-off-by: Tingwei Zhang <tingwei@codeaurora.org>
Signed-off-by: Mao Jinlong <jinlmao@codeaurora.org>
Signed-off-by: Tao Zhang <taozha@codeaurora.org>
Signed-off-by: Mao Jinlong <quic_jinlmao@quicinc.com>
Adding vm related drivers to modules list and symbols
for pineapple.
Change-Id: Ic6d2402c0c77c0d303bdfae67d3559a5736c0765
Signed-off-by: Peng Yang <quic_penyan@quicinc.com>
Module signing and dm-verity needs key pair to be generated
using openssl. Add keygen file which is needed to generate
keys using openssl.
This is just snapshot of kalama's gh_ctrl driver from
'commit 5beb98404269 ("Merge "i3c: i3c-master-msm-geni: Fix
IBI for invalid device OR handler"")'from msm-5.15 branch.
Change-Id: I6d785f2a1695bf59969b7eba4f3f7a5df6342bf9
Signed-off-by: Peng Yang <quic_penyan@quicinc.com>
Add gunyah secure virtual io backend driver for Pineapple.
This is just snapshot of kalama's secure virtual io backend driver
from 'commit 5beb98404269 ("Merge "i3c: i3c-master-msm-geni: Fix
IBI for invalid device OR handler"")'from msm-5.15 branch.
Change-Id: Ie4cb1c30a42a2465c37b1fe1f47850b95ac4eb24
Signed-off-by: Peng Yang <quic_penyan@quicinc.com>
Adding VM TLMM access driver for pineapple.
This is just snapshot of kalama's TLMM access driver from
'commit 5beb98404269 ("Merge "i3c: i3c-master-msm-geni: Fix
IBI for invalid device OR handler"")'from msm-5.15 branch.
Change-Id: Ifb567fbbd1bee5e3265f88592a3dedb45c693ecd
Signed-off-by: Peng Yang <quic_penyan@quicinc.com>
Add build related configs for vm and pineapple tuivm.
This is just snapshot of kalama's vm build config from
'commit 5beb98404269 ("Merge "i3c: i3c-master-msm-geni: Fix
IBI for invalid device OR handler"")'from msm-5.15 branch.
Change-Id: Ib50008461b1a22d4018e74185375f06acf93ffd3
Signed-off-by: Peng Yang <quic_penyan@quicinc.com>
Adding basic library, Kconfig, make and arch specific files
needed for vm on Pineapple.
This is just snapshot of kalama's basic initial files from
'commit 5beb98404269 ("Merge "i3c: i3c-master-msm-geni: Fix
IBI for invalid device OR handler"")'from msm-5.15 branch.
Change-Id: I958bcbda1136fb7b7e6d957f303af8cf7773322e
Signed-off-by: Peng Yang <quic_penyan@quicinc.com>
Add gunyah guest power-operations driver for Pineapple.
This is just snapshot of kalama's gunyah power-operations driver
from 'commit 5beb98404269 ("Merge "i3c: i3c-master-msm-geni: Fix
IBI for invalid device OR handler"")'from msm-5.15 branch.
Change-Id: I87f37b3462d1655d5db051ab3ae861d2345c0c2f
Signed-off-by: Peng Yang <quic_penyan@quicinc.com>
Add gunyah memory resource notifier drivers for pineapple.
This is just snapshot of kalama's memory resource notifier driver
'commit 5beb98404269 ("Merge "i3c: i3c-master-msm-geni: Fix
IBI for invalid device OR handler"")'from msm-5.15 branch.
Change-Id: I4ccdc0876031ec95f0c9e23246912b31b334df93
Signed-off-by: Peng Yang <quic_penyan@quicinc.com>
Add library for client drivers to lend interrupts to each other.
This is just snapshot of kalama's vIRQ lending driver from
'commit 5beb98404269 ("Merge "i3c: i3c-master-msm-geni: Fix
IBI for invalid device OR handler"")'from msm-5.15 branch.
Change-Id: Ia956778784a74535509edd6e7fcf95ae44fcdee2
Signed-off-by: Peng Yang <quic_penyan@quicinc.com>
This is just snapshot of kalama's vm rm driver from
'commit 5beb98404269 ("Merge "i3c: i3c-master-msm-geni: Fix
IBI for invalid device OR handler"")'from msm-5.15 branch.
Change-Id: Ie7c45b6a96a2ec390a73b7347d4bff8bd88d0350
Signed-off-by: Peng Yang <quic_penyan@quicinc.com>
This is just snapshot of kalama's vm msgq driver from
'commit 5beb98404269 ("Merge "i3c: i3c-master-msm-geni: Fix
IBI for invalid device OR handler"")'from msm-5.15 branch.
Change-Id: I1eb3e01ebf7229f3c35bd8bc6782e80498a2db5e
Signed-off-by: Peng Yang <quic_penyan@quicinc.com>
This is just snapshot of kalama's vm doorbell driver from
'commit 5beb98404269 ("Merge "i3c: i3c-master-msm-geni: Fix
IBI for invalid device OR handler"")'from msm-5.15 branch.
Change-Id: I6445cab51bc03d6a18ac11faa206979b659e5ef7
Signed-off-by: Peng Yang <quic_penyan@quicinc.com>
If LMH (Limits Management Hardware) is available, when a policy is
disabled by unplugging the last online CPU of policy->cpus, the LMH
irq is left enabled.
When the policy is re-enabled with any of the CPU in policy->cpus
being plugged in, qcom_cpufreq_ready() re-enables the irq. This
triggers the following warning:
[ 379.160106] Unbalanced enable for IRQ 154
[ 379.160120] WARNING: CPU: 7 PID: 48 at kernel/irq/manage.c:774 __enable_irq+0x84/0xc0
Thus disable the irq.
Change-Id: I8cd8bec4c6039061c2efb20140b8fb3d3c941e79
Signed-off-by: Pierre Gondois <pierre.gondois@arm.com>
Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
Git-repo: https://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git
Git-commit: f7fca54a18
Signed-off-by: Mike Tipton <quic_mdtipton@quicinc.com>
Enable platform specific boost support to be able to
set boost frequencies if available.
Change-Id: I392ef4cb0dc0b5d6fa9b4b898fe85248f9cf994d
Signed-off-by: Vivek Aknurwar <quic_viveka@quicinc.com>
When cpu is hotplugged out, cpu stack is torn down and lmh mitigation
also stops. Hence on lmh exit remove thermal pressure.
This will ensure that scheduler requests higher frequency when
cpu is back online again, since it's likely the CPU has cooled down
in the meantime. And if it hasn't, then lmh IRQ will fire again and
we'll reapply pressure.
Change-Id: I0c17e8eb3b54f4c0661c730015c19b476e322770
Signed-off-by: Vivek Aknurwar <quic_viveka@quicinc.com>
Signed-off-by: Mike Tipton <quic_mdtipton@quicinc.com>
Add support for qcom_cpufreq_get_cpu_cycle_counter(), which provides the
total accumulated CPU cycle counts for use by the scheduler.
This code is a modified snapshot from msm-5.10 commit 83dbc79da4b1
("qcom-cpufreq: remove references to WALT").
Change-Id: Id3ea9a4113cbe2581d159c780ab5d4b71e4d0edb
Signed-off-by: Sai Harshini Nimmala <quic_snimmala@quicinc.com>
Signed-off-by: Mike Tipton <quic_mdtipton@quicinc.com>
If LMH (Limits Management Hardware) is available, when a policy is
disabled by unplugging the last online CPU of policy->cpus,
qcom_cpufreq_hw_cpu_offline() sets cancel_throttle=true.
cancel_throttle is not reset when the policy is re-enabled with any
of the CPU in policy->cpus being plugged in. So reset it.
This patch also adds an early exit check.
Change-Id: Iea871695e574aed6037833086fee45b13da726c3
Signed-off-by: Pierre Gondois <pierre.gondois@arm.com>
Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
Git-repo: https://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git
Git-commit: cdcf8eb3e7
Signed-off-by: Mike Tipton <quic_mdtipton@quicinc.com>
If cpu is hotplugged then policy->cpus is cleared in cpufreq_offline
which will results in device being NULL on last CPU hotplugged out.
Also since cpu is hotplugged out, polling callback can safely be
ignored in this case.
Change-Id: Ic2d29fe2bdd7c6aa1e952d700d11e321e69f6acb
Signed-off-by: Vivek Aknurwar <quic_viveka@quicinc.com>
Add support to print the perf state, pstate status and cycle counter
status registers for various frequency domain and notifier to print
cpufreq hardware debug registers during crash.
Change-Id: I043f5a29869f505adf49e6adb62035ceb04d810a
Signed-off-by: Naveen Yadav <naveenky@codeaurora.org>
Signed-off-by: Mike Tipton <mdtipton@codeaurora.org>
Signed-off-by: Vivek Aknurwar <quic_viveka@quicinc.com>
Signed-off-by: Mike Tipton <quic_mdtipton@quicinc.com>
Currently, when lmh interrupt fires we notify the scheduler about
thermal pressure. The scheduler reduces the capacity of the cpu(s)
for which the interrupt fired, while we requeue our deferrable work.
This leads to an interesting deadlock, since the cpu is running with
reduced capacity, the scheduler does not put any task on it,
extending the idle time and causing it to remain at reduced capacity -
leading to severe underutilization of the cpu(s).
Switch to using delayed work instead of deferrable work. This will cause
us to exit idle until the thermal condition is recovered.
Change-Id: I4c27c9a952ed556336297eb25e815c848b8266eb
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
Signed-off-by: Vivek Aknurwar <quic_viveka@quicinc.com>