android_kernel_samsung_sm8650/drivers/firmware
Murali Nalajala c92bcbf9f5 firmware: qcom_scm: change the interrupt handler behavior
Currently HLOS is using edge-triggering for the SMC waitq interrupt,
it is normal for the hypervisor to sometimes return 0 flags from
smc_get_wq_ctx. When the flag is "0", driver is assuming that it is
an invalid flag and printing a message which is not required. This
happens if two wakeups occur in close succession, so that the second
occurs while the IRQ handler for the first one is running. The first
wakeup’s IRQ handler will then handle both wakeups (because it must
call smc_get_wq_ctx in a loop), but the IRQ will still be marked
pending again. Then, when the IRQ handler runs the second time,
it has nothing to do.

Also handle the work in top half rather in the bottom half. This is
to reduce the addtional traps to hypervisor which can improve better
handling of interrupts when there are more interrupts that happen
in close succession.

Change-Id: Iff762be69cb43fc910b19b9392d18b1447d42991
Signed-off-by: Murali Nalajala <quic_mnalajal@quicinc.com>
2023-10-11 13:40:52 -07:00
..
arm_ffa FROMLIST: firmware: arm_ffa: Move constants to header file 2022-12-15 16:13:05 +00:00
arm_scmi Merge "firmware: arm_scmi: Add support for plh vendor protocol" 2023-04-26 21:52:07 -07:00
broadcom
cirrus
efi BACKPORT: arm64: unwind: add asynchronous unwind tables to kernel and modules 2023-05-25 15:37:14 -07:00
google firmware: coreboot: framebuffer: Ignore reserved pixel color bits 2023-03-10 09:34:02 +01:00
imx
meson
psci ANDROID: vendor_hooks: psci: add hook to check if cpu is allowed to power off 2023-06-01 09:18:28 +08:00
smccc FROMLIST: firmware/smccc: Call arch-specific hook on discovering KVM services 2022-12-15 10:50:45 +00:00
tegra
xilinx firmware: xilinx: don't make a sleepable memory allocation from an atomic context 2023-03-22 13:33:56 +01:00
arm_scpi.c
arm_sdei.c ANDROID: Snap to android14-6.1-2023-06 2023-08-08 17:02:27 -07:00
dmi_scan.c
dmi-id.c
dmi-sysfs.c firmware: dmi-sysfs: Fix null-ptr-deref in dmi_sysfs_register_handle 2023-03-10 09:33:34 +01:00
edd.c
iscsi_ibft_find.c
iscsi_ibft.c
Kconfig drivers: firmware: Add qcom scm hab driver 2023-03-23 17:20:34 +05:30
Makefile drivers: firmware: Add qcom scm hab driver 2023-03-23 17:20:34 +05:30
memmap.c
mtk-adsp-ipc.c
pcdp.c
pcdp.h
qcom_scm_hab.c drivers: firmware: Add qcom scm hab driver 2023-03-23 17:20:34 +05:30
qcom_scm-legacy.c firmware: qcom-scm: Introduce new locking mechanism for SCM driver 2023-10-11 13:40:21 -07:00
qcom_scm-smc.c firmware: qcom_scm: Modify WAITQ_WAKE handling 2023-10-11 13:40:49 -07:00
qcom_scm.c firmware: qcom_scm: change the interrupt handler behavior 2023-10-11 13:40:52 -07:00
qcom_scm.h firmware: qcom-scm: Introduce new locking mechanism for SCM driver 2023-10-11 13:40:21 -07:00
qemu_fw_cfg.c
qtee_shmbridge_internal.h
qtee_shmbridge.c qseecom : Remove qseecom headers and their usage 2023-06-07 11:55:59 +05:30
raspberrypi.c firmware: raspberrypi: fix possible memory leak in rpi_firmware_probe() 2022-12-31 13:32:40 +01:00
scpi_pm_domain.c
stratix10-rsu.c
stratix10-svc.c firmware: stratix10-svc: fix error handle while alloc/add device failed 2023-03-10 09:33:33 +01:00
sysfb_simplefb.c efi: sysfb_efi: Fix DMI quirks not working for simpledrm 2023-03-30 12:49:22 +02:00
sysfb.c efi: sysfb_efi: Fix DMI quirks not working for simpledrm 2023-03-30 12:49:22 +02:00
ti_sci.c firmware: ti_sci: Fix polled mode during system suspend 2022-12-31 13:31:48 +01:00
ti_sci.h
trusted_foundations.c
turris-mox-rwtm.c