MHI controller needs to handle the fatal error callback issued by the
bus in case reset separation needs to be supported. This state will
occur as a SYS ERROR state with the device being in PBL. Perform a
full power cycle and issue an MHI RESET during power down.
Change-Id: I467943924302ba773c8f6d0c4ad09b51faaeb490
Signed-off-by: Bhaumik Bhatt <bbhatt@codeaurora.org>
MHI clients can unbind driver from userspace while a channel
is active with ongoing transfers. As we can only do host side
clean-up of the channel without sending a reset channel command
to the device, a kernel panic could occur due to incoming
packets if we proceed. Wait until the client unprepares the
channel or device goes to an error state.
Change-Id: I400cbf799d96fb7bc05df4c568593e12e9dc41f1
Signed-off-by: Bhaumik Bhatt <bbhatt@codeaurora.org>
If the device enters RDDM when the host is in a fast/DRV suspended
state, MHI host may end up skipping the check from BHI interrupt
handling as a host resume may remain pending for a while. Once the
host resume is triggered by the controller, MHI host can either
walk the primary event ring to discover the RDDM EE event or check
the execution environment post the DRV resume and notify the
controller of the error condition as fallbacks to the original
method of using the BHI interrupt.
Change-Id: I93b678981a5ffd640c1dce15b90bf7bcd2e24971
Signed-off-by: Bhaumik Bhatt <bbhatt@codeaurora.org>
Allow a move to SYS_ERROR if its arrival precedes that of an
RDDM entry notification so that the core driver remains inactive
for that period in its anticipation.
Change-Id: I6222430f34528f8b5f4c3d3d544ebc359ed05708
Signed-off-by: Bhaumik Bhatt <bbhatt@codeaurora.org>
Set the RDDM support boolean at power up for MHI to know that the
device can enter RDDM execution environment. It can decide to skip
SYS_ERROR handling based on the boolean whereas allow other aspects
such as collection ramdumps if sufficient support is present.
Change-Id: Iee74b6ae61166ea48617e1b75f05841079e1b83b
Signed-off-by: Bhaumik Bhatt <bbhatt@codeaurora.org>
If a controller supports RDDM, there is no need to process a SYS_ERROR.
Hence, we can safely move the power down state check to reside within an
RDDM supported controller as it allows for other controllers to handle
scenarios such as receiving an early SYS_ERROR when in the PBL execution
environment.
Change-Id: I5c63a861b9dd178f5c967bdf252da9c47d3a2b56
Signed-off-by: Bhaumik Bhatt <bbhatt@codeaurora.org>
As of now, there is no way for MHI to know if device supports RDDM
and host controller wishes to skip ramdump collection. Allow for
that by letting the controller set the rddm support boolean which
indicates device side support. If rddm_size is set to zero while
the support for RDDM is present, that indicates disinterest in
ramdump collection if RDDM execution environment is entered.
Change-Id: I0a36219fc7782951aa1b81b9ec0d182ecfb3a916
Signed-off-by: Bhaumik Bhatt <bbhatt@codeaurora.org>
When bringing up a new device attach to the host driver, MHI
controller can have more than one debug mode to allow for
configurable versions and make it easier to choose firmware
images and allow/disallow forced suspend/resume done to choose
new PHY settings.
Change-Id: Id2ecd98cfbaba40aca96bd167c34bfa5fd03818e
Signed-off-by: Bhaumik Bhatt <bbhatt@codeaurora.org>
Certain important and less frequently occurring logs can be
moved to controller log buffer to monitor bootup and shutdown.
Change-Id: I602d99adcdf8415e29930867cbcaa62d043deff0
Signed-off-by: Bhaumik Bhatt <bbhatt@codeaurora.org>
Certain important and less frequently occurring logs can be
moved to controller log buffer to monitor bootup and shutdown.
Change-Id: I26d0ade3562c925ac533c51c6d5613c40a836813
Signed-off-by: Bhaumik Bhatt <bbhatt@codeaurora.org>
Much of the IPC log buffer size allocated to the sparsely
used time synchronization is unused and bootlogger is allocated
more than it needs. Reduce the sizes for the same.
Change-Id: I342cd077d00d38a0fb737605e6e43577edc05396
Signed-off-by: Bhaumik Bhatt <bbhatt@codeaurora.org>
Controller IPC logs support bootup and shutdown logs which can
help in easier debug.
Change-Id: I10e37641559473a14a7ebab65562ffcfb9d95ab6
Signed-off-by: Bhaumik Bhatt <bbhatt@codeaurora.org>
Add support in the MHI controller for a dedicated bootup and
shutdown log buffer and fix log message macros.
Change-Id: I6425107b9e2a048b44d8912051486d3aaa2abdac
Signed-off-by: Bhaumik Bhatt <bbhatt@codeaurora.org>
Add clock IDs for GCC and APSSCC clients to be able to request
for clocks from these clock controllers.
Change-Id: Ifc6acdbd05398e2f501cdc2cfb8694b16eb9b866
Signed-off-by: Naveen Yadav <naveenky@codeaurora.org>
DEBUGFS will be disabled on android R perf builds. Since tz logs
are dependent on debugfs, CONFIG_MSM_TZ_LOG needs to be removed
as well.
Change-Id: I88211eb98cfbf64b2fe444c8fc0d4e122bebf7cb
Signed-off-by: Prerna Kalla <prernak@codeaurora.org>
1. Fix to format context correctly as expected by
hardware for system KDF.
HWKM reverses bytes at a 8-byte boundary while getting
the context from cryptolib. Reformat the context in the
command packet in such a way that HWKM receives it in the
correct order. Also, pad the context to a 8-byte multiple
as the way HW would pad it is not expected.
2. Use context for FBE to match with the one
for VTS test cases.
Change-Id: I3c13c91b0dfc85aef406b05694dbd22afb0b2e0b
Signed-off-by: Gaurav Kashyap <gaurkash@codeaurora.org>
* refs/heads/tmp-724ffa0:
Linux 5.4.32
iommu/vt-d: Allow devices with RMRRs to use identity domain
drm/i915: Fix ref->mutex deadlock in i915_active_wait()
fbcon: fix null-ptr-deref in fbcon_switch
blk-mq: Keep set->nr_hw_queues and set->map[].nr_queues in sync
RDMA/cm: Update num_paths in cma_resolve_iboe_route error flow
Bluetooth: RFCOMM: fix ODEBUG bug in rfcomm_dev_ioctl
RDMA/siw: Fix passive connection establishment
RDMA/cma: Teach lockdep about the order of rtnl and lock
RDMA/ucma: Put a lock around every call to the rdma_cm layer
include/uapi/linux/swab.h: fix userspace breakage, use __BITS_PER_LONG for swap
ceph: canonicalize server path in place
ceph: remove the extra slashes in the server path
ARM: imx: only select ARM_ERRATA_814220 for ARMv7-A
ARM: imx: Enable ARM_ERRATA_814220 for i.MX6UL and i.MX7D
IB/mlx5: Replace tunnel mpls capability bits for tunnel_offloads
IB/hfi1: Fix memory leaks in sysfs registration and unregistration
IB/hfi1: Call kobject_put() when kobject_init_and_add() fails
ASoC: jz4740-i2s: Fix divider written at incorrect offset in register
platform/x86: intel_int0002_vgpio: Use acpi_register_wakeup_handler()
ACPI: PM: Add acpi_[un]register_wakeup_handler()
hwrng: imx-rngc - fix an error path
tools/accounting/getdelays.c: fix netlink attribute length
slub: improve bit diffusion for freelist ptr obfuscation
uapi: rename ext2_swab() to swab() and share globally in swab.h
usb: dwc3: gadget: Wrap around when skip TRBs
random: always use batched entropy for get_random_u{32,64}
s390: prevent leaking kernel address in BEAR
r8169: change back SG and TSO to be disabled by default
mlxsw: spectrum_flower: Do not stop at FLOW_ACTION_VLAN_MANGLE
tun: Don't put_page() for all negative return values from XDP program
slcan: Don't transmit uninitialized stack data in padding
net: stmmac: dwmac1000: fix out-of-bounds mac address reg setting
net_sched: fix a missing refcnt in tcindex_init()
net_sched: add a temporary refcnt for struct tcindex_data
net: phy: micrel: kszphy_resume(): add delay after genphy_resume() before accessing PHY registers
net: dsa: mt7530: fix null pointer dereferencing in port5 setup
net: dsa: bcm_sf2: Ensure correct sub-node is parsed
net: dsa: bcm_sf2: Do not register slave MDIO bus with OF
ipv6: don't auto-add link-local address to lag ports
cxgb4: fix MPS index overwrite when setting MAC address
net: phy: realtek: fix handling of RTL8105e-integrated PHY
ANDROID: ABI/Whitelist: add display whitelist to unisoc whitelist
ANDROID: Kconfig.gki Add SND_SOC_TOPOLOGY
ANDROID: GKI: enable CONFIG_ARM_PSCI_CPUIDLE
ANDROID: power: wakeup_reason: wake reason enhancements
UPSTREAM: cpufreq: Make cpufreq_global_kobject static
ANDROID: staging: ion: implement vmap for built-in heaps
ANDROID: KABI: Update kABI after dropping CONFIG_PCIEPORTBUS from gki_defconfig
ANDROID: gki_defconfig: Drop CONFIG_PCIEPORTBUS
FROMLIST: power_supply: Add additional health properties to the header
UPSTREAM: power: supply: core: Update sysfs-class-power ABI document
ANDROID: GKI: update ABI for mmc changes
UPSTREAM: mmc: sdhci-sprd: Set the missing MMC_CAP_WAIT_WHILE_BUSY flag
UPSTREAM: mmc: host: hsq: Add missing MODULE_LICENSE() and MODULE_DESCRIPTION()
UPSTREAM: mmc: host: sdhci-sprd: Add software queue support
UPSTREAM: mmc: host: sdhci: Add a variable to defer to complete requests if needed
UPSTREAM: mmc: host: sdhci: Add request_done ops for struct sdhci_ops
UPSTREAM: mmc: core: Enable the MMC host software queue for the SD card
UPSTREAM: mmc: Add MMC host software queue support
FROMGIT: kbuild: mkcompile_h: Include $LD version in /proc/version
ANDROID: ignore compiler tag __must_check for GENKSYMS
UPSTREAM: mfd: sc27xx: Add USB charger type detection support
UPSTREAM: Revert "gpio: eic-sprd: Use devm_platform_ioremap_resource()"
UPSTREAM: pinctrl: sprd: Add pin high impedance mode support
UPSTREAM: pinctrl: sprd: Use the correct pin output configuration
UPSTREAM: nvmem: sprd: Determine double data programming from device data
UPSTREAM: nvmem: sprd: Optimize the block lock operation
UPSTREAM: nvmem: sprd: Fix the block lock operation
UPSTREAM: dmaengine: sprd: Set request pending flag when DMA controller is active
Linux 5.4.31
mm: mempolicy: require at least one nodeid for MPOL_PREFERRED
padata: always acquire cpu_hotplug_lock before pinst->lock
net: Fix Tx hash bound checking
i2c: i801: Do not add ICH_RES_IO_SMI for the iTCO_wdt device
watchdog: iTCO_wdt: Make ICH_RES_IO_SMI optional
watchdog: iTCO_wdt: Export vendorsupport
tcp: fix TFO SYNACK undo to avoid double-timestamp-undo
IB/hfi1: Ensure pq is not left on waitlist
rxrpc: Fix sendmsg(MSG_WAITALL) handling
iwlwifi: dbg: don't abort if sending DBGC_SUSPEND_RESUME fails
iwlwifi: yoyo: don't add TLV offset when reading FIFOs
iwlwifi: consider HE capability when setting LDPC
net/mlx5e: kTLS, Fix wrong value in record tracker enum
soc: mediatek: knows_txdone needs to be set in Mediatek CMDQ helper
ALSA: hda/ca0132 - Add Recon3Di quirk to handle integrated sound on EVGA X99 Classified motherboard
Revert "dm: always call blk_queue_split() in dm_process_bio()"
power: supply: axp288_charger: Add special handling for HP Pavilion x2 10
extcon: axp288: Add wakeup support
nvmem: check for NULL reg_read and reg_write before dereferencing
mei: me: add cedar fork device ids
coresight: do not use the BIT() macro in the UAPI header
PCI: sysfs: Revert "rescan" file renames
misc: pci_endpoint_test: Avoid using module parameter to determine irqtype
misc: pci_endpoint_test: Fix to support > 10 pci-endpoint-test devices
misc: rtsx: set correct pcr_ops for rts522A
brcmfmac: abort and release host after error
padata: fix uninitialized return value in padata_replace()
XArray: Fix xa_find_next for large multi-index entries
net/mlx5e: kTLS, Fix TCP seq off-by-1 issue in TX resync flow
tools/power turbostat: Fix 32-bit capabilities warning
tools/power turbostat: Fix missing SYS_LPI counter on some Chromebooks
tools/power turbostat: Fix gcc build warnings
drm/amdgpu: fix typo for vcn1 idle check
initramfs: restore default compression behavior
drm/bochs: downgrade pci_request_region failure from error to warning
drm/amd/display: Add link_rate quirk for Apple 15" MBP 2017
kconfig: introduce m32-flag and m64-flag
nvme-rdma: Avoid double freeing of async event data
ANDROID: GKI: update ABI for SCHED_AUTOGROUP removal
ANDROID: GKI: Remove SCHED_AUTOGROUP
ANDROID: fscrypt: fall back to filesystem-layer crypto when needed
ANDROID: block: require drivers to declare supported crypto key type(s)
ANDROID: block: make blk_crypto_start_using_mode() properly check for support
ANDROID: GKI: defconfig: modify debug configs
ANDROID: kbuild: ensure __cfi_check is correctly aligned
FROMLIST: kmod: make request_module() return an error when autoloading is disabled
UPSTREAM: loop: Only freeze block queue when needed.
UPSTREAM: loop: Only change blocksize when needed.
ANDROID: GKI: Fix ABI for CMA page allocation
ANDROID: GKI: mm: add cma pcp list
ANDROID: GKI: cma: redirect page allocation to CMA
ANDROID: Fix wq fp check for CFI builds
ANDROID: Incremental fs: Fix remount
ANDROID: Incremental fs: Protect get_fill_block, and add a field
ANDROID: Incremental fs: Fix crash polling 0 size read_log
ANDROID: Incremental fs: get_filled_blocks: better index_out
UPSTREAM: sched/rt: cpupri_find: Trigger a full search as fallback
UPSTREAM: sched/rt: Remove unnecessary push for unfit tasks
UPSTREAM: sched/rt: Allow pulling unfitting task
UPSTREAM: sched/rt: Optimize cpupri_find() on non-heterogenous systems
UPSTREAM: sched/rt: Re-instate old behavior in select_task_rq_rt()
UPSTREAM: sched/rt: cpupri_find: Implement fallback mechanism for !fit case
ANDROID: staging: ion: move definition of attachment
ANDROID: Incremental fs: Fix four resource bugs
ANDROID: GKI: Removed cuttlefish configs
Conflicts:
drivers/base/power/wakeup.c
drivers/irqchip/irq-gic-v3.c
include/linux/gfp.h
include/linux/highmem.h
include/linux/mmc/host.h
include/linux/mmzone.h
include/uapi/linux/coresight-stm.h
kernel/sched/cpupri.c
kernel/sched/rt.c
mm/page_alloc.c
scripts/module-lto.lds.S
Change-Id: I1845fe7d1d0cd48d91f689565324a794b1a29f10
Signed-off-by: Blagovest Kolenichev <bkolenichev@codeaurora.org>
Enable debug logs to track the subsystem notification for a
peripheral SSR process.
Change-Id: Id8b12fb9b45e07b28a242c47e6c8148fe2154280
Signed-off-by: Manoj Prabhu B <bmanoj@codeaurora.org>