Skip to content

Conversation

@sgaud-quic
Copy link
Contributor

Name SHA Commits

tech/bus/peripherals ed0f1f8 5
tech/bus/pci/all 5159ecf 8
tech/bus/pci/pwrctl 606cc88 7
tech/debug/hwtracing 4fea1a9 15
tech/mm/drm 7c42242 1
tech/mm/fastrpc 5a94c05 5
tech/mm/video eb43f6a 27
tech/mproc/rpmsg adf3d0a 1
tech/pm/power 1eeed9b 1
tech/all/dt/qcs6490 304deb2 12
tech/all/dt/qcs9100 31667be 7
tech/all/dt/qcs615 0302ddd 13
tech/all/config 6be6a1e 2

eberman-quic and others added 30 commits June 3, 2025 15:26
SoC vendors have different types of resets and are controlled through
various registers. For instance, Qualcomm chipsets can reboot to a
"download mode" that allows a RAM dump to be collected. Another example
is they also support writing a cookie that can be read by bootloader
during next boot. PSCI offers a mechanism, SYSTEM_RESET2, for these
vendor reset types to be implemented without requiring drivers for every
register/cookie.

Add support in PSCI to statically map reboot mode commands from
userspace to a vendor reset and cookie value using the device tree.

A separate initcall is needed to parse the devicetree, instead of using
psci_dt_init because mm isn't sufficiently set up to allocate memory.

Reboot mode framework is close but doesn't quite fit with the
design and requirements for PSCI SYSTEM_RESET2. Some of these issues can
be solved but doesn't seem reasonable in sum:
 1. reboot mode registers against the reboot_notifier_list, which is too
    early to call SYSTEM_RESET2. PSCI would need to remember the reset
    type from the reboot-mode framework callback and use it
    psci_sys_reset.
 2. reboot mode assumes only one cookie/parameter is described in the
    device tree. SYSTEM_RESET2 uses 2: one for the type and one for
    cookie.
 3. psci cpuidle driver already registers a driver against the
    arm,psci-1.0 compatible. Refactoring would be needed to have both a
    cpuidle and reboot-mode driver.

Link: https://lore.kernel.org/r/20250303-arm-psci-system_reset2-vendor-reboots-v9-2-b2cf4a20feda@oss.qualcomm.com
Signed-off-by: Elliot Berman <[email protected]>
Reviewed-by: Florian Fainelli <[email protected]>
Tested-by: Florian Fainelli <[email protected]>
Add bindings to describe vendor-specific reboot modes. Values here
correspond to valid parameters to vendor-specific reset types in PSCI
SYSTEM_RESET2 call.

Link: https://lore.kernel.org/r/20250303-arm-psci-system_reset2-vendor-reboots-v9-1-b2cf4a20feda@oss.qualcomm.com
Reviewed-by: Rob Herring (Arm) <[email protected]>
Signed-off-by: Elliot Berman <[email protected]>
qcm6490-idp firmware supports vendor-defined SYSTEM_RESET2 types.
Describe the reset types: "bootloader" will cause device to reboot and
stop in the bootloader's fastboot mode. "edl" will cause device to
reboot into "emergency download mode", which permits loading images via
the Firehose protocol.

Link: https://lore.kernel.org/r/20250303-arm-psci-system_reset2-vendor-reboots-v9-3-b2cf4a20feda@oss.qualcomm.com
Co-developed-by: Shivendra Pratap <[email protected]>
Signed-off-by: Shivendra Pratap <[email protected]>
Reviewed-by: Konrad Dybcio <[email protected]>
Signed-off-by: Elliot Berman <[email protected]>
…ypes

qcs6490-rb3gen2 firmware supports vendor-defined SYSTEM_RESET2 types.
Describe the reset types: "bootloader" will cause device to reboot and
stop in the bootloader's fastboot mode. "edl" will cause device to
reboot into "emergency download mode", which permits loading images via
the Firehose protocol.

Link: https://lore.kernel.org/r/20250303-arm-psci-system_reset2-vendor-reboots-v9-4-b2cf4a20feda@oss.qualcomm.com
Reviewed-by: Konrad Dybcio <[email protected]>
Signed-off-by: Elliot Berman <[email protected]>
Add GPR(Generic Pack router) node along with
APM(Audio Process Manager) and PRM(Proxy resource
Manager) audio services.

Co-developed-by: Prasad Kumpatla <[email protected]>
Signed-off-by: Prasad Kumpatla <[email protected]>
Link: https://lore.kernel.org/linux-arm-msm/[email protected]/
Reviewed-by: Konrad Dybcio <[email protected]>
Signed-off-by: Mohammad Rafi Shaik <[email protected]>
…ution

Manage clock settings for ADSP solution and document the clock properties
on sc7280 lpass pincontrol node which is required for ADSP based
solution.

Co-developed-by: Prasad Kumpatla <[email protected]>
Signed-off-by: Prasad Kumpatla <[email protected]>
Link: https://lore.kernel.org/linux-arm-msm/[email protected]/
Signed-off-by: Mohammad Rafi Shaik <[email protected]>
Add WSA LPASS macro Codec along with SoundWire controller.

Co-developed-by: Prasad Kumpatla <[email protected]>
Signed-off-by: Prasad Kumpatla <[email protected]>
Reviewed-by: Konrad Dybcio <[email protected]>
Link: https://lore.kernel.org/linux-arm-msm/[email protected]/
Signed-off-by: Mohammad Rafi Shaik <[email protected]>
…lock settings for audioreach

Modify and enable WSA, VA, RX and TX lpass macros and lpass_tlmm clock
settings. For audioreach solution mclk, npl and fsgen clocks are enabled
through the q6prm clock driver.

For qcs6490 RX drives clk from TX CORE which is mandated from DSP side,
Unlike dedicated core clocks. Core TX clk is used for both RX and
WSA as per DSP recommendations.

Co-developed-by: Prasad Kumpatla <[email protected]>
Signed-off-by: Prasad Kumpatla <[email protected]>
Reviewed-by: Konrad Dybcio <[email protected]>
Link: https://lore.kernel.org/linux-arm-msm/[email protected]/
Signed-off-by: Mohammad Rafi Shaik <[email protected]>
…lifier

Add nodes for WSA8830 speakers amplifier on qcs6490-rb3gen2 board.

Enable lpass_wsa and lpass_va macros along with pinctrl settings
for audio.

Co-developed-by: Prasad Kumpatla <[email protected]>
Signed-off-by: Prasad Kumpatla <[email protected]>
Link: https://lore.kernel.org/linux-arm-msm/[email protected]/
Signed-off-by: Mohammad Rafi Shaik <[email protected]>
Add the sound card node with tested playback over WSA8835 speakers
and digital on-board mics.

Co-developed-by: Prasad Kumpatla <[email protected]>
Signed-off-by: Prasad Kumpatla <[email protected]>
Reviewed-by: Konrad Dybcio <[email protected]>
Reviewed-by: Dmitry Baryshkov <[email protected]>
Link: https://lore.kernel.org/linux-arm-msm/[email protected]/
Signed-off-by: Mohammad Rafi Shaik <[email protected]>
…9370 headset codec

Add nodes for WSA8830 speakers and WCD9370 headset codec
on qcm6490-idp board.

Enable lpass macros along with audio support pin controls.

Co-developed-by: Prasad Kumpatla <[email protected]>
Signed-off-by: Prasad Kumpatla <[email protected]>
Link: https://lore.kernel.org/linux-arm-msm/[email protected]/
Signed-off-by: Mohammad Rafi Shaik <[email protected]>
Add the sound card node with tested playback over WSA8835 speakers,
digital on-board mics along with wcd9370 headset playabck and record.

Co-developed-by: Prasad Kumpatla <[email protected]>
Signed-off-by: Prasad Kumpatla <[email protected]>
Link: https://lore.kernel.org/linux-arm-msm/[email protected]/
Signed-off-by: Mohammad Rafi Shaik <[email protected]>
Firmware might hold the DPB buffers for reference in case of sequence
change, so skip destroying buffers for which QUEUED flag is not removed.

Cc: [email protected]
Fixes: 73702f4 ("media: iris: allocate, initialize and queue internal buffers")
Link: https://lore.kernel.org/linux-arm-msm/[email protected]/
Reviewed-by: Vikash Garodia <[email protected]>
Tested-by: Neil Armstrong <[email protected]> # on SM8550-QRD
Tested-by: Neil Armstrong <[email protected]> # on SM8550-HDK
Tested-by: Neil Armstrong <[email protected]> # on SM8650-QRD
Tested-by: Neil Armstrong <[email protected]> # on SM8650-HDK
Tested-by: Vikash Garodia <[email protected]> # on sa8775p-ride
Signed-off-by: Dikshita Agarwal <[email protected]>
Validate all internal buffers queued to firmware are released back to
driver on close. This helps ensure buffer lifecycle correctness and aids
in debugging any resporce leaks.

Cc: [email protected]
Fixes: 73702f4 ("media: iris: allocate, initialize and queue internal buffers")
Link: https://lore.kernel.org/linux-arm-msm/[email protected]/
Tested-by: Neil Armstrong <[email protected]> # on SM8550-QRD
Tested-by: Neil Armstrong <[email protected]> # on SM8550-HDK
Tested-by: Neil Armstrong <[email protected]> # on SM8650-QRD
Tested-by: Neil Armstrong <[email protected]> # on SM8650-HDK
Tested-by: Vikash Garodia <[email protected]> # on sa8775p-ride
Signed-off-by: Dikshita Agarwal <[email protected]>
Update the width, height and buffer size of CAPTURE based on the
resolution set to OUTPUT via VIDIOC_S_FMT. This is required to set the
updated capture resolution to firmware when S_FMT is called only for
OUTPUT.

Cc: [email protected]
Fixes: b530b95 ("media: iris: implement s_fmt, g_fmt and try_fmt ioctls")
Link: https://lore.kernel.org/linux-arm-msm/[email protected]/
Reviewed-by: Bryan O'Donoghue <[email protected]>
Acked-by: Vikash Garodia <[email protected]>
Tested-by: Neil Armstrong <[email protected]> # on SM8550-QRD
Tested-by: Neil Armstrong <[email protected]> # on SM8550-HDK
Tested-by: Neil Armstrong <[email protected]> # on SM8650-QRD
Tested-by: Neil Armstrong <[email protected]> # on SM8650-HDK
Tested-by: Vikash Garodia <[email protected]> # on sa8775p-ride
Signed-off-by: Dikshita Agarwal <[email protected]>
…econfig

During reconfig, the firmware sends the resolution aligned to 8 bytes.
If the driver sends the same resolution back to the firmware the resolution
will be aligned to 16 bytes not 8.

The alignment mismatch would then subsequently cause the firmware to
send another redundant sequence change event.

Fix this by not setting the resolution property during reconfig.

Cc: [email protected]
Fixes: 3a19d7b ("media: iris: implement set properties to firmware during streamon")
Link: https://lore.kernel.org/linux-arm-msm/[email protected]/
Reviewed-by: Bryan O'Donoghue <[email protected]>
Tested-by: Neil Armstrong <[email protected]> # on SM8550-QRD
Tested-by: Neil Armstrong <[email protected]> # on SM8550-HDK
Tested-by: Neil Armstrong <[email protected]> # on SM8650-QRD
Tested-by: Neil Armstrong <[email protected]> # on SM8650-HDK
Tested-by: Vikash Garodia <[email protected]> # on sa8775p-ride
Signed-off-by: Dikshita Agarwal <[email protected]>
Currently, port check enforces that session property response must
arrive only on the BITSTREAM port. However, firmware can send some
responses on other port as well.

Remove the strict port validation to correctly handle session property
responses from the firmware.

Cc: [email protected]
Fixes: 3a19d7b ("media: iris: implement set properties to firmware during streamon")
Link: https://lore.kernel.org/linux-arm-msm/[email protected]/
Acked-by: Vikash Garodia <[email protected]>
Tested-by: Neil Armstrong <[email protected]> # on SM8550-QRD
Tested-by: Neil Armstrong <[email protected]> # on SM8550-HDK
Tested-by: Neil Armstrong <[email protected]> # on SM8650-QRD
Tested-by: Neil Armstrong <[email protected]> # on SM8650-HDK
Tested-by: Vikash Garodia <[email protected]> # on sa8775p-ride
Signed-off-by: Dikshita Agarwal <[email protected]>
…t state

The current check only considers the core error state before allowing
writes to the HFI queues. However, the core can also transition to the
deinit state due to a system error triggered by the response thread.
In such cases, writing to the HFI queues should not be allowed.

Fix this by adding a check for the core deinit state, ensuring that
writes are rejected when core is not in a valid state.

Cc: [email protected]
Fixes: fb583a2 ("media: iris: introduce host firmware interface with necessary hooks")
Link: https://lore.kernel.org/linux-arm-msm/[email protected]/
Acked-by: Vikash Garodia <[email protected]>
Tested-by: Neil Armstrong <[email protected]> # on SM8550-QRD
Tested-by: Neil Armstrong <[email protected]> # on SM8550-HDK
Tested-by: Neil Armstrong <[email protected]> # on SM8650-QRD
Tested-by: Neil Armstrong <[email protected]> # on SM8650-HDK
Reviewed-by: Bryan O'Donoghue <[email protected]>
Tested-by: Vikash Garodia <[email protected]> # on sa8775p-ride
Signed-off-by: Dikshita Agarwal <[email protected]>
Remove the check for non-zero number of v4l2 controls as some SOCs might
not expose any capability which requires v4l2 control.

Cc: [email protected]
Fixes: 33be1dd ("media: iris: implement iris v4l2_ctrl_ops")
Link: https://lore.kernel.org/linux-arm-msm/[email protected]/
Tested-by: Neil Armstrong <[email protected]> # on SM8550-QRD
Tested-by: Neil Armstrong <[email protected]> # on SM8550-HDK
Tested-by: Neil Armstrong <[email protected]> # on SM8650-QRD
Tested-by: Neil Armstrong <[email protected]> # on SM8650-HDK
Tested-by: Vikash Garodia <[email protected]> # on sa8775p-ride
Signed-off-by: Dikshita Agarwal <[email protected]>
HFI_PROPERTY_CONFIG_VDEC_POST_LOOP_DEBLOCKER is deprecated and no longer
supported on current firmware, remove setting the same to firmware.

Cc: [email protected]
Fixes: 7986525 ("media: iris: enable video driver probe of SM8250 SoC")
Link: https://lore.kernel.org/linux-arm-msm/[email protected]/
Acked-by: Vikash Garodia <[email protected]>
Tested-by: Neil Armstrong <[email protected]> # on SM8550-QRD
Tested-by: Neil Armstrong <[email protected]> # on SM8550-HDK
Tested-by: Neil Armstrong <[email protected]> # on SM8650-QRD
Tested-by: Neil Armstrong <[email protected]> # on SM8650-HDK
Tested-by: Vikash Garodia <[email protected]> # on sa8775p-ride
Signed-off-by: Dikshita Agarwal <[email protected]>
The function pointers responsible for setting firmware properties were
never initialized in the instance capability structure, causing it to
remain NULL. As a result, the firmware properties were not being set
correctly.

Fix this by properly assigning the function pointers from the core
capability to the instance capability, ensuring that the properties are
correctly applied to the firmware.

Cc: [email protected]
Fixes: 3a19d7b ("media: iris: implement set properties to firmware during streamon")
Link: https://lore.kernel.org/linux-arm-msm/[email protected]/
Acked-by: Vikash Garodia <[email protected]>
Reviewed-by: Bryan O'Donoghue <[email protected]>
Tested-by: Neil Armstrong <[email protected]> # on SM8550-QRD
Tested-by: Neil Armstrong <[email protected]> # on SM8550-HDK
Tested-by: Neil Armstrong <[email protected]> # on SM8650-QRD
Tested-by: Neil Armstrong <[email protected]> # on SM8650-HDK
Tested-by: Vikash Garodia <[email protected]> # on sa8775p-ride
Signed-off-by: Dikshita Agarwal <[email protected]>
A warning reported by smatch indicated a possible null pointer
dereference where one of the arguments to API
"iris_hfi_gen2_handle_system_error" could sometimes be null.

To fix this, add a check to validate that the argument passed is not
null before accessing its members.

Cc: [email protected]
Fixes: fb583a2 ("media: iris: introduce host firmware interface with necessary hooks")
Reported-by: Dan Carpenter <[email protected]>
Closes: https://lore.kernel.org/linux-media/[email protected]/
Link: https://lore.kernel.org/linux-arm-msm/[email protected]/
Acked-by: Vikash Garodia <[email protected]>
Reviewed-by: Bryan O'Donoghue <[email protected]>
Tested-by: Neil Armstrong <[email protected]> # on SM8550-QRD
Tested-by: Neil Armstrong <[email protected]> # on SM8550-HDK
Tested-by: Neil Armstrong <[email protected]> # on SM8650-QRD
Tested-by: Neil Armstrong <[email protected]> # on SM8650-HDK
Tested-by: Vikash Garodia <[email protected]> # on sa8775p-ride
Signed-off-by: Dikshita Agarwal <[email protected]>
Correct a typo from "dpeth" to "depth".

Cc: [email protected]
Fixes: 3a19d7b ("media: iris: implement set properties to firmware during streamon")
Link: https://lore.kernel.org/linux-arm-msm/[email protected]/
Acked-by: Vikash Garodia <[email protected]>
Reviewed-by: Bryan O'Donoghue <[email protected]>
Tested-by: Neil Armstrong <[email protected]> # on SM8550-QRD
Tested-by: Neil Armstrong <[email protected]> # on SM8550-HDK
Tested-by: Neil Armstrong <[email protected]> # on SM8650-QRD
Tested-by: Neil Armstrong <[email protected]> # on SM8650-HDK
Tested-by: Vikash Garodia <[email protected]> # on sa8775p-ride
Signed-off-by: Dikshita Agarwal <[email protected]>
…pletion

Currently, two types of flush commands are queued to the firmware,
the first flush queued as part of sequence change, does not wait for a
response, while the second flush queued as part of stop, expects a
completion response before proceeding further.

Due to timing issue, the flush response corresponding to the first
command could arrive after the second flush is issued. This casuses the
driver to incorrectly assume that the second flush has completed,
leading to the premature signaling of flush_completion.

To address this, introduce a counter to track the number of pending
flush responses and signal flush completion only when all expected
responses are received.

Cc: [email protected]
Fixes: 11712ce ("media: iris: implement vb2 streaming ops")
Link: https://lore.kernel.org/linux-arm-msm/[email protected]/
Reviewed-by: Vikash Garodia <[email protected]>
Tested-by: Neil Armstrong <[email protected]> # on SM8550-QRD
Tested-by: Neil Armstrong <[email protected]> # on SM8550-HDK
Tested-by: Neil Armstrong <[email protected]> # on SM8650-QRD
Tested-by: Neil Armstrong <[email protected]> # on SM8650-HDK
Tested-by: Vikash Garodia <[email protected]> # on sa8775p-ride
Signed-off-by: Dikshita Agarwal <[email protected]>
…on change

When the resolution changes, the driver internally updates the width and
height, but the client continue to queue buffers with the older
resolution until the last flag is received. This results in a mismatch
when the buffers are prepared, causing failure due to outdated size.

Introduce a check to prevent size validation during buffer preparation
if a resolution reconfiguration is in progress, to handle this.

Cc: [email protected]
Fixes: 17f2a48 ("media: iris: implement vb2 ops for buf_queue and firmware response")
Link: https://lore.kernel.org/linux-arm-msm/[email protected]/
Reviewed-by: Vikash Garodia <[email protected]>
Tested-by: Neil Armstrong <[email protected]> # on SM8550-QRD
Tested-by: Neil Armstrong <[email protected]> # on SM8550-HDK
Tested-by: Neil Armstrong <[email protected]> # on SM8650-QRD
Tested-by: Neil Armstrong <[email protected]> # on SM8650-HDK
Tested-by: Vikash Garodia <[email protected]> # on sa8775p-ride
Signed-off-by: Dikshita Agarwal <[email protected]>
…ith 0 filled length

Firmware sends capture buffers with 0 filled length which are not to be
displayed and should be dropped by client.
To achieve the same, add V4L2_BUF_FLAG_ERROR to such buffers by making
sure:
- These 0 length buffers are not returned as result of flush.
- Its not a buffer with LAST flag enabled which will also have 0 filled
  length.

Cc: [email protected]
Fixes: d091007 ("media: iris: add support for drain sequence")
Link: https://lore.kernel.org/linux-arm-msm/[email protected]/
Acked-by: Vikash Garodia <[email protected]>
Tested-by: Neil Armstrong <[email protected]> # on SM8550-QRD
Tested-by: Neil Armstrong <[email protected]> # on SM8550-HDK
Tested-by: Neil Armstrong <[email protected]> # on SM8650-QRD
Tested-by: Neil Armstrong <[email protected]> # on SM8650-HDK
Tested-by: Vikash Garodia <[email protected]> # on sa8775p-ride
Signed-off-by: Dikshita Agarwal <[email protected]>
Add a condition to skip the flush operation during the first sequence
change event. At this point, the capture queue is not streaming, making
the flush unnecessary.

Cc: [email protected]
Fixes: 84e17ad ("media: iris: add support for dynamic resolution change")
Link: https://lore.kernel.org/linux-arm-msm/[email protected]/
Acked-by: Vikash Garodia <[email protected]>
Tested-by: Neil Armstrong <[email protected]> # on SM8550-QRD
Tested-by: Neil Armstrong <[email protected]> # on SM8550-HDK
Tested-by: Neil Armstrong <[email protected]> # on SM8650-QRD
Tested-by: Neil Armstrong <[email protected]> # on SM8650-HDK
Tested-by: Vikash Garodia <[email protected]> # on sa8775p-ride
Signed-off-by: Dikshita Agarwal <[email protected]>
…completion

Currently, The flush completion signal is being re-initialized even
though no response is expected during a sequence change.

Simplify the code by removing re-initialization of flush completion
signal as it is redundant.

Cc: [email protected]
Fixes: 84e17ad ("media: iris: add support for dynamic resolution change")
Link: https://lore.kernel.org/linux-arm-msm/[email protected]/
Acked-by: Vikash Garodia <[email protected]>
Tested-by: Neil Armstrong <[email protected]> # on SM8550-QRD
Tested-by: Neil Armstrong <[email protected]> # on SM8550-HDK
Tested-by: Neil Armstrong <[email protected]> # on SM8650-QRD
Tested-by: Neil Armstrong <[email protected]> # on SM8650-HDK
Tested-by: Vikash Garodia <[email protected]> # on sa8775p-ride
Signed-off-by: Dikshita Agarwal <[email protected]>
Firmware attach DATACORRUPT/DROP buffer flags for the frames which
needs to be dropped, handle it by setting VB2_BUF_STATE_ERROR for these
buffers before calling buf_done.

Link: https://lore.kernel.org/linux-arm-msm/[email protected]/
Reviewed-by: Bryan O'Donoghue <[email protected]>
Acked-by: Vikash Garodia <[email protected]>
Tested-by: Neil Armstrong <[email protected]> # on SM8550-QRD
Tested-by: Neil Armstrong <[email protected]> # on SM8550-HDK
Tested-by: Neil Armstrong <[email protected]> # on SM8650-QRD
Tested-by: Neil Armstrong <[email protected]> # on SM8650-HDK
Tested-by: Vikash Garodia <[email protected]> # on sa8775p-ride
Signed-off-by: Dikshita Agarwal <[email protected]>
Firmware sends the picture type as NO_SHOW for frames which are not
supposed to be displayed, add handling for the same in driver to drop
them.

Link: https://lore.kernel.org/linux-arm-msm/[email protected]/
Acked-by: Vikash Garodia <[email protected]>
Reviewed-by: Bryan O'Donoghue <[email protected]>
Tested-by: Neil Armstrong <[email protected]> # on SM8550-QRD
Tested-by: Neil Armstrong <[email protected]> # on SM8550-HDK
Tested-by: Neil Armstrong <[email protected]> # on SM8650-QRD
Tested-by: Neil Armstrong <[email protected]> # on SM8650-HDK
Tested-by: Vikash Garodia <[email protected]> # on sa8775p-ride
Signed-off-by: Dikshita Agarwal <[email protected]>
shuaz-zhang and others added 28 commits July 8, 2025 16:58
…enerate one coredump file

Multiple triggers of SSR only first generate coredump file,
duo to memcoredump_flag no clear.

add clear coredump flag when ssr completed.

Signed-off-by: Shuai Zhang <[email protected]>
Video node enables video on Qualcomm SA8775P platform.

Link: https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux.git/commit/?h=for-next&id=7bc95052c64f45c24affbb7636489dc9a1c2a982
Reviewed-by: Bryan O'Donoghue <[email protected]>
Reviewed-by: Dmitry Baryshkov <[email protected]>
Reviewed-by: Konrad Dybcio <[email protected]>
Signed-off-by: Vikash Garodia <[email protected]>
Signed-off-by: Dikshita Agarwal <[email protected]>
Enable video nodes on the sa8775p-ride board and point to the
appropriate firmware files.

Link: https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux.git/commit/?h=for-next&id=d33ad6600453fbcf6a9275864ad120079bd540da
Reviewed-by: Dmitry Baryshkov <[email protected]>
Signed-off-by: Vikash Garodia <[email protected]>
Signed-off-by: Dikshita Agarwal <[email protected]>
DPU, DisplayPort and eDP PHY

Add devicetree changes to enable MDSS display-subsystem,
display-controller(DPU), DisplayPort controller and eDP PHY for
Qualcomm QCS8300 platform.

Link:https://lore.kernel.org/all/[email protected]/
Signed-off-by: Yongxing Mou <[email protected]>
Enable DPTX0 along with their corresponding PHYs for
qcs8300-ride platform.

Link:https://lore.kernel.org/all/[email protected]/
Signed-off-by: Yongxing Mou <[email protected]>
Add a device tree binding for the Toshiba TC9563 PCIe switch, which
provides an Ethernet MAC integrated to the 3rd downstream port and
two downstream PCIe ports.

Link: https://lore.kernel.org/lkml/[email protected]/
Signed-off-by: Krishna Chaitanya Chundru <[email protected]>
Reviewed-by: Rob Herring (Arm) <[email protected]>
First controller driver probes, enables link training and scans the
bus. When the PCI bridge is found, its child DT nodes will be scanned
and pwrctrl devices will be created if needed. By the time pwrctrl
driver probe gets called link training is already enabled by controller
driver.

Certain devices like TC956x which uses PCI pwrctl framework needs to
configure the device before PCI link is up.

As the controller driver already enables link training as part of
its probe, the moment device is powered on, controller and device
participates in the link training and link can come up immediately
and maynot have time to configure the device.

So we need to stop the link training by using stop_link() and enable
them back after device is configured by using start_link().

Link: https://lore.kernel.org/lkml/[email protected]/
Signed-off-by: Krishna Chaitanya Chundru <[email protected]>
…or dwc glue drivers

Add host_start_link() and host_stop_link() functions to dwc glue drivers to
register with start_link() and stop_link() of pci ops, allowing for better
control over the link initialization and shutdown process.

Link: https://lore.kernel.org/lkml/[email protected]/
Signed-off-by: Krishna Chaitanya Chundru <[email protected]>
Implement stop_link() and  start_link() function op for dwc drivers.

Link: https://lore.kernel.org/lkml/[email protected]/
Signed-off-by: Krishna Chaitanya Chundru <[email protected]>
…nk()

Add support for host_stop_link() and host_start_link() for switches like
TC956x, which require configuration before the PCIe link is established.

Assert PERST# and disable LTSSM bit to prevent the PCIe controller from
participating in link training during host_stop_link(). De-assert PERST#
and enable LTSSM bit during host_start_link().

Introduce ltssm_disable function op to stop link training.
For the switches like TC956x, which needs to configure it before
the PCIe link is established.

Link: https://lore.kernel.org/lkml/[email protected]/
Signed-off-by: Krishna Chaitanya Chundru <[email protected]>
…e link is active

Introduce a common API to check if the PCIe link is active, replacing
duplicate code in multiple locations.

Link: https://lore.kernel.org/lkml/[email protected]/
Signed-off-by: Krishna Chaitanya Chundru <[email protected]>
Reviewed-by: Lukas Wunner <[email protected]>
TC9563 is a PCIe switch which has one upstream and three downstream
ports. To one of the downstream ports ethernet MAC is connected as endpoint
device. Other two downstream ports are supposed to connect to external
device. One Host can connect to TC9563 by upstream port. TC9563 switch
needs to be configured after powering on and before PCIe link was up.

The PCIe controller driver already enables link training at the host side
even before this driver probe happens, due to this when driver enables
power to the switch it participates in the link training and PCIe link
may come up before configuring the switch through i2c. Once the link is
up the configuration done through i2c will not have any affect.To prevent
the host from participating in link training, disable link training on the
host side to ensure the link does not come up before the switch is
configured via I2C.

Based up on dt property and type of the port, tc9563 is configured
through i2c.

Link: https://lore.kernel.org/lkml/[email protected]/
Signed-off-by: Krishna Chaitanya Chundru <[email protected]>
Reviewed-by: Bjorn Andersson <[email protected]>
Reviewed-by: Bartosz Golaszewski <[email protected]>
Adding merge log file and topic_SHA1 file

Signed-off-by: Salendarsingh Gaud <[email protected]>
@Komal-Bajaj Komal-Bajaj merged commit 79f771c into qualcomm-linux:qcom-next-staging Jul 11, 2025
13 of 18 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.