]> git.proxmox.com Git - mirror_ubuntu-disco-kernel.git/commit
net: stmmac: clear reset value of snps, wr_osr_lmt/snps, rd_osr_lmt before writing
authorNiklas Cassel <niklas.cassel@axis.com>
Mon, 5 Dec 2016 17:12:54 +0000 (18:12 +0100)
committerDavid S. Miller <davem@davemloft.net>
Tue, 6 Dec 2016 15:33:48 +0000 (10:33 -0500)
commit6b3374cb1c0bd4699ace03d7e0dc14b532e4f52e
tree23b0cfa79b7fedc0e10c42c61a60aac5dbba2371
parented5d7788a934a4b6d6d025e948ed4da496b4f12e
net: stmmac: clear reset value of snps, wr_osr_lmt/snps, rd_osr_lmt before writing

WR_OSR_LMT and RD_OSR_LMT have a reset value of 1.
Since the reset value wasn't cleared before writing, the value in the
register would be incorrect if specifying an uneven value for
snps,wr_osr_lmt/snps,rd_osr_lmt.

Zero is a valid value for the properties, since the databook specifies:
maximum outstanding requests = WR_OSR_LMT + 1.

We do not want to change the behavior for existing users when the
property is missing. Therefore, default to 1 if the property is missing,
since that is the same as the reset value.

Signed-off-by: Niklas Cassel <niklas.cassel@axis.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/stmicro/stmmac/dwmac1000_dma.c
drivers/net/ethernet/stmicro/stmmac/dwmac4_dma.c
drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c