/kernel/linux/linux-6.6/drivers/net/wwan/iosm/ |
H A D | iosm_ipc_pcie.c | 22 static void ipc_pcie_resources_release(struct iosm_pcie *ipc_pcie) in ipc_pcie_resources_release() argument 25 ipc_release_irq(ipc_pcie); in ipc_pcie_resources_release() 28 iounmap(ipc_pcie->scratchpad); in ipc_pcie_resources_release() 31 iounmap(ipc_pcie->ipc_regs); in ipc_pcie_resources_release() 37 pci_release_regions(ipc_pcie->pci); in ipc_pcie_resources_release() 40 static void ipc_pcie_cleanup(struct iosm_pcie *ipc_pcie) in ipc_pcie_cleanup() argument 43 ipc_imem_cleanup(ipc_pcie->imem); in ipc_pcie_cleanup() 45 ipc_pcie_resources_release(ipc_pcie); in ipc_pcie_cleanup() 48 pci_disable_device(ipc_pcie->pci); in ipc_pcie_cleanup() 51 static void ipc_pcie_deinit(struct iosm_pcie *ipc_pcie) in ipc_pcie_deinit() argument 59 struct iosm_pcie *ipc_pcie = pci_get_drvdata(pci); ipc_pcie_remove() local 66 ipc_pcie_resources_request(struct iosm_pcie *ipc_pcie) ipc_pcie_resources_request() argument 141 ipc_pcie_check_aspm_enabled(struct iosm_pcie *ipc_pcie, bool parent) ipc_pcie_check_aspm_enabled() argument 161 ipc_pcie_check_data_link_active(struct iosm_pcie *ipc_pcie) ipc_pcie_check_data_link_active() argument 179 ipc_pcie_check_aspm_supported(struct iosm_pcie *ipc_pcie, bool parent) ipc_pcie_check_aspm_supported() argument 200 ipc_pcie_config_aspm(struct iosm_pcie *ipc_pcie) ipc_pcie_config_aspm() argument 218 ipc_pcie_config_init(struct iosm_pcie *ipc_pcie) ipc_pcie_config_init() argument 261 struct iosm_pcie *ipc_pcie = kzalloc(sizeof(*ipc_pcie), GFP_KERNEL); ipc_pcie_probe() local 343 ipc_pcie_suspend_s2idle(struct iosm_pcie *ipc_pcie) ipc_pcie_suspend_s2idle() argument 362 ipc_pcie_resume_s2idle(struct iosm_pcie *ipc_pcie) ipc_pcie_resume_s2idle() argument 378 ipc_pcie_suspend(struct iosm_pcie *ipc_pcie) ipc_pcie_suspend() argument 387 ipc_pcie_resume(struct iosm_pcie *ipc_pcie) ipc_pcie_resume() argument 400 struct iosm_pcie *ipc_pcie; ipc_pcie_suspend_cb() local 421 struct iosm_pcie *ipc_pcie; ipc_pcie_resume_cb() local 453 ipc_pcie_addr_map(struct iosm_pcie *ipc_pcie, unsigned char *data, size_t size, dma_addr_t *mapping, int direction) ipc_pcie_addr_map() argument 467 ipc_pcie_addr_unmap(struct iosm_pcie *ipc_pcie, size_t size, dma_addr_t mapping, int direction) ipc_pcie_addr_unmap() argument 476 ipc_pcie_alloc_local_skb(struct iosm_pcie *ipc_pcie, gfp_t flags, size_t size) ipc_pcie_alloc_local_skb() argument 496 ipc_pcie_alloc_skb(struct iosm_pcie *ipc_pcie, size_t size, gfp_t flags, dma_addr_t *mapping, int direction, size_t headroom) ipc_pcie_alloc_skb() argument 523 ipc_pcie_kfree_skb(struct iosm_pcie *ipc_pcie, struct sk_buff *skb) ipc_pcie_kfree_skb() argument [all...] |
H A D | iosm_ipc_irq.c | 9 static void ipc_write_dbell_reg(struct iosm_pcie *ipc_pcie, int irq_n, u32 data) in ipc_write_dbell_reg() argument 16 write_reg = (void __iomem *)((u8 __iomem *)ipc_pcie->ipc_regs + in ipc_write_dbell_reg() 17 ipc_pcie->doorbell_write + in ipc_write_dbell_reg() 18 (irq_n * ipc_pcie->doorbell_reg_offset)); in ipc_write_dbell_reg() 26 void ipc_doorbell_fire(struct iosm_pcie *ipc_pcie, int irq_n, u32 data) in ipc_doorbell_fire() argument 28 ipc_write_dbell_reg(ipc_pcie, irq_n, data); in ipc_doorbell_fire() 34 struct iosm_pcie *ipc_pcie = dev_id; in ipc_msi_interrupt() local 35 int instance = irq - ipc_pcie->pci->irq; in ipc_msi_interrupt() 40 if (instance >= ipc_pcie->nvec) in ipc_msi_interrupt() 43 if (!test_bit(0, &ipc_pcie in ipc_msi_interrupt() 49 ipc_release_irq(struct iosm_pcie *ipc_pcie) ipc_release_irq() argument 60 ipc_acquire_irq(struct iosm_pcie *ipc_pcie) ipc_acquire_irq() argument [all...] |
H A D | iosm_ipc_pcie.h | 113 * @ipc_pcie: Pointer to struct iosm_pcie 121 int ipc_pcie_addr_map(struct iosm_pcie *ipc_pcie, unsigned char *data, 126 * @ipc_pcie: Pointer to struct iosm_pcie 131 void ipc_pcie_addr_unmap(struct iosm_pcie *ipc_pcie, size_t size, 136 * @ipc_pcie: Pointer to struct iosm_pcie 145 struct sk_buff *ipc_pcie_alloc_skb(struct iosm_pcie *ipc_pcie, size_t size, 151 * @ipc_pcie: Pointer to struct iosm_pcie 157 struct sk_buff *ipc_pcie_alloc_local_skb(struct iosm_pcie *ipc_pcie, 162 * @ipc_pcie: Pointer to struct iosm_pcie 165 void ipc_pcie_kfree_skb(struct iosm_pcie *ipc_pcie, struc [all...] |
H A D | iosm_ipc_irq.h | 13 * @ipc_pcie: Pointer to iosm_pcie 17 void ipc_doorbell_fire(struct iosm_pcie *ipc_pcie, int irq_n, u32 data); 21 * @ipc_pcie: Pointer to iosm_pcie struct 23 void ipc_release_irq(struct iosm_pcie *ipc_pcie); 27 * @ipc_pcie: Pointer to iosm_pcie struct 31 int ipc_acquire_irq(struct iosm_pcie *ipc_pcie);
|
H A D | iosm_ipc_pm.h | 10 #define ipc_cp_irq_sleep_control(ipc_pcie, data) \ 11 ipc_doorbell_fire(ipc_pcie, IPC_DOORBELL_IRQ_SLEEP, data) 14 #define ipc_cp_irq_hpda_update(ipc_pcie, data) \ 15 ipc_doorbell_fire(ipc_pcie, IPC_DOORBELL_IRQ_HPDA, 0xFF & (data))
|
H A D | iosm_ipc_imem_ops.c | 120 struct iosm_pcie *ipc_pcie = ipc_imem->pcie; in ipc_imem_map_skb_to_dma() local 126 ret = ipc_pcie_addr_map(ipc_pcie, buf, len, &mapping, DMA_TO_DEVICE); in ipc_imem_map_skb_to_dma()
|