Skip to content
Merged
Changes from 1 commit
Commits
Show all changes
96 commits
Select commit Hold shift + click to select a range
1eeed9b
FROMLIST: firmware: psci: Read and use vendor reset types
eberman-quic Mar 3, 2025
757e96f
FROMLIST: dt-bindings: arm: Document reboot mode magic
eberman-quic Mar 3, 2025
a1b6bab
FROMLSIT: arm64: dts: qcom: qcm6490-idp: Add PSCI SYSTEM_RESET2 types
eberman-quic Mar 3, 2025
e2df32b
FROMLIST: arm64: dts: qcom: qcs6490-rb3gen2: Add PSCI SYSTEM_RESET2 t…
eberman-quic Mar 3, 2025
09c3a47
FROMLIST: arm64: dts: qcom: qcs6490-audioreach: Add gpr node
mohsRafi May 27, 2025
a78d9c3
FROMLIST: ASoC: dt-bindings: qcom: Manage clock settings for ADSP sol…
mohsRafi May 27, 2025
5b9500a
FROMLIST: arm64: dts: qcom: sc7280: Add WSA SoundWire and LPASS support
mohsRafi May 27, 2025
8587f2a
FROMLIST: arm64: dts: qcom: qcs6490-audioreach: Modify LPASS macros c…
mohsRafi May 27, 2025
7639c22
FROMLIST: arm64: dts: qcom: qcs6490-rb3gen2: Add WSA8830 speakers amp…
mohsRafi May 27, 2025
24bba55
FROMLIST: arm64: dts: qcom: qcs6490-rb3gen2: Add sound card
mohsRafi May 27, 2025
2ecf060
FROMLIST: arm64: dts: qcom: qcm6490-idp: Add WSA8830 speakers and WCD…
mohsRafi May 27, 2025
e9c1cce
FROMLIST: arm64: dts: qcom: qcm6490-idp: Add sound card
mohsRafi May 27, 2025
6fd9d89
FROMLIST: media: iris: Skip destroying internal buffer if not dequeued
May 9, 2025
f29bf8b
FROMLIST: media: iris: Verify internal buffer release on close
May 9, 2025
31a6cff
FROMLIST: media: iris: Update CAPTURE format info based on OUTPUT format
May 9, 2025
8d8bbd3
FROMLIST: media: iris: Avoid updating frame size to firmware during r…
May 9, 2025
b0e36e7
FROMLIST: media: iris: Drop port check for session property response
May 9, 2025
4f568e5
FROMLIST: media: iris: Prevent HFI queue writes when core is in deini…
May 9, 2025
0c017ac
FROMLIST: media: iris: Remove error check for non-zero v4l2 controls
May 9, 2025
10b94e6
FROMLIST: media: iris: Remove deprecated property setting to firmware
May 9, 2025
ee6f9e9
FROMLIST: media: iris: Fix missing function pointer initialization
May 9, 2025
0300feb
FROMLIST: media: iris: Fix NULL pointer dereference
May 9, 2025
2a076db
FROMLIST: media: iris: Fix typo in depth variable
May 9, 2025
0e1b74e
FROMLIST: media: iris: Track flush responses to prevent premature com…
May 9, 2025
7c2ba11
FROMLIST: media: iris: Fix buffer preparation failure during resoluti…
May 9, 2025
1dee31f
FROMLIST: media: iris: Send V4L2_BUF_FLAG_ERROR for capture buffers w…
May 9, 2025
10ff8be
FROMLIST: media: iris: Skip flush on first sequence change
May 9, 2025
cc859b0
FROMLIST: media: iris: Remove unnecessary re-initialization of flush …
May 9, 2025
ef18b36
FROMLIST: media: iris: Add handling for corrupt and drop frames
May 9, 2025
d8ee749
FROMLIST: media: iris: Add handling for no show frames
May 9, 2025
c908282
FROMLIST: media: iris: Improve last flag handling
May 9, 2025
c5f359a
FROMLIST: media: iris: Remove redundant buffer count check in stream off
May 9, 2025
8681664
FROMLIST: media: iris: Add a comment to explain usage of MBPS
May 9, 2025
5bec609
FROMLIST: media: iris: Add HEVC and VP9 formats for decoder
May 9, 2025
d5780ea
FROMLIST: media: iris: Add platform capabilities for HEVC and VP9 dec…
May 9, 2025
0e73700
FROMLIST: media: iris: Set mandatory properties for HEVC and VP9 deco…
May 9, 2025
afa67f4
FROMLIST: media: iris: Add internal buffer calculation for HEVC and V…
May 9, 2025
8e7bd48
FROMLIST: media: iris: Add codec specific check for VP9 decoder drain…
May 9, 2025
2e651c5
FROMLIST: dt-bindings: arm: Add label in the coresight components
Feb 26, 2025
bcc2eb5
FROMLIST: coresight: Add label sysfs node support
Feb 26, 2025
6ae7b87
FROMLIST: dt-bindings: arm: Add CoreSight QMI component description
Apr 24, 2025
0dcc705
FROMLIST: coresight: Add coresight QMI driver
Apr 24, 2025
bf06daf
FROMLIST: dt-bindings: arm: Add qcom,qmi-id for remote etm
Apr 24, 2025
c39e88d
FROMLIST: coresight: Add remote etm support
Apr 24, 2025
df83755
FROMLIST: arm64: dts: qcom: msm8996: Add coresight qmi node
Apr 24, 2025
2166c7a
FROMLIST: dt-bindings: arm: Add support for Coresight TGU trace
Apr 23, 2025
efff458
FROMLIST: coresight: Add coresight TGU driver
Apr 23, 2025
a8d8c11
FROMLIST: coresight-tgu: Add signal priority support
Apr 23, 2025
ae78def
FROMLIST: coresight-tgu: Add TGU decode support
Apr 23, 2025
37fde7d
FROMLIST: coresight-tgu: add support to configure next action
Apr 23, 2025
7468662
FROMLIST: coresight-tgu: add timer/counter functionality for TGU
Apr 23, 2025
efd272e
FROMLIST: coresight-tgu: add reset node to initialize
Apr 23, 2025
4c69f68
FROMLIST: PCI: qcom: reshuffle reset logic in 2_7_0 .init
konradybcio Mar 27, 2024
1103f9c
FROMLIST: PCI: qcom: properly implement RC shutdown/power up
konradybcio Mar 27, 2024
dd11b10
QCLINUX: defconfig: Introduce prune.config fragment
May 29, 2025
bf38ae7
FROMLIST: dt-bindings: qcom: se-common: Add QUP Peripheral-specific p…
vdadhani Jun 12, 2025
32c7d58
FROMLIST: soc: qcom: geni-se: Add support to load QUP SE Firmware via…
vdadhani Jun 12, 2025
c91a567
FROMLIST: i2c: qcom-geni: Load i2c qup Firmware from linux side
Oct 14, 2024
0389bab
FROMLIST: spi: geni-qcom: Load spi qup Firmware from linux side
Oct 14, 2024
ed0f1f8
FROMLIST: serial: qcom-geni: Load UART qup Firmware from linux side
Oct 14, 2024
adf3d0a
FROMLIST: rpmsg: glink: smem: validate index before fifo read write
quic-deesin Dec 1, 2023
7479b77
FROMLIST: misc: fastrpc: Add NULL check to fastrpc_buf_free to preven…
ekanshibu May 13, 2025
12ea159
FROMLIST: misc: fastrpc: Move all remote heap allocations to a new list
ekanshibu May 13, 2025
419cf1f
FROMLIST: misc: fastrpc: Fix initial memory allocation for Audio PD m…
ekanshibu May 13, 2025
4006038
FROMLIST: misc: fastrpc: Remove buffer from list prior to unmap opera…
ekanshibu May 13, 2025
5a94c05
FROMLIST: misc: fastrpc: Add missing unmapping user-requested remote …
ekanshibu May 13, 2025
af64cb8
FROMLIST: arm64: dts: qcom: sa8775p-ride: Add PSCI SYSTEM_RESET2 types
eberman-quic Mar 3, 2025
b929811
FROMLIST: dt-bindings: arm: qcom: Add bindings for QCS9075 SOC based …
Jun 12, 2025
c8ab3ca
FROMLIST: arm64: dts: qcom: Add qcs9075 IoT SOC devicetree
Jun 12, 2025
a9098fc
FROMLIST: arm64: dts: qcom: Add support for qcs9075 IQ-9075-EVK
Jun 12, 2025
d53874c
FROMLIST: arm64: dts: qcom: sa8775p: pmic: enable rtc
tingguoc May 29, 2025
6cc4b79
FROMGIT: arm64: dts: qcom: sa8775p: add EPSS l3 interconnect provider
Apr 15, 2025
31667be
FROMGIT: arm64: dts: qcom: sa8775p: Add CPU OPP tables to scale DDR/L3
Apr 15, 2025
340bb43
FROMLIST: arm64: dts: qcom: qcs615: add ethernet node
yijiyang Jan 21, 2025
edfbbef
FROMLIST: arm64: dts: qcom: qcs615-ride: Enable ethernet node
yijiyang Jan 21, 2025
b620865
FROMLIST: arm64: dts: qcom: qcs615-ride: Enable RX programmable swap …
yijiyang Dec 25, 2024
9bd4b23
FROMLIST: dt-bindings: remoteproc: qcom,sm8150-pas: Document QCS615 r…
lijuangg May 26, 2025
fde175f
FROMGIT: dt-bindings: soc: qcom: add qcom,qcs615-imem compatible
lijuangg May 26, 2025
04e1213
FROMGIT: arm64: dts: qcom: qcs615: Add mproc node for SEMP2P
KyleDengChunkai May 26, 2025
646297d
FROMGIT: arm64: dts: qcom: qcs615: Add IMEM and PIL info region
lijuangg May 26, 2025
32541e0
FROMGIT: arm64: dts: qcom: qcs615: add ADSP and CDSP nodes
lijuangg May 26, 2025
abf2dd9
FROMGIT: arm64: dts: qcom: qcs615-ride: enable remoteprocs
lijuangg May 26, 2025
7c42242
FROMLIST: drivers: gpu: drm: msm: registers: improve reproducibility
reatmon-ti May 24, 2025
73e0fc6
Merge remote-tracking branch tech/bus/peripherals into qcom-next
sgaud-quic Jun 20, 2025
ad31ea5
Merge remote-tracking branch tech/bus/pci/all into qcom-next
sgaud-quic Jun 20, 2025
34affd8
Merge remote-tracking branch tech/debug/hwtracing into qcom-next
sgaud-quic Jun 20, 2025
8a2334c
Merge remote-tracking branch tech/mm/drm into qcom-next
sgaud-quic Jun 20, 2025
0e10011
Merge remote-tracking branch tech/mm/fastrpc into qcom-next
sgaud-quic Jun 20, 2025
dd08e67
Merge remote-tracking branch tech/mm/video into qcom-next
sgaud-quic Jun 20, 2025
aa7250f
Merge remote-tracking branch tech/mproc/rpmsg into qcom-next
sgaud-quic Jun 20, 2025
8131eab
Merge remote-tracking branch tech/pm/power into qcom-next
sgaud-quic Jun 20, 2025
3a2c5fe
Merge remote-tracking branch tech/all/dt/qcs6490 into qcom-next
sgaud-quic Jun 20, 2025
0d2b5d3
Merge remote-tracking branch tech/all/dt/qcs9100 into qcom-next
sgaud-quic Jun 20, 2025
8453d18
Merge remote-tracking branch tech/all/dt/qcs615 into qcom-next
sgaud-quic Jun 20, 2025
9f50dd6
Merge remote-tracking branch tech/all/config into qcom-next
sgaud-quic Jun 20, 2025
e2862f5
Add qcom-next log files for 20250620
sgaud-quic Jun 20, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
105 changes: 105 additions & 0 deletions drivers/firmware/psci/psci.c
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,14 @@ static u32 psci_cpu_suspend_feature;
static bool psci_system_reset2_supported;
static bool psci_system_off2_hibernate_supported;

struct psci_reset_param {
const char *mode;
u32 reset_type;
u32 cookie;
};
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These patches were posted in March. Lorenzo requested a certain rework to use reboot-mode framework, etc. Why are these patches still present in our tree, they are nowhere near to be upstream.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These patches were posted in March. Lorenzo requested a certain rework to use reboot-mode framework, etc. Why are these patches still present in our tree, they are nowhere near to be upstream.

Let's follow the policy of 2 merge window. So we would take a call on next -rc1. Tech champion and upstream mentor expected to come up with alternatives.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@shashim-quic when can we expect the next iteration of the patchset?

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@shashim-quic when can we expect the next iteration of the patchset?

There was a discussion with Lorenzo and others to discuss QC use case and
possibilities. They continue to have opinion to making it generic, even
beyond arm.

From present outlook doesn't look like it would materialize in this shape, so
alternatives are being discussed. Will request @quic-kaushalk and @quicAspratap
to get in touch with you and Konrad.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's allow this for now. There is going to be a larger cleanup of FROMLIST patches when we review at 6.17-rc1 in a few weeks where this will get dropped following the 2 merge window policy to refresh patches.

static struct psci_reset_param *psci_reset_params __ro_after_init;
static size_t num_psci_reset_params __ro_after_init;

static inline bool psci_has_ext_power_state(void)
{
return psci_cpu_suspend_feature &
Expand Down Expand Up @@ -306,9 +314,39 @@ static int get_set_conduit_method(const struct device_node *np)
return 0;
}

static int psci_vendor_system_reset2(const char *cmd)
{
unsigned long ret;
size_t i;

for (i = 0; i < num_psci_reset_params; i++) {
if (!strcmp(psci_reset_params[i].mode, cmd)) {
ret = invoke_psci_fn(PSCI_FN_NATIVE(1_1, SYSTEM_RESET2),
psci_reset_params[i].reset_type,
psci_reset_params[i].cookie, 0);
/*
* if vendor reset fails, log it and fall back to
* architecture reset types
*/
pr_err("failed to perform reset \"%s\": %ld\n", cmd,
(long)ret);
return 0;
}
}

return -ENOENT;
}

static int psci_sys_reset(struct notifier_block *nb, unsigned long action,
void *data)
{
/*
* try to do the vendor system_reset2
* If there wasn't a matching command, fall back to architectural resets
*/
if (data && !psci_vendor_system_reset2(data))
return NOTIFY_DONE;

if ((reboot_mode == REBOOT_WARM || reboot_mode == REBOOT_SOFT) &&
psci_system_reset2_supported) {
/*
Expand Down Expand Up @@ -795,6 +833,73 @@ static const struct of_device_id psci_of_match[] __initconst = {
{},
};

#define REBOOT_PREFIX "mode-"

static int __init psci_init_system_reset2_modes(void)
{
const size_t len = strlen(REBOOT_PREFIX);
struct psci_reset_param *param;
struct device_node *psci_np __free(device_node) = NULL;
struct device_node *np __free(device_node) = NULL;
struct property *prop;
size_t count = 0;
u32 magic[2];
int num;

if (!psci_system_reset2_supported)
return 0;

psci_np = of_find_matching_node(NULL, psci_of_match);
if (!psci_np)
return 0;

np = of_find_node_by_name(psci_np, "reset-types");
if (!np)
return 0;

for_each_property_of_node(np, prop) {
if (strncmp(prop->name, REBOOT_PREFIX, len))
continue;
num = of_property_count_u32_elems(np, prop->name);
if (num != 1 && num != 2)
continue;

count++;
}

param = psci_reset_params =
kcalloc(count, sizeof(*psci_reset_params), GFP_KERNEL);
if (!psci_reset_params)
return -ENOMEM;

for_each_property_of_node(np, prop) {
if (strncmp(prop->name, REBOOT_PREFIX, len))
continue;

num = of_property_read_variable_u32_array(np, prop->name, magic,
1, ARRAY_SIZE(magic));
if (num < 0) {
pr_warn("Failed to parse vendor reboot mode %s\n",
param->mode);
kfree_const(param->mode);
continue;
}

param->mode = kstrdup_const(prop->name + len, GFP_KERNEL);
if (!param->mode)
continue;

/* Force reset type to be in vendor space */
param->reset_type = PSCI_1_1_RESET_TYPE_VENDOR_START | magic[0];
param->cookie = num > 1 ? magic[1] : 0;
param++;
num_psci_reset_params++;
}

return 0;
}
arch_initcall(psci_init_system_reset2_modes);

int __init psci_dt_init(void)
{
struct device_node *np;
Expand Down