/linux/drivers/usb/dwc3/ |
H A D | core.c | 50 static int dwc3_get_dr_mode(struct dwc3 *dwc) in dwc3_get_dr_mode() argument 53 struct device *dev = dwc->dev; in dwc3_get_dr_mode() 56 if (dwc->dr_mode == USB_DR_MODE_UNKNOWN) in dwc3_get_dr_mode() 57 dwc->dr_mode = USB_DR_MODE_OTG; in dwc3_get_dr_mode() 59 mode = dwc->dr_mode; in dwc3_get_dr_mode() 60 hw_mode = DWC3_GHWPARAMS0_MODE(dwc->hwparams.hwparams0); in dwc3_get_dr_mode() 90 if (mode == USB_DR_MODE_OTG && !dwc->edev && in dwc3_get_dr_mode() 92 !device_property_read_bool(dwc->dev, "usb-role-switch")) && in dwc3_get_dr_mode() 97 if (mode != dwc->dr_mode) { in dwc3_get_dr_mode() 102 dwc->dr_mode = mode; in dwc3_get_dr_mode() [all …]
|
H A D | ep0.c | 30 static void __dwc3_ep0_do_control_status(struct dwc3 *dwc, struct dwc3_ep *dep); 31 static void __dwc3_ep0_do_control_data(struct dwc3 *dwc, 33 static int dwc3_ep0_delegate_req(struct dwc3 *dwc, 40 struct dwc3 *dwc; in dwc3_ep0_prepare_one_trb() local 42 dwc = dep->dwc; in dwc3_ep0_prepare_one_trb() 43 trb = &dwc->ep0_trb[dep->trb_enqueue]; in dwc3_ep0_prepare_one_trb() 68 struct dwc3 *dwc; in dwc3_ep0_start_trans() local 74 dwc = dep->dwc; in dwc3_ep0_start_trans() 77 params.param0 = upper_32_bits(dwc->ep0_trb_addr); in dwc3_ep0_start_trans() 78 params.param1 = lower_32_bits(dwc->ep0_trb_addr); in dwc3_ep0_start_trans() [all …]
|
H A D | gadget.c | 41 int dwc3_gadget_set_test_mode(struct dwc3 *dwc, int mode) in dwc3_gadget_set_test_mode() argument 45 reg = dwc3_readl(dwc->regs, DWC3_DCTL); in dwc3_gadget_set_test_mode() 60 dwc3_gadget_dctl_write_safe(dwc, reg); in dwc3_gadget_set_test_mode() 72 int dwc3_gadget_get_link_state(struct dwc3 *dwc) in dwc3_gadget_get_link_state() argument 76 reg = dwc3_readl(dwc->regs, DWC3_DSTS); in dwc3_gadget_get_link_state() 89 int dwc3_gadget_set_link_state(struct dwc3 *dwc, enum dwc3_link_state state) in dwc3_gadget_set_link_state() argument 100 reg = dwc3_readl(dwc->regs, DWC3_DSTS); in dwc3_gadget_set_link_state() 111 reg = dwc3_readl(dwc->regs, DWC3_DCTL); in dwc3_gadget_set_link_state() 115 dwc3_writel(dwc->regs, DWC3_DCTL, reg); in dwc3_gadget_set_link_state() 119 dwc3_writel(dwc->regs, DWC3_DCTL, reg); in dwc3_gadget_set_link_state() [all …]
|
H A D | host.c | 29 static void dwc3_power_off_all_roothub_ports(struct dwc3 *dwc) in dwc3_power_off_all_roothub_ports() argument 39 if (dwc->xhci_resources[0].start) { in dwc3_power_off_all_roothub_ports() 40 xhci_regs = ioremap(dwc->xhci_resources[0].start, DWC3_XHCI_REGS_END); in dwc3_power_off_all_roothub_ports() 42 dev_err(dwc->dev, "Failed to ioremap xhci_regs\n"); in dwc3_power_off_all_roothub_ports() 59 dev_err(dwc->dev, "xhci base reg invalid\n"); in dwc3_power_off_all_roothub_ports() 66 struct dwc3 *dwc; in dwc3_xhci_plat_start() local 72 dwc = dev_get_drvdata(pdev->dev.parent); in dwc3_xhci_plat_start() 74 dwc3_enable_susphy(dwc, true); in dwc3_xhci_plat_start() 81 static void dwc3_host_fill_xhci_irq_res(struct dwc3 *dwc, in dwc3_host_fill_xhci_irq_res() argument 84 struct platform_device *pdev = to_platform_device(dwc->dev); in dwc3_host_fill_xhci_irq_res() [all …]
|
H A D | debugfs.c | 287 struct dwc3 *dwc = s->private; in dwc3_host_lsp() local 293 dbc_enabled = !!(dwc->hwparams.hwparams1 & DWC3_GHWPARAMS1_ENDBC); in dwc3_host_lsp() 295 sel = dwc->dbg_lsp_select; in dwc3_host_lsp() 303 dwc3_writel(dwc->regs, DWC3_GDBGLSPMUX, reg); in dwc3_host_lsp() 304 val = dwc3_readl(dwc->regs, DWC3_GDBGLSP); in dwc3_host_lsp() 309 dwc3_writel(dwc->regs, DWC3_GDBGLSPMUX, reg); in dwc3_host_lsp() 310 val = dwc3_readl(dwc->regs, DWC3_GDBGLSP); in dwc3_host_lsp() 317 struct dwc3 *dwc = s->private; in dwc3_gadget_lsp() local 323 dwc3_writel(dwc->regs, DWC3_GDBGLSPMUX, reg); in dwc3_gadget_lsp() 324 reg = dwc3_readl(dwc->regs, DWC3_GDBGLSP); in dwc3_gadget_lsp() [all …]
|
H A D | ulpi.c | 24 static int dwc3_ulpi_busyloop(struct dwc3 *dwc, u8 addr, bool read) in dwc3_ulpi_busyloop() argument 36 reg = dwc3_readl(dwc->regs, DWC3_GUSB2PHYCFG(0)); in dwc3_ulpi_busyloop() 42 reg = dwc3_readl(dwc->regs, DWC3_GUSB2PHYACC(0)); in dwc3_ulpi_busyloop() 53 struct dwc3 *dwc = dev_get_drvdata(dev); in dwc3_ulpi_read() local 58 dwc3_writel(dwc->regs, DWC3_GUSB2PHYACC(0), reg); in dwc3_ulpi_read() 60 ret = dwc3_ulpi_busyloop(dwc, addr, true); in dwc3_ulpi_read() 64 reg = dwc3_readl(dwc->regs, DWC3_GUSB2PHYACC(0)); in dwc3_ulpi_read() 71 struct dwc3 *dwc = dev_get_drvdata(dev); in dwc3_ulpi_write() local 76 dwc3_writel(dwc->regs, DWC3_GUSB2PHYACC(0), reg); in dwc3_ulpi_write() 78 return dwc3_ulpi_busyloop(dwc, addr, false); in dwc3_ulpi_write() [all …]
|
H A D | dwc3-pci.c | 213 static int dwc3_pci_quirks(struct dwc3_pci *dwc, in dwc3_pci_quirks() argument 216 struct pci_dev *pdev = dwc->pci; in dwc3_pci_quirks() 222 guid_parse(PCI_INTEL_BXT_DSM_GUID, &dwc->guid); in dwc3_pci_quirks() 223 dwc->has_dsm_for_pm = true; in dwc3_pci_quirks() 277 dwc->dwc3->id = PLATFORM_DEVID_NONE; in dwc3_pci_quirks() 298 return device_add_software_node(&dwc->dwc3->dev, swnode); in dwc3_pci_quirks() 304 struct dwc3_pci *dwc = container_of(work, struct dwc3_pci, wakeup_work); in dwc3_pci_resume_work() local 305 struct platform_device *dwc3 = dwc->dwc3; in dwc3_pci_resume_work() 321 struct dwc3_pci *dwc; in dwc3_pci_probe() local 334 dwc = devm_kzalloc(dev, sizeof(*dwc), GFP_KERNEL); in dwc3_pci_probe() [all …]
|
H A D | dwc3-haps.c | 43 struct dwc3_haps *dwc; in dwc3_haps_probe() local 56 dwc = devm_kzalloc(dev, sizeof(*dwc), GFP_KERNEL); in dwc3_haps_probe() 57 if (!dwc) in dwc3_haps_probe() 60 dwc->dwc3 = platform_device_alloc("dwc3", PLATFORM_DEVID_AUTO); in dwc3_haps_probe() 61 if (!dwc->dwc3) in dwc3_haps_probe() 75 ret = platform_device_add_resources(dwc->dwc3, res, ARRAY_SIZE(res)); in dwc3_haps_probe() 81 dwc->pci = pci; in dwc3_haps_probe() 82 dwc->dwc3->dev.parent = dev; in dwc3_haps_probe() 84 ret = device_add_software_node(&dwc->dwc3->dev, &dwc3_haps_swnode); in dwc3_haps_probe() 88 ret = platform_device_add(dwc->dwc3); in dwc3_haps_probe() [all …]
|
H A D | core.h | 704 struct dwc3 *dwc; member 752 struct dwc3 *dwc; member 1560 void dwc3_set_prtcap(struct dwc3 *dwc, u32 mode); 1561 void dwc3_set_mode(struct dwc3 *dwc, u32 mode); 1565 (dwc->ip == _ip##_IP) 1568 (DWC3_IP_IS(_ip) && dwc->revision == _ip##_REVISION_##_ver) 1571 (DWC3_IP_IS(_ip) && dwc->revision < _ip##_REVISION_##_ver) 1575 dwc->revision >= _ip##_REVISION_##_from && \ 1577 dwc->revision <= _ip##_REVISION_##_to)) 1581 dwc->version_type >= _ip##_VERSIONTYPE_##_from && \ [all …]
|
H A D | gadget.h | 110 void dwc3_ep0_interrupt(struct dwc3 *dwc, 112 void dwc3_ep0_out_start(struct dwc3 *dwc); 113 void dwc3_ep0_end_control_data(struct dwc3 *dwc, struct dwc3_ep *dep); 114 void dwc3_ep0_stall_and_restart(struct dwc3 *dwc); 120 void dwc3_ep0_send_delayed_status(struct dwc3 *dwc); 122 int dwc3_gadget_start_config(struct dwc3 *dwc, unsigned int resource_index); 147 static inline void dwc3_gadget_dctl_write_safe(struct dwc3 *dwc, u32 value) in dwc3_gadget_dctl_write_safe() argument 150 dwc3_writel(dwc->regs, DWC3_DCTL, value); in dwc3_gadget_dctl_write_safe()
|
H A D | dwc3-rtk.c | 59 struct dwc3 *dwc; member 88 if (!rtk->dwc->role_sw) in switch_dwc3_role() 91 usb_role_switch_set_role(rtk->dwc->role_sw, role); in switch_dwc3_role() 100 if (rtk->dwc && rtk->dwc->role_sw) in dwc3_rtk_get_role() 101 role = usb_role_switch_get_role(rtk->dwc->role_sw); in dwc3_rtk_get_role() 306 rtk->dwc = platform_get_drvdata(dwc3_pdev); in dwc3_rtk_probe_dwc3_core() 307 if (!rtk->dwc) { in dwc3_rtk_probe_dwc3_core() 314 if (dr_mode != rtk->dwc->dr_mode) { in dwc3_rtk_probe_dwc3_core() 316 dr_mode, rtk->dwc->dr_mode); in dwc3_rtk_probe_dwc3_core() 317 dr_mode = rtk->dwc->dr_mode; in dwc3_rtk_probe_dwc3_core() [all …]
|
H A D | dwc3-imx8mp.c | 135 struct dwc3 *dwc = platform_get_drvdata(dwc3_imx->dwc3); in dwc3_imx8mp_interrupt() local 143 if ((dwc->current_dr_role == DWC3_GCTL_PRTCAP_HOST) && dwc->xhci) in dwc3_imx8mp_interrupt() 144 pm_runtime_resume(&dwc->xhci->dev); in dwc3_imx8mp_interrupt() 145 else if (dwc->current_dr_role == DWC3_GCTL_PRTCAP_DEVICE) in dwc3_imx8mp_interrupt() 146 pm_runtime_get(dwc->dev); in dwc3_imx8mp_interrupt() 292 struct dwc3 *dwc = platform_get_drvdata(dwc3_imx->dwc3); in dwc3_imx8mp_resume() local 307 if (dwc->current_dr_role == DWC3_GCTL_PRTCAP_DEVICE) { in dwc3_imx8mp_resume() 308 pm_runtime_mark_last_busy(dwc->dev); in dwc3_imx8mp_resume() 309 pm_runtime_put_autosuspend(dwc->dev); in dwc3_imx8mp_resume()
|
H A D | dwc3-qcom.c | 306 struct dwc3 *dwc; in dwc3_qcom_is_host() local 311 dwc = platform_get_drvdata(qcom->dwc3); in dwc3_qcom_is_host() 314 if (!dwc) in dwc3_qcom_is_host() 317 return dwc->xhci; in dwc3_qcom_is_host() 322 struct dwc3 *dwc = platform_get_drvdata(qcom->dwc3); in dwc3_qcom_read_usb2_speed() local 329 hcd = platform_get_drvdata(dwc->xhci); in dwc3_qcom_read_usb2_speed() 501 struct dwc3 *dwc = platform_get_drvdata(qcom->dwc3); in qcom_dwc3_resume_irq() local 512 pm_runtime_resume(&dwc->xhci->dev); in qcom_dwc3_resume_irq()
|
/linux/drivers/dma/dw/ |
H A D | core.c | 49 static struct dw_desc *dwc_first_active(struct dw_dma_chan *dwc) in dwc_first_active() argument 51 return to_dw_desc(dwc->active_list.next); in dwc_first_active() 57 struct dw_dma_chan *dwc = to_dw_dma_chan(tx->chan); in dwc_tx_submit() local 61 spin_lock_irqsave(&dwc->lock, flags); in dwc_tx_submit() 70 list_add_tail(&desc->desc_node, &dwc->queue); in dwc_tx_submit() 71 spin_unlock_irqrestore(&dwc->lock, flags); in dwc_tx_submit() 78 static struct dw_desc *dwc_desc_get(struct dw_dma_chan *dwc) in dwc_desc_get() argument 80 struct dw_dma *dw = to_dw_dma(dwc->chan.device); in dwc_desc_get() 88 dwc->descs_allocated++; in dwc_desc_get() 90 dma_async_tx_descriptor_init(&desc->txd, &dwc->chan); in dwc_desc_get() [all …]
|
H A D | idma32.c | 36 static unsigned int idma32_get_slave_devfn(struct dw_dma_chan *dwc) in idma32_get_slave_devfn() argument 38 struct device *slave = dwc->chan.slave; in idma32_get_slave_devfn() 46 static void idma32_initialize_chan_xbar(struct dw_dma_chan *dwc) in idma32_initialize_chan_xbar() argument 48 struct dw_dma *dw = to_dw_dma(dwc->chan.device); in idma32_initialize_chan_xbar() 58 value |= dwc->chan.chan_id; in idma32_initialize_chan_xbar() 63 value = readl(misc + DMA_CTL_CH(dwc->chan.chan_id)); in idma32_initialize_chan_xbar() 69 switch (dwc->direction) { in idma32_initialize_chan_xbar() 88 writel(value, misc + DMA_CTL_CH(dwc->chan.chan_id)); in idma32_initialize_chan_xbar() 91 value = readl(misc + DMA_XBAR_SEL(dwc->chan.chan_id)); in idma32_initialize_chan_xbar() 95 value |= idma32_get_slave_devfn(dwc); in idma32_initialize_chan_xbar() [all …]
|
H A D | dw.c | 14 static void dw_dma_initialize_chan(struct dw_dma_chan *dwc) in dw_dma_initialize_chan() argument 16 struct dw_dma *dw = to_dw_dma(dwc->chan.device); in dw_dma_initialize_chan() 17 u32 cfghi = is_slave_direction(dwc->direction) ? 0 : DWC_CFGH_FIFO_MODE; in dw_dma_initialize_chan() 18 u32 cfglo = DWC_CFGL_CH_PRIOR(dwc->priority); in dw_dma_initialize_chan() 19 bool hs_polarity = dwc->dws.hs_polarity; in dw_dma_initialize_chan() 21 cfghi |= DWC_CFGH_DST_PER(dwc->dws.dst_id); in dw_dma_initialize_chan() 22 cfghi |= DWC_CFGH_SRC_PER(dwc->dws.src_id); in dw_dma_initialize_chan() 28 channel_writel(dwc, CFG_LO, cfglo); in dw_dma_initialize_chan() 29 channel_writel(dwc, CFG_HI, cfghi); in dw_dma_initialize_chan() 32 static void dw_dma_suspend_chan(struct dw_dma_chan *dwc, bool drain) in dw_dma_suspend_chan() argument [all …]
|
H A D | regs.h | 298 __dwc_regs(struct dw_dma_chan *dwc) in __dwc_regs() argument 300 return dwc->ch_regs; in __dwc_regs() 303 #define channel_readl(dwc, name) \ argument 304 readl(&(__dwc_regs(dwc)->name)) 305 #define channel_writel(dwc, name, val) \ argument 306 writel((val), &(__dwc_regs(dwc)->name)) 326 void (*initialize_chan)(struct dw_dma_chan *dwc); 327 void (*suspend_chan)(struct dw_dma_chan *dwc, bool drain); 328 void (*resume_chan)(struct dw_dma_chan *dwc, bool drain); 329 u32 (*prepare_ctllo)(struct dw_dma_chan *dwc); [all …]
|
/linux/drivers/pwm/ |
H A D | pwm-dwc-core.c | 24 static void __dwc_pwm_set_enable(struct dwc_pwm *dwc, int pwm, int enabled) in __dwc_pwm_set_enable() argument 28 reg = dwc_pwm_readl(dwc, DWC_TIM_CTRL(pwm)); in __dwc_pwm_set_enable() 35 dwc_pwm_writel(dwc, reg, DWC_TIM_CTRL(pwm)); in __dwc_pwm_set_enable() 38 static int __dwc_pwm_configure_timer(struct dwc_pwm *dwc, in __dwc_pwm_configure_timer() argument 52 tmp = DIV_ROUND_CLOSEST_ULL(state->duty_cycle, dwc->clk_ns); in __dwc_pwm_configure_timer() 58 dwc->clk_ns); in __dwc_pwm_configure_timer() 70 __dwc_pwm_set_enable(dwc, pwm->hwpwm, false); in __dwc_pwm_configure_timer() 78 dwc_pwm_writel(dwc, low, DWC_TIM_LD_CNT(pwm->hwpwm)); in __dwc_pwm_configure_timer() 79 dwc_pwm_writel(dwc, high, DWC_TIM_LD_CNT2(pwm->hwpwm)); in __dwc_pwm_configure_timer() 88 dwc_pwm_writel(dwc, ctrl, DWC_TIM_CTRL(pwm->hwpwm)); in __dwc_pwm_configure_timer() [all …]
|
H A D | pwm-dwc.c | 37 struct dwc_pwm *dwc; in dwc_pwm_init_one() local 44 dwc = to_dwc_pwm(chip); in dwc_pwm_init_one() 45 dwc->base = ddata->io_base + (ddata->info->size * idx); in dwc_pwm_init_one() 112 struct dwc_pwm *dwc = to_dwc_pwm(chip); in dwc_pwm_suspend() local 121 dwc->ctx[i].cnt = dwc_pwm_readl(dwc, DWC_TIM_LD_CNT(i)); in dwc_pwm_suspend() 122 dwc->ctx[i].cnt2 = dwc_pwm_readl(dwc, DWC_TIM_LD_CNT2(i)); in dwc_pwm_suspend() 123 dwc->ctx[i].ctrl = dwc_pwm_readl(dwc, DWC_TIM_CTRL(i)); in dwc_pwm_suspend() 137 struct dwc_pwm *dwc = to_dwc_pwm(chip); in dwc_pwm_resume() local 141 dwc_pwm_writel(dwc, dwc->ctx[i].cnt, DWC_TIM_LD_CNT(i)); in dwc_pwm_resume() 142 dwc_pwm_writel(dwc, dwc->ctx[i].cnt2, DWC_TIM_LD_CNT2(i)); in dwc_pwm_resume() [all …]
|
H A D | pwm-dwc.h | 64 static inline u32 dwc_pwm_readl(struct dwc_pwm *dwc, u32 offset) in dwc_pwm_readl() argument 66 return readl(dwc->base + offset); in dwc_pwm_readl() 69 static inline void dwc_pwm_writel(struct dwc_pwm *dwc, u32 value, u32 offset) in dwc_pwm_writel() argument 71 writel(value, dwc->base + offset); in dwc_pwm_writel()
|
/linux/drivers/net/ethernet/synopsys/ |
H A D | Makefile | 6 obj-$(CONFIG_DWC_XLGMAC) += dwc-xlgmac.o 7 dwc-xlgmac-objs := dwc-xlgmac-net.o dwc-xlgmac-desc.o \ 8 dwc-xlgmac-hw.o dwc-xlgmac-common.o \ 9 dwc-xlgmac-ethtool.o 11 dwc-xlgmac-$(CONFIG_DWC_XLGMAC_PCI) += dwc-xlgmac-pci.o
|
/linux/drivers/ufs/host/ |
H A D | Makefile | 3 obj-$(CONFIG_SCSI_UFS_DWC_TC_PCI) += tc-dwc-g210-pci.o ufshcd-dwc.o tc-dwc-g210.o 4 obj-$(CONFIG_SCSI_UFS_DWC_TC_PLATFORM) += tc-dwc-g210-pltfrm.o ufshcd-dwc.o tc-dwc-g210.o
|
/linux/Documentation/devicetree/bindings/net/ |
H A D | snps,dwc-qos-ethernet.txt | 14 - "axis,artpec6-eqos", "snps,dwc-qos-ethernet-4.10" 16 - "nvidia,tegra186-eqos", "snps,dwc-qos-ethernet-4.10" 18 - "snps,dwc-qos-ethernet-4.10" 20 "axis,artpec6-eqos", "snps,dwc-qos-ethernet-4.10". It is supported to be 72 - "nvidia,tegra186-eqos", "snps,dwc-qos-ethernet-4.10": 78 - "axis,artpec6-eqos", "snps,dwc-qos-ethernet-4.10": 83 - "snps,dwc-qos-ethernet-4.10" (deprecated): 97 - "nvidia,tegra186-eqos", "snps,dwc-qos-ethernet-4.10": 99 - "axis,artpec6-eqos", "snps,dwc-qos-ethernet-4.10": 101 - "snps,dwc-qos-ethernet-4.10" (deprecated): [all …]
|
/linux/sound/soc/dwc/ |
H A D | Makefile | 5 designware_i2s-y := dwc-i2s.o 6 designware_i2s-$(CONFIG_SND_DESIGNWARE_PCM) += dwc-pcm.o
|
/linux/fs/ocfs2/ |
H A D | aops.c | 2101 struct ocfs2_dio_write_ctxt *dwc = NULL; in ocfs2_dio_alloc_write_ctx() local 2106 dwc = kmalloc(sizeof(struct ocfs2_dio_write_ctxt), GFP_NOFS); in ocfs2_dio_alloc_write_ctx() 2107 if (dwc == NULL) in ocfs2_dio_alloc_write_ctx() 2109 INIT_LIST_HEAD(&dwc->dw_zero_list); in ocfs2_dio_alloc_write_ctx() 2110 dwc->dw_zero_count = 0; in ocfs2_dio_alloc_write_ctx() 2111 dwc->dw_orphaned = 0; in ocfs2_dio_alloc_write_ctx() 2112 dwc->dw_writer_pid = task_pid_nr(current); in ocfs2_dio_alloc_write_ctx() 2113 bh->b_private = dwc; in ocfs2_dio_alloc_write_ctx() 2116 return dwc; in ocfs2_dio_alloc_write_ctx() 2120 struct ocfs2_dio_write_ctxt *dwc) in ocfs2_dio_free_write_ctx() argument [all …]
|