m68k: mac: Fix IOP status/control register writes
authorFinn Thain <fthain@telegraphics.com.au>
Sat, 30 May 2020 23:12:13 +0000 (09:12 +1000)
committerGeert Uytterhoeven <geert@linux-m68k.org>
Mon, 13 Jul 2020 09:39:13 +0000 (11:39 +0200)
commit931fc82a6aaf4e2e4a5490addaa6a090d78c24a7
treeaaaab2de0edc0d286dfa3d56adb31fb067c268ad
parentaeb445bf2194d83e12e85bf5c65baaf1f093bd8f
m68k: mac: Fix IOP status/control register writes

When writing values to the IOP status/control register make sure those
values do not have any extraneous bits that will clear interrupt flags.

To place the SCC IOP into bypass mode would be desirable but this is not
achieved by writing IOP_DMAINACTIVE | IOP_RUN | IOP_AUTOINC | IOP_BYPASS
to the control register. Drop this ineffective register write.

Remove the flawed and unused iop_bypass() function. Make use of the
unused iop_stop() function.

Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2")
Signed-off-by: Finn Thain <fthain@telegraphics.com.au>
Tested-by: Stan Johnson <userm57@yahoo.com>
Cc: Joshua Thompson <funaho@jurai.org>
Link: https://lore.kernel.org/r/09bcb7359a1719a18b551ee515da3c4c3cf709e6.1590880333.git.fthain@telegraphics.com.au
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
arch/m68k/mac/iop.c