[ Upstream commit 914f8b228ede709274b8c80514b352248ec9da00 ]
This adds a function to update a CGR with new parameters. qman_create_cgr
can almost be used for this (with flags=0), but it's not suitable because
it also registers the callback function. The _safe variant was modeled off
of qman_cgr_delete_safe. However, we handle multiple arguments and a return
value.
Signed-off-by: Sean Anderson <sean.anderson@seco.com>
Acked-by: Camelia Groza <camelia.groza@nxp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Stable-dep-of: fbec4e7fed89 ("soc: fsl: qbman: Use raw spinlock for cgr_lock")
Signed-off-by: Sasha Levin <sashal@kernel.org>
(cherry picked from commit e2bd2df406edd2dff1b105f9dea3c502ee5808c3)
Signed-off-by: Vegard Nossum <vegard.nossum@oracle.com>
When a bearer is removed, calling qdisc reset on a tx queue
could have a race condition with qdisc dequeue for lockless
qdisc such as pfifo_fast.
This change uses a different mechanism not relying on qdisc
implementation to achieve packet purge on bearer remove.
Change-Id: I8f9201809853b07293896d6cb8e010e9e0904e46
Signed-off-by: Weiyi Chen <quic_weiyic@quicinc.com>
Signed-off-by: Sharath Chandra Vurukala <quic_sharathv@quicinc.com>
[Dark-Matter7232: Backport to 4.14]
Signed-off-by: Dark-Matter7232 <kerneldeveloper7232@gmail.com>
Sending synchronous IPIs to other CPUs involves spinning with preemption
disabled in order to wait for each IPI to finish. Keeping preemption off
for long periods of time like this is bad for system jitter, not to mention
the perf event IPIs are sent and flushed one at a time for each event for
each CPU rather than all at once for all the CPUs.
Since the way perf events are currently read is quite naive, rewrite it to
make it exploit parallelism and go much faster. IPIs for reading each perf
event are now sent to all CPUs asynchronously so that each CPU can work on
reading the events in parallel, and the dispatching CPU now sleeps rather
than spins when waiting for the IPIs to finish. Before the dispatching CPU
starts waiting though, it works on reading events for itself and then
reading events which can be read from any CPU in order to derive further
parallelism, and then waits for the IPIs to finish afterwards if they
haven't already.
Furthermore, there's now only one IPI sent to read all of a CPU's events
rather than an IPI sent for reading each event, which significantly speeds
up the event reads and reduces the number of IPIs sent.
This also checks for active SCM calls on a per-CPU basis rather than a
global basis so that unrelated CPUs don't get their counter reads skipped
and so that some CPUs can still receive fresh counter readings.
Overall, this makes the memlat driver much faster and more efficient, and
eliminates significant system jitter previously caused by IPI abuse.
Signed-off-by: Sultan Alsawaf <sultan@kerneltoast.com>
This reverts commit 190be9ed11703e8e0f7c79461662634792c9beb4.
There are a number of problems with this optimization attempt, such as how
a perf error code could be returned to one of the counter values, a CPU
could enter an SCM call for just one event and result in garbage
computations or a divide-by-zero when calculating the stall percentage,
and IRQs are disabled as a heavy-handed way of preventing CPU migration.
Toss this commit out so that it can be replaced by something better.
Signed-off-by: Sultan Alsawaf <sultan@kerneltoast.com>
Sending synchronous IPIs to other CPUs involves spinning with preemption
disabled in order to wait for each IPI to finish. Keeping preemption off
for long periods of time like this is bad for system jitter, not to mention
the perf event IPIs are sent and flushed one at a time for each event for
each CPU rather than all at once for all the CPUs.
Since the way perf events are currently read is quite naive, rewrite it to
make it exploit parallelism and go much faster. IPIs for reading each perf
event are now sent to all CPUs asynchronously so that each CPU can work on
reading the events in parallel, and the dispatching CPU now sleeps rather
than spins when waiting for the IPIs to finish. Before the dispatching CPU
starts waiting though, it works on reading events for itself and then
reading events which can be read from any CPU in order to derive further
parallelism, and then waits for the IPIs to finish afterwards if they
haven't already.
Furthermore, there's now only one IPI sent to read all of a CPU's events
rather than an IPI sent for reading each event, which significantly speeds
up the event reads and reduces the number of IPIs sent.
This also checks for active SCM calls on a per-CPU basis rather than a
global basis so that unrelated CPUs don't get their counter reads skipped
and so that some CPUs can still receive fresh counter readings.
Overall, this makes the memlat driver much faster and more efficient, and
eliminates significant system jitter previously caused by IPI abuse.
Signed-off-by: Sultan Alsawaf <sultan@kerneltoast.com>
This reverts commit 190be9ed11703e8e0f7c79461662634792c9beb4.
There are a number of problems with this optimization attempt, such as how
a perf error code could be returned to one of the counter values, a CPU
could enter an SCM call for just one event and result in garbage
computations or a divide-by-zero when calculating the stall percentage,
and IRQs are disabled as a heavy-handed way of preventing CPU migration.
Toss this commit out so that it can be replaced by something better.
Signed-off-by: Sultan Alsawaf <sultan@kerneltoast.com>
We can skip the locking and other overhead of perf_event_read_value()
when we know in advance that the perf event in question can be read from
the current CPU. This occurs when either the perf event permits reads
from CPUs other than the one its on, or when the CPU doing the reads is
the same CPU that owns the perf event.
Our PMU drivers only set two possible values for `readable_on_cpus`:
CPU_MASK_ALL or nothing. As such, we can simply check for CPU_MASK_ALL
beforehand in order to determine if the perf event allows non-local
reads.
We can also reduce the scope of under_scm_call() since we now know which
CPU we're reading a perf event from, thus reducing the false positive
rate of under_scm_call() as it is now per-CPU.
Signed-off-by: Sultan Alsawaf <sultan@kerneltoast.com>
memlat works based on perf event to calculate algorithm.
Perf event needs IPI to read count from other CPU.
However, if the CPU is under heavy scm call(+20ms), it could
be stuck until the CPU could complete the scm call.
It would cause long latency.
This patch adds global atomic count to check whether scm is
going. If it's under going, memlat doesn't invoke perf event
function to avoid IPI stuck. Although there is still race to
check it, the race should be small enough so effectivey, it
mitigate such long latency.
Please check to memlat owner what happens when read_event
sometimes returns zero due to scm call in parallel.
Bug: 134440633
Change-Id: I0403d151ededcc80d531c8cd81daa783000902d1
Signed-off-by: Minchan Kim <minchan@google.com>
When the remote processor wants to wake up local processor
it toggles one of the GPIO. The IRQ handler at local
end will notify registered listeners about it.
Change-Id: Iccbfb7c86538c1e111c97bbe438ef5846182405e
Signed-off-by: Rishi Gupta <rishgupt@codeaurora.org>
On certain configurations, userspace gets the notification of remote
processor status. Create a sysfs entry for userspace to notify
sdx_ext_ipc driver. Upon receival, sdx_ext_ipc driver notifies all
interested drivers.
Change-Id: Ic38e86492a700145d19e13acb60f7f13a315c64e
Signed-off-by: Shreyas K K <shrekk@codeaurora.org>
* refs/heads/tmp-c1013a4:
Linux 4.14.200
ata: sata_mv, avoid trigerrable BUG_ON
ata: make qc_prep return ata_completion_errors
ata: define AC_ERR_OK
lib/string.c: implement stpcpy
mm, THP, swap: fix allocating cluster for swapfile by mistake
kprobes: Fix to check probe enabled before disarm_kprobe_ftrace()
s390/dasd: Fix zero write for FBA devices
MIPS: Add the missing 'CPU_1074K' into __get_cpu_type()
ALSA: asihpi: fix iounmap in error handler
batman-adv: mcast: fix duplicate mcast packets in BLA backbone from mesh
batman-adv: Add missing include for in_interrupt()
net: qed: RDMA personality shouldn't fail VF load
drm/vc4/vc4_hdmi: fill ASoC card owner
mac802154: tx: fix use-after-free
batman-adv: mcast/TT: fix wrongly dropped or rerouted packets
atm: eni: fix the missed pci_disable_device() for eni_init_one()
batman-adv: bla: fix type misuse for backbone_gw hash indexing
mwifiex: Increase AES key storage size to 256 bits
clocksource/drivers/h8300_timer8: Fix wrong return value in h8300_8timer_init()
ieee802154/adf7242: check status of adf7242_read_reg
ieee802154: fix one possible memleak in ca8210_dev_com_init
objtool: Fix noreturn detection for ignored functions
i2c: core: Call i2c_acpi_install_space_handler() before i2c_acpi_register_devices()
s390/init: add missing __init annotations
btrfs: qgroup: fix data leak caused by race between writeback and truncate
vfio/pci: fix racy on error and request eventfd ctx
selftests/x86/syscall_nt: Clear weird flags after each test
scsi: libfc: Skip additional kref updating work event
scsi: libfc: Handling of extra kref
cifs: Fix double add page to memcg when cifs_readpages
vfio/pci: Clear error and request eventfd ctx after releasing
x86/speculation/mds: Mark mds_user_clear_cpu_buffers() __always_inline
mtd: parser: cmdline: Support MTD names containing one or more colons
rapidio: avoid data race between file operation callbacks and mport_cdev_add().
mm/swap_state: fix a data race in swapin_nr_pages
ceph: fix potential race in ceph_check_caps
mtd: rawnand: omap_elm: Fix runtime PM imbalance on error
perf kcore_copy: Fix module map when there are no modules loaded
perf util: Fix memory leak of prefix_if_not_in
vfio/pci: fix memory leaks of eventfd ctx
btrfs: don't force read-only after error in drop snapshot
usb: dwc3: Increase timeout for CmdAct cleared by device controller
printk: handle blank console arguments passed in.
drm/nouveau/debugfs: fix runtime pm imbalance on error
e1000: Do not perform reset in reset_task if we are already down
arm64/cpufeature: Drop TraceFilt feature exposure from ID_DFR0 register
USB: EHCI: ehci-mv: fix less than zero comparison of an unsigned int
fuse: don't check refcount after stealing page
powerpc/traps: Make unrecoverable NMIs die instead of panic
ALSA: hda: Fix potential race in unsol event handler
tty: serial: samsung: Correct clock selection logic
USB: EHCI: ehci-mv: fix error handling in mv_ehci_probe()
Bluetooth: Handle Inquiry Cancel error after Inquiry Complete
phy: samsung: s5pv210-usb2: Add delay after reset
power: supply: max17040: Correct voltage reading
atm: fix a memory leak of vcc->user_back
dt-bindings: sound: wm8994: Correct required supplies based on actual implementaion
arm64: cpufeature: Relax checks for AArch32 support at EL[0-2]
sparc64: vcc: Fix error return code in vcc_probe()
staging:r8188eu: avoid skb_clone for amsdu to msdu conversion
drivers: char: tlclk.c: Avoid data race between init and interrupt handler
bdev: Reduce time holding bd_mutex in sync in blkdev_close()
KVM: Remove CREATE_IRQCHIP/SET_PIT2 race
serial: uartps: Wait for tx_empty in console setup
scsi: qedi: Fix termination timeouts in session logout
mm/mmap.c: initialize align_offset explicitly for vm_unmapped_area
mm/vmscan.c: fix data races using kswapd_classzone_idx
mm/filemap.c: clear page error before actual read
mm/kmemleak.c: use address-of operator on section symbols
NFS: Fix races nfs_page_group_destroy() vs nfs_destroy_unlinked_subrequests()
ALSA: usb-audio: Fix case when USB MIDI interface has more than one extra endpoint descriptor
ubifs: Fix out-of-bounds memory access caused by abnormal value of node_len
svcrdma: Fix leak of transport addresses
SUNRPC: Fix a potential buffer overflow in 'svc_print_xprts()'
RDMA/rxe: Set sys_image_guid to be aligned with HW IB devices
tools: gpio-hammer: Avoid potential overflow in main
cpufreq: powernv: Fix frame-size-overflow in powernv_cpufreq_work_fn
perf cpumap: Fix snprintf overflow check
serial: 8250: 8250_omap: Terminate DMA before pushing data on RX timeout
serial: 8250_omap: Fix sleeping function called from invalid context during probe
serial: 8250_port: Don't service RX FIFO if throttled
tracing: Use address-of operator on section symbols
rtc: ds1374: fix possible race condition
tpm: ibmvtpm: Wait for buffer to be set before proceeding
xfs: don't ever return a stale pointer from __xfs_dir3_free_read
media: tda10071: fix unsigned sign extension overflow
Bluetooth: L2CAP: handle l2cap config request during open state
scsi: aacraid: Disabling TM path and only processing IOP reset
ath10k: use kzalloc to read for ath10k_sdio_hif_diag_read
drm/amdgpu: increase atombios cmd timeout
mm: avoid data corruption on CoW fault into PFN-mapped VMA
ext4: fix a data race at inode->i_disksize
timekeeping: Prevent 32bit truncation in scale64_check_overflow()
Bluetooth: guard against controllers sending zero'd events
media: go7007: Fix URB type for interrupt handling
dmaengine: tegra-apb: Prevent race conditions on channel's freeing
bpf: Remove recursion prevention from rcu free callback
x86/pkeys: Add check for pkey "overflow"
media: staging/imx: Missing assignment in imx_media_capture_device_register()
KVM: x86: fix incorrect comparison in trace event
RDMA/rxe: Fix configuration of atomic queue pair attributes
perf test: Fix test trace+probe_vfs_getname.sh on s390
drm/omap: fix possible object reference leak
scsi: lpfc: Fix coverity errors in fmdi attribute handling
scsi: lpfc: Fix RQ buffer leakage when no IOCBs available
selinux: sel_avc_get_stat_idx should increase position index
audit: CONFIG_CHANGE don't log internal bookkeeping as an event
skbuff: fix a data race in skb_queue_len()
ALSA: hda: Clear RIRB status before reading WP
KVM: fix overflow of zero page refcount with ksm running
Bluetooth: prefetch channel before killing sock
mm: pagewalk: fix termination condition in walk_pte_range()
Bluetooth: Fix refcount use-after-free issue
tools/power/x86/intel_pstate_tracer: changes for python 3 compatibility
selftests/ftrace: fix glob selftest
ar5523: Add USB ID of SMCWUSBT-G2 wireless adapter
tracing: Set kernel_stack's caller size properly
powerpc/eeh: Only dump stack once if an MMIO loop is detected
dmaengine: zynqmp_dma: fix burst length configuration
ACPI: EC: Reference count query handlers under lock
media: ti-vpe: cal: Restrict DMA to avoid memory corruption
seqlock: Require WRITE_ONCE surrounding raw_seqcount_barrier
rt_cpu_seq_next should increase position index
neigh_stat_seq_next() should increase position index
kernel/sys.c: avoid copying possible padding bytes in copy_to_user
CIFS: Properly process SMB3 lease breaks
debugfs: Fix !DEBUG_FS debugfs_create_automount
gfs2: clean up iopen glock mess in gfs2_create_inode
mmc: core: Fix size overflow for mmc partitions
RDMA/iw_cgxb4: Fix an error handling path in 'c4iw_connect()'
xfs: fix attr leaf header freemap.size underflow
RDMA/i40iw: Fix potential use after free
bcache: fix a lost wake-up problem caused by mca_cannibalize_lock
tracing: Adding NULL checks for trace_array descriptor pointer
mfd: mfd-core: Protect against NULL call-back function pointer
mtd: cfi_cmdset_0002: don't free cfi->cfiq in error path of cfi_amdstd_setup()
clk/ti/adpll: allocate room for terminating null
scsi: fnic: fix use after free
PM / devfreq: tegra30: Fix integer overflow on CPU's freq max out
ALSA: hda/realtek - Couldn't detect Mic if booting with headset plugged
ALSA: usb-audio: Add delay quirk for H570e USB headsets
x86/ioapic: Unbreak check_timer()
arch/x86/lib/usercopy_64.c: fix __copy_user_flushcache() cache writeback
media: smiapp: Fix error handling at NVM reading
ASoC: kirkwood: fix IRQ error handling
gma/gma500: fix a memory disclosure bug due to uninitialized bytes
m68k: q40: Fix info-leak in rtc_ioctl
scsi: aacraid: fix illegal IO beyond last LBA
mm: fix double page fault on arm64 if PTE_AF is cleared
serial: 8250: Avoid error message on reprobe
geneve: add transport ports in route lookup for geneve
ipv4: Update exception handling for multipath routes via same device
net: add __must_check to skb_put_padto()
net: phy: Avoid NPD upon phy_detach() when driver is unbound
bnxt_en: Protect bnxt_set_eee() and bnxt_set_pauseparam() with mutex.
tipc: use skb_unshare() instead in tipc_buf_append()
tipc: fix shutdown() of connection oriented socket
net: ipv6: fix kconfig dependency warning for IPV6_SEG6_HMAC
ip: fix tos reflection in ack and reset packets
hdlc_ppp: add range checks in ppp_cp_parse_cr()
RDMA/ucma: ucma_context reference leak in error path
mm/thp: fix __split_huge_pmd_locked() for migration PMD
kprobes: fix kill kprobe which has been marked as gone
KVM: fix memory leak in kvm_io_bus_unregister_dev()
phy: qcom-qmp: Use correct values for ipq8074 PCIe Gen2 PHY init
af_key: pfkey_dump needs parameter validation
ANDROID: Fix 64/32 compat issue with virtio_gpu_resource_create_blob
ANDROID: Delete goldfish build configs and defconfigs
Linux 4.14.199
x86/defconfig: Enable CONFIG_USB_XHCI_HCD=y
powerpc/dma: Fix dma_map_ops::get_required_mask
ehci-hcd: Move include to keep CRC stable
serial: 8250_pci: Add Realtek 816a and 816b
Input: i8042 - add Entroware Proteus EL07R4 to nomux and reset lists
Input: trackpoint - add new trackpoint variant IDs
percpu: fix first chunk size calculation for populated bitmap
i2c: i801: Fix resume bug
usblp: fix race between disconnect() and read()
USB: UAS: fix disconnect by unplugging a hub
USB: quirks: Add USB_QUIRK_IGNORE_REMOTE_WAKEUP quirk for BYD zhaoxin notebook
drm/mediatek: Add missing put_device() call in mtk_hdmi_dt_parse_pdata()
drm/mediatek: Add exception handing in mtk_drm_probe() if component init fail
MIPS: SNI: Fix spurious interrupts
fbcon: Fix user font detection test at fbcon_resize().
perf test: Free formats for perf pmu parse test
MIPS: SNI: Fix MIPS_L1_CACHE_SHIFT
Drivers: hv: vmbus: Add timeout to vmbus_wait_for_unload
clk: rockchip: Fix initialization of mux_pll_src_4plls_p
KVM: MIPS: Change the definition of kvm type
spi: Fix memory leak on splited transfers
i2c: algo: pca: Reapply i2c bus settings after reset
f2fs: fix indefinite loop scanning for free nid
nvme-fc: cancel async events before freeing event struct
rapidio: Replace 'select' DMAENGINES 'with depends on'
SUNRPC: stop printk reading past end of string
spi: spi-loopback-test: Fix out-of-bounds read
scsi: lpfc: Fix FLOGI/PLOGI receive race condition in pt2pt discovery
scsi: libfc: Fix for double free()
scsi: pm8001: Fix memleak in pm8001_exec_internal_task_abort
NFSv4.1 handle ERR_DELAY error reclaiming locking state on delegation recall
hv_netvsc: Remove "unlikely" from netvsc_select_queue
net: handle the return value of pskb_carve_frag_list() correctly
gfs2: initialize transaction tr_ailX_lists earlier
gcov: add support for GCC 10.1
usb: typec: ucsi: acpi: Check the _DEP dependencies
usb: Fix out of sync data toggle if a configured device is reconfigured
USB: serial: option: add support for SIM7070/SIM7080/SIM7090 modules
USB: serial: option: support dynamic Quectel USB compositions
USB: serial: ftdi_sio: add IDs for Xsens Mti USB converter
usb: core: fix slab-out-of-bounds Read in read_descriptors
staging: greybus: audio: fix uninitialized value issue
video: fbdev: fix OOB read in vga_8planes_imageblit()
ARM: dts: vfxxx: Add syscon compatible with OCOTP
KVM: VMX: Don't freeze guest when event delivery causes an APIC-access exit
vgacon: remove software scrollback support
fbcon: remove now unusued 'softback_lines' cursor() argument
fbcon: remove soft scrollback code
RDMA/rxe: Fix the parent sysfs read when the interface has 15 chars
rbd: require global CAP_SYS_ADMIN for mapping and unmapping
scsi: target: iscsi: Fix hang in iscsit_access_np() when getting tpg->np_login_sem
scsi: target: iscsi: Fix data digest calculation
regulator: push allocation in set_consumer_device_supply() out of lock
btrfs: fix wrong address when faulting in pages in the search ioctl
btrfs: fix lockdep splat in add_missing_dev
btrfs: require only sector size alignment for parent eb bytenr
staging: wlan-ng: fix out of bounds read in prism2sta_probe_usb()
iio:accel:mma8452: Fix timestamp alignment and prevent data leak.
iio:accel:mma7455: Fix timestamp alignment and prevent data leak.
iio: accel: kxsd9: Fix alignment of local buffer.
iio:chemical:ccs811: Fix timestamp alignment and prevent data leak.
iio:light:max44000 Fix timestamp alignment and prevent data leak.
iio:magnetometer:ak8975 Fix alignment and data leak issues.
iio:adc:ti-adc081c Fix alignment and data leak issues
iio:adc:max1118 Fix alignment of timestamp and data leak issues
iio:adc:ina2xx Fix timestamp alignment issue.
iio:adc:ti-adc084s021 Fix alignment and data leak issues.
iio:accel:bmc150-accel: Fix timestamp alignment and prevent data leak.
iio:light:ltr501 Fix timestamp alignment issue.
iio: adc: ti-ads1015: fix conversion when CONFIG_PM is not set
iio: adc: mcp3422: fix locking on error path
iio: adc: mcp3422: fix locking scope
gcov: Disable gcov build with GCC 10
ALSA: hda: fix a runtime pm issue in SOF when integrated GPU is disabled
cpufreq: intel_pstate: Refuse to turn off with HWP enabled
ARC: [plat-hsdk]: Switch ethernet phy-mode to rgmii-id
drivers/net/wan/hdlc_cisco: Add hard_header_len
irqchip/eznps: Fix build error for !ARC700 builds
xfs: initialize the shortform attr header padding entry
drivers/net/wan/lapbether: Set network_header before transmitting
ALSA: hda: Fix 2 channel swapping for Tegra
firestream: Fix memleak in fs_open
NFC: st95hf: Fix memleak in st95hf_in_send_cmd
drivers/net/wan/lapbether: Added needed_tailroom
dmaengine: acpi: Put the CSRT table after using it
ARC: HSDK: wireup perf irq
arm64: dts: ns2: Fixed QSPI compatible string
ARM: dts: BCM5301X: Fixed QSPI compatible string
mmc: sdhci-msm: Add retries when all tuning phases are found valid
RDMA/core: Fix reported speed and width
scsi: libsas: Set data_dir as DMA_NONE if libata marks qc as NODATA
RDMA/rxe: Drop pointless checks in rxe_init_ports
RDMA/rxe: Fix memleak in rxe_mem_init_user
ARM: dts: socfpga: fix register entry for timer3 on Arria10
ANDROID: Add INIT_STACK_ALL_ZERO to the list of Clang-specific options
Conflicts:
arch/arm/configs/ranchu_defconfig
arch/arm64/configs/ranchu64_defconfig
arch/x86/configs/i386_ranchu_defconfig
arch/x86/configs/x86_64_ranchu_defconfig
drivers/mmc/host/sdhci-msm.c
drivers/usb/dwc3/gadget.c
mm/memory.c
Change-Id: I7ec205f8d58125c2d2dcab7bfe944f5cf36b4bc9
Signed-off-by: Srinivasarao P <spathi@codeaurora.org>
Added Support for SOTA notification Check status from HLOS
Change-Id: I1bf58c0ee0dce8a5b1351812c1e9813438d0c0a8
Signed-off-by: Vishvesh Deobhankar <vdeobhan@codeaurora.org>
[ Upstream commit 89d29997f103d08264b0685796b420d911658b96 ]
eznps driver is supposed to be platform independent however it ends up
including stuff from inside arch/arc headers leading to rand config
build errors.
The quick hack to fix this (proper fix is too much chrun for non active
user-base) is to add following to nps platform agnostic header.
- copy AUX_IENABLE from arch/arc header
- move CTOP_AUX_IACK from arch/arc/plat-eznps/*/**
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Link: https://lkml.kernel.org/r/20200824095831.5lpkmkafelnvlpi2@linutronix.de
Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
In cases of system suspend, there is a requirement to update
existing boot marker. Add API to update existing boot marker.
Change-Id: If26249578f4a2594f37f53f3ea819e5032db2b85
Signed-off-by: Shreyas K K <shrekk@codeaurora.org>
Provide APIs to be used by the ethernet transport/adaption layer to
interface with qrtr-ethernet driver. Ethernet transport/adaption layer
will use these APIs to:
1. Let qrtr-ethernet know when the ethernet link is up/down so that
endpoint registration/deregistration is done as needed.
2. Provide a function pointer for qrtr-ethernet module to transmit
data to the ethernet adaption layer.
Change-Id: Ifd1a07aef2fc5cd906128d2bed68574a2ab4c29b
Signed-off-by: Jay Jayanna <jayanna@codeaurora.org>
Rename EVT_WAKE_UP to EVENT_REQUEST_WAKE_UP to clearly
expalin that this notification is to request to wake up
the remote processor.
Change-Id: Icc829f3b6c6d8b0cfc2e0ff189a0152759bb6415
Signed-off-by: Shreyas K K <shrekk@codeaurora.org>
Add socinfo support for trinket-iot Soc and update the
bindings for the same.
Change-Id: I377526de9e7e7d95d93f6f954f6ff94e8f886b71
Signed-off-by: Anurag Chouhan <achouhan@codeaurora.org>
Remove Unnecessary socinfo support and update the
bindings for the same.
Change-Id: I724b37fd7e466307db0c209cef834c4a308fa940
Signed-off-by: Anurag Chouhan <achouhan@codeaurora.org>
For msm targets that have slave side access control, iommu
driver is not allowed to write to secure context bank register
space. Extend arm_smmu_skip_write logic to consider such
protected context bank ttbr address space as well for skipping.
Change-Id: Ibb6ee5a0425c1aa86ab82b78eca386de09baaace
Signed-off-by: Vishwanath Raju K <vishk@codeaurora.org>
Skip writes to global space of SMMU on targets with slave side
protection where this space was preprogrammed by TZ that need to be
wkept intact.
Change-Id: I03f8ba708144ad9846ec8d6b8a89bd53773bdded
Signed-off-by: Charan Teja Reddy <charante@codeaurora.org>
Signed-off-by: Vishwanath Raju K <vishk@codeaurora.org>
This commit introduces helper APIs and header file to be used
by sideband events publishers and subscribers. Communication
is through standard kernel APIs.
Change-Id: I12114bdf3e1e0e6c3fe0677e313bd7ad8e1649b7
Signed-off-by: Rishi Gupta <rishgupt@codeaurora.org>
Add watchdog timer to recover potential data stall when data is
not going to the expected DRB and no DFC indication is received.
Change-Id: Iaa4b4814967cf9400c36115a083922376d23928d
Acked-by: Weiyi Chen <weiyic@qti.qualcomm.com>
Signed-off-by: Subash Abhinov Kasiviswanathan <subashab@codeaurora.org>
Add snapshot of profiler driver from msm-4.4.
This snapshot is taken as of msm-4.4 commit bf01369440c0
(profiler: Add a communication interface between userspace and tz services)
Refine code for llcc support.
Change-Id: I37db17202fbd09feb36a118e6e9c3e3aa00bec9d
Signed-off-by: Lei wang <leiwan@codeaurora.org>
Add socinfo support for QCM6125/QCS6125 Soc and update the
bindings for the same.
Change-Id: Ia2a9729e6b668559393c6660deca2da97f545c67
Signed-off-by: Anurag Chouhan <achouhan@codeaurora.org>
'bootloader_load_kernel' and 'bootloader_chksum_time' are
redundant information. As the entries in IMEM have a limit
(as of now 8 entries), recreate them from *_start and *_done
variants, which are populated from the bootloader.
Change-Id: I4794cd5665a7593aca94542fd759fbd0da068d96
Signed-off-by: Shreyas K K <shrekk@codeaurora.org>
Add socinfo support for SDM429W SoC and update the
bindings for the same.
Change-Id: Ic29fb6d1561c2c0de94223d976d23270df6d9e3c
Signed-off-by: Archit Saxena <archsaxe@codeaurora.org>
Fixes the size of VMID_LAST to avoid the index
out of bound error.
Change-Id: Iacf449b131f8003ac8252cfe81c9bcb98d9280c0
Signed-off-by: Manohar Vavilapalli <mvavilap@codeaurora.org>
Add necessary flags for secure encoder feature to
request this type of memory.
Change-Id: I81521ac8c9c1b1dd003c96998052a9f1b9ab8c11
Signed-off-by: Vishwanath Raju K <vishk@codeaurora.org>
Add changes to track and predict next rescheduling IPI
based on past history. Add a module param to control enabling
it.
Change-Id: Ie495d8906288ee410708693ee15ed51643aefb44
Signed-off-by: Maulik Shah <mkshah@codeaurora.org>
CPU spm is programmed to handshake with rpm for single cpu devices.
If cluster level LPM is not selected even then spm handshakes with
rpm.
Fix this issue by allowing rpm handshake only if cluster level
LPM is selected.
CRs-Fixed: 1043098.
Change-Id: I30d10bfbf34a211563d0a3c4a43fdd5c174b8a3f
Signed-off-by: Haribabu Gattem <haribabu@codeaurora.org>
Signed-off-by: Sivasri Kumar Vanka <sivasri@codeaurora.org>