Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 08b9f9db authored by Matthijs Kooijman's avatar Matthijs Kooijman Committed by Greg Kroah-Hartman
Browse files

staging: dwc2: remove redundant register reads



For calculating FIFO offsets, the sizes of preceding fifos need to be
known. For filling the GDFIFOCFG register, these fifo sizes were read
from hardware registers. However, these values were written to these
registers just a few lines before, so we can just use the values written
instead.

Signed-off-by: default avatarMatthijs Kooijman <matthijs@stdin.nl>
Acked-by: default avatarPaul Zimmerman <paulz@synopsys.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent c35205aa
Loading
Loading
Loading
Loading
+4 −5
Original line number Diff line number Diff line
@@ -507,7 +507,7 @@ void dwc2_disable_host_interrupts(struct dwc2_hsotg *hsotg)
static void dwc2_config_fifos(struct dwc2_hsotg *hsotg)
{
	struct dwc2_core_params *params = hsotg->core_params;
	u32 rxfsiz, nptxfsiz, hptxfsiz, dfifocfg;
	u32 nptxfsiz, hptxfsiz, dfifocfg;

	if (!params->enable_dynamic_fifo)
		return;
@@ -555,11 +555,10 @@ static void dwc2_config_fifos(struct dwc2_hsotg *hsotg)
		 * include RxFIFO, NPTXFIFO and HPTXFIFO
		 */
		dfifocfg = readl(hsotg->regs + GDFIFOCFG);
		rxfsiz = readl(hsotg->regs + GRXFSIZ) & 0x0000ffff;
		nptxfsiz = readl(hsotg->regs + GNPTXFSIZ) >> 16 & 0xffff;
		hptxfsiz = readl(hsotg->regs + HPTXFSIZ) >> 16 & 0xffff;
		dfifocfg &= ~GDFIFOCFG_EPINFOBASE_MASK;
		dfifocfg |= (rxfsiz + nptxfsiz + hptxfsiz) <<
		dfifocfg |= (params->host_rx_fifo_size +
			     params->host_nperio_tx_fifo_size +
			     params->host_perio_tx_fifo_size) <<
			    GDFIFOCFG_EPINFOBASE_SHIFT &
			    GDFIFOCFG_EPINFOBASE_MASK;
		writel(dfifocfg, hsotg->regs + GDFIFOCFG);