diff options
author | Vardan Mikayelyan <mvardan@synopsys.com> | 2018-02-16 05:07:33 -0500 |
---|---|---|
committer | Felipe Balbi <felipe.balbi@linux.intel.com> | 2018-03-13 04:47:54 -0400 |
commit | af7c2bd37867f51e8e3975b98a0d4ee8802d5110 (patch) | |
tree | 7a6a712d89f5fdf2ed2130256a49e21d27c38818 /drivers/usb/dwc2 | |
parent | 631a23108c1a90b726ca99f1f90d48a91737f43d (diff) |
usb: dwc2: gadget: Moved dtxfsiz backup array place
Moved dtxfsiz from dwc2_gregs_backup to dwc2_dregs_backup,
because it is device register.
Signed-off-by: Vardan Mikayelyan <mvardan@synopsys.com>
Signed-off-by: John Youn <johnyoun@synopsys.com>
Signed-off-by: Grigor Tovmasyan <tovmasya@synopsys.com>
Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
Diffstat (limited to 'drivers/usb/dwc2')
-rw-r--r-- | drivers/usb/dwc2/core.c | 8 | ||||
-rw-r--r-- | drivers/usb/dwc2/core.h | 4 | ||||
-rw-r--r-- | drivers/usb/dwc2/gadget.c | 2 |
3 files changed, 6 insertions, 8 deletions
diff --git a/drivers/usb/dwc2/core.c b/drivers/usb/dwc2/core.c index 915fe6752b8d..84990a82363b 100644 --- a/drivers/usb/dwc2/core.c +++ b/drivers/usb/dwc2/core.c | |||
@@ -67,7 +67,8 @@ | |||
67 | static int dwc2_backup_global_registers(struct dwc2_hsotg *hsotg) | 67 | static int dwc2_backup_global_registers(struct dwc2_hsotg *hsotg) |
68 | { | 68 | { |
69 | struct dwc2_gregs_backup *gr; | 69 | struct dwc2_gregs_backup *gr; |
70 | int i; | 70 | |
71 | dev_dbg(hsotg->dev, "%s\n", __func__); | ||
71 | 72 | ||
72 | /* Backup global regs */ | 73 | /* Backup global regs */ |
73 | gr = &hsotg->gr_backup; | 74 | gr = &hsotg->gr_backup; |
@@ -81,8 +82,6 @@ static int dwc2_backup_global_registers(struct dwc2_hsotg *hsotg) | |||
81 | gr->hptxfsiz = dwc2_readl(hsotg->regs + HPTXFSIZ); | 82 | gr->hptxfsiz = dwc2_readl(hsotg->regs + HPTXFSIZ); |
82 | gr->gdfifocfg = dwc2_readl(hsotg->regs + GDFIFOCFG); | 83 | gr->gdfifocfg = dwc2_readl(hsotg->regs + GDFIFOCFG); |
83 | gr->pcgcctl1 = dwc2_readl(hsotg->regs + PCGCCTL1); | 84 | gr->pcgcctl1 = dwc2_readl(hsotg->regs + PCGCCTL1); |
84 | for (i = 0; i < MAX_EPS_CHANNELS; i++) | ||
85 | gr->dtxfsiz[i] = dwc2_readl(hsotg->regs + DPTXFSIZN(i)); | ||
86 | 85 | ||
87 | gr->valid = true; | 86 | gr->valid = true; |
88 | return 0; | 87 | return 0; |
@@ -98,7 +97,6 @@ static int dwc2_backup_global_registers(struct dwc2_hsotg *hsotg) | |||
98 | static int dwc2_restore_global_registers(struct dwc2_hsotg *hsotg) | 97 | static int dwc2_restore_global_registers(struct dwc2_hsotg *hsotg) |
99 | { | 98 | { |
100 | struct dwc2_gregs_backup *gr; | 99 | struct dwc2_gregs_backup *gr; |
101 | int i; | ||
102 | 100 | ||
103 | dev_dbg(hsotg->dev, "%s\n", __func__); | 101 | dev_dbg(hsotg->dev, "%s\n", __func__); |
104 | 102 | ||
@@ -121,8 +119,6 @@ static int dwc2_restore_global_registers(struct dwc2_hsotg *hsotg) | |||
121 | dwc2_writel(gr->hptxfsiz, hsotg->regs + HPTXFSIZ); | 119 | dwc2_writel(gr->hptxfsiz, hsotg->regs + HPTXFSIZ); |
122 | dwc2_writel(gr->gdfifocfg, hsotg->regs + GDFIFOCFG); | 120 | dwc2_writel(gr->gdfifocfg, hsotg->regs + GDFIFOCFG); |
123 | dwc2_writel(gr->pcgcctl1, hsotg->regs + PCGCCTL1); | 121 | dwc2_writel(gr->pcgcctl1, hsotg->regs + PCGCCTL1); |
124 | for (i = 0; i < MAX_EPS_CHANNELS; i++) | ||
125 | dwc2_writel(gr->dtxfsiz[i], hsotg->regs + DPTXFSIZN(i)); | ||
126 | 122 | ||
127 | return 0; | 123 | return 0; |
128 | } | 124 | } |
diff --git a/drivers/usb/dwc2/core.h b/drivers/usb/dwc2/core.h index 386a03056763..aa69f2838fcd 100644 --- a/drivers/usb/dwc2/core.h +++ b/drivers/usb/dwc2/core.h | |||
@@ -642,7 +642,6 @@ struct dwc2_hw_params { | |||
642 | * @gi2cctl: Backup of GI2CCTL register | 642 | * @gi2cctl: Backup of GI2CCTL register |
643 | * @hptxfsiz: Backup of HPTXFSIZ register | 643 | * @hptxfsiz: Backup of HPTXFSIZ register |
644 | * @gdfifocfg: Backup of GDFIFOCFG register | 644 | * @gdfifocfg: Backup of GDFIFOCFG register |
645 | * @dtxfsiz: Backup of DTXFSIZ registers for each endpoint | ||
646 | * @gpwrdn: Backup of GPWRDN register | 645 | * @gpwrdn: Backup of GPWRDN register |
647 | */ | 646 | */ |
648 | struct dwc2_gregs_backup { | 647 | struct dwc2_gregs_backup { |
@@ -657,7 +656,6 @@ struct dwc2_gregs_backup { | |||
657 | u32 pcgcctl; | 656 | u32 pcgcctl; |
658 | u32 pcgcctl1; | 657 | u32 pcgcctl1; |
659 | u32 gdfifocfg; | 658 | u32 gdfifocfg; |
660 | u32 dtxfsiz[MAX_EPS_CHANNELS]; | ||
661 | u32 gpwrdn; | 659 | u32 gpwrdn; |
662 | bool valid; | 660 | bool valid; |
663 | }; | 661 | }; |
@@ -676,6 +674,7 @@ struct dwc2_gregs_backup { | |||
676 | * @doepctl: Backup of DOEPCTL register | 674 | * @doepctl: Backup of DOEPCTL register |
677 | * @doeptsiz: Backup of DOEPTSIZ register | 675 | * @doeptsiz: Backup of DOEPTSIZ register |
678 | * @doepdma: Backup of DOEPDMA register | 676 | * @doepdma: Backup of DOEPDMA register |
677 | * @dtxfsiz: Backup of DTXFSIZ registers for each endpoint | ||
679 | */ | 678 | */ |
680 | struct dwc2_dregs_backup { | 679 | struct dwc2_dregs_backup { |
681 | u32 dcfg; | 680 | u32 dcfg; |
@@ -689,6 +688,7 @@ struct dwc2_dregs_backup { | |||
689 | u32 doepctl[MAX_EPS_CHANNELS]; | 688 | u32 doepctl[MAX_EPS_CHANNELS]; |
690 | u32 doeptsiz[MAX_EPS_CHANNELS]; | 689 | u32 doeptsiz[MAX_EPS_CHANNELS]; |
691 | u32 doepdma[MAX_EPS_CHANNELS]; | 690 | u32 doepdma[MAX_EPS_CHANNELS]; |
691 | u32 dtxfsiz[MAX_EPS_CHANNELS]; | ||
692 | bool valid; | 692 | bool valid; |
693 | }; | 693 | }; |
694 | 694 | ||
diff --git a/drivers/usb/dwc2/gadget.c b/drivers/usb/dwc2/gadget.c index a43478d65b3f..89c6714241ee 100644 --- a/drivers/usb/dwc2/gadget.c +++ b/drivers/usb/dwc2/gadget.c | |||
@@ -4815,6 +4815,7 @@ int dwc2_backup_device_registers(struct dwc2_hsotg *hsotg) | |||
4815 | 4815 | ||
4816 | dr->doeptsiz[i] = dwc2_readl(hsotg->regs + DOEPTSIZ(i)); | 4816 | dr->doeptsiz[i] = dwc2_readl(hsotg->regs + DOEPTSIZ(i)); |
4817 | dr->doepdma[i] = dwc2_readl(hsotg->regs + DOEPDMA(i)); | 4817 | dr->doepdma[i] = dwc2_readl(hsotg->regs + DOEPDMA(i)); |
4818 | dr->dtxfsiz[i] = dwc2_readl(hsotg->regs + DPTXFSIZN(i)); | ||
4818 | } | 4819 | } |
4819 | dr->valid = true; | 4820 | dr->valid = true; |
4820 | return 0; | 4821 | return 0; |
@@ -4855,6 +4856,7 @@ int dwc2_restore_device_registers(struct dwc2_hsotg *hsotg) | |||
4855 | dwc2_writel(dr->diepctl[i], hsotg->regs + DIEPCTL(i)); | 4856 | dwc2_writel(dr->diepctl[i], hsotg->regs + DIEPCTL(i)); |
4856 | dwc2_writel(dr->dieptsiz[i], hsotg->regs + DIEPTSIZ(i)); | 4857 | dwc2_writel(dr->dieptsiz[i], hsotg->regs + DIEPTSIZ(i)); |
4857 | dwc2_writel(dr->diepdma[i], hsotg->regs + DIEPDMA(i)); | 4858 | dwc2_writel(dr->diepdma[i], hsotg->regs + DIEPDMA(i)); |
4859 | dwc2_writel(dr->dtxfsiz[i], hsotg->regs + DPTXFSIZN(i)); | ||
4858 | 4860 | ||
4859 | /* Restore OUT EPs */ | 4861 | /* Restore OUT EPs */ |
4860 | dwc2_writel(dr->doepctl[i], hsotg->regs + DOEPCTL(i)); | 4862 | dwc2_writel(dr->doepctl[i], hsotg->regs + DOEPCTL(i)); |