On Wed, 24 Jul 2024 at 06:58, Mayank Rana <quic_mrana@xxxxxxxxxxx> wrote: > > > > On 7/23/2024 7:13 PM, Dmitry Baryshkov wrote: > > On Mon, Jul 15, 2024 at 11:13:28AM GMT, Mayank Rana wrote: > >> Based on previously received feedback, this patch series adds functionalities > >> with existing PCIe host generic ECAM driver (pci-host-generic.c) to get PCIe > >> host root complex functionality on Qualcomm SA8775P auto platform. > >> > >> Previously sent RFC patchset to have separate Qualcomm PCIe ECAM platform driver: > >> https://lore.kernel.org/all/d10199df-5fb3-407b-b404-a0a4d067341f@xxxxxxxxxxx/T/ > >> > >> 1. Interface to allow requesting firmware to manage system resources and performing > >> PCIe Link up (devicetree binding in terms of power domain and runtime PM APIs is used in driver) > >> 2. Performing D3 cold with system suspend and D0 with system resume (usage of GenPD > >> framework based power domain controls these operations) > >> 3. SA8775P is using Synopsys Designware PCIe controller which supports MSI controller. > >> This MSI functionality is used with PCIe host generic driver after splitting existing MSI > >> functionality from pcie-designware-host.c file into pcie-designware-msi.c file. > > > > Please excuse me my ignorance if this is described somewhere. Why are > > you using DWC-specific MSI handling instead of using GIC ITS? > Due to usage of GIC v3 on SA8775p with Gunyah hypervisor, we have > limitation of not supporting GIC ITS > functionality. We considered other approach as usage of free SPIs (not > available, limitation in terms of mismatch between number of SPIs > available with physical GIC vs hypervisor) and extended SPIs (not > supported with GIC hardware). Hence we just left with DWC-specific MSI > controller here for MSI functionality. ... or extend Gunyah to support GIC ITS. I'd say it is a significant deficiency if one can not use GIC ITS on Gunyah platforms. > >> Below architecture is used on Qualcomm SA8775P auto platform to get ECAM compliant PCIe > >> controller based functionality. Here firmware VM based PCIe driver takes care of resource > >> management and performing PCIe link related handling (D0 and D3cold). Linux VM based PCIe > >> host generic driver uses power domain to request firmware VM to perform these operations > >> using SCMI interface. > > > Regards, > Mayank -- With best wishes Dmitry