Loading drivers/usb/dwc3/core.c +3 −0 Original line number Diff line number Diff line Loading @@ -1323,6 +1323,9 @@ static void dwc3_get_properties(struct dwc3 *dwc) dwc->dis_metastability_quirk = device_property_read_bool(dev, "snps,dis_metastability_quirk"); device_property_read_u32(dev, "snps,xhci-imod-value", &dwc->xhci_imod_value); dwc->lpm_nyet_threshold = lpm_nyet_threshold; dwc->tx_de_emphasis = tx_de_emphasis; Loading drivers/usb/dwc3/core.h +2 −0 Original line number Diff line number Diff line Loading @@ -1032,6 +1032,7 @@ struct dwc3_scratchpad_array { * @dis_metastability_quirk: set to disable metastability quirk. * @imod_interval: set the interrupt moderation interval in 250ns * increments or 0 to disable. * @xhci_imod_value: imod value to use with xhci */ struct dwc3 { struct work_struct drd_work; Loading Loading @@ -1221,6 +1222,7 @@ struct dwc3 { unsigned dis_metastability_quirk:1; u16 imod_interval; u32 xhci_imod_value; }; #define INCRX_BURST_MODE 0 Loading drivers/usb/dwc3/host.c +11 −1 Original line number Diff line number Diff line Loading @@ -43,12 +43,13 @@ static int dwc3_host_get_irq(struct dwc3 *dwc) int dwc3_host_init(struct dwc3 *dwc) { struct property_entry props[4]; struct property_entry props[5]; struct platform_device *xhci; int ret, irq; struct resource *res; struct platform_device *dwc3_pdev = to_platform_device(dwc->dev); int prop_idx = 0; struct property_entry imod_prop; irq = dwc3_host_get_irq(dwc); if (irq < 0) Loading Loading @@ -93,6 +94,15 @@ int dwc3_host_init(struct dwc3 *dwc) if (dwc->usb2_lpm_disable) props[prop_idx++].name = "usb2-lpm-disable"; if (dwc->xhci_imod_value) { imod_prop.name = "imod-interval-ns"; imod_prop.length = sizeof(u32); imod_prop.is_array = false; imod_prop.type = DEV_PROP_U32; imod_prop.value.u32_data = dwc->xhci_imod_value; props[prop_idx++] = imod_prop; } /** * WORKAROUND: dwc3 revisions <=3.00a have a limitation * where Port Disable command doesn't work. Loading Loading
drivers/usb/dwc3/core.c +3 −0 Original line number Diff line number Diff line Loading @@ -1323,6 +1323,9 @@ static void dwc3_get_properties(struct dwc3 *dwc) dwc->dis_metastability_quirk = device_property_read_bool(dev, "snps,dis_metastability_quirk"); device_property_read_u32(dev, "snps,xhci-imod-value", &dwc->xhci_imod_value); dwc->lpm_nyet_threshold = lpm_nyet_threshold; dwc->tx_de_emphasis = tx_de_emphasis; Loading
drivers/usb/dwc3/core.h +2 −0 Original line number Diff line number Diff line Loading @@ -1032,6 +1032,7 @@ struct dwc3_scratchpad_array { * @dis_metastability_quirk: set to disable metastability quirk. * @imod_interval: set the interrupt moderation interval in 250ns * increments or 0 to disable. * @xhci_imod_value: imod value to use with xhci */ struct dwc3 { struct work_struct drd_work; Loading Loading @@ -1221,6 +1222,7 @@ struct dwc3 { unsigned dis_metastability_quirk:1; u16 imod_interval; u32 xhci_imod_value; }; #define INCRX_BURST_MODE 0 Loading
drivers/usb/dwc3/host.c +11 −1 Original line number Diff line number Diff line Loading @@ -43,12 +43,13 @@ static int dwc3_host_get_irq(struct dwc3 *dwc) int dwc3_host_init(struct dwc3 *dwc) { struct property_entry props[4]; struct property_entry props[5]; struct platform_device *xhci; int ret, irq; struct resource *res; struct platform_device *dwc3_pdev = to_platform_device(dwc->dev); int prop_idx = 0; struct property_entry imod_prop; irq = dwc3_host_get_irq(dwc); if (irq < 0) Loading Loading @@ -93,6 +94,15 @@ int dwc3_host_init(struct dwc3 *dwc) if (dwc->usb2_lpm_disable) props[prop_idx++].name = "usb2-lpm-disable"; if (dwc->xhci_imod_value) { imod_prop.name = "imod-interval-ns"; imod_prop.length = sizeof(u32); imod_prop.is_array = false; imod_prop.type = DEV_PROP_U32; imod_prop.value.u32_data = dwc->xhci_imod_value; props[prop_idx++] = imod_prop; } /** * WORKAROUND: dwc3 revisions <=3.00a have a limitation * where Port Disable command doesn't work. Loading