Deleted Added
full compact
mly.c (94936) mly.c (102291)
1/*-
2 * Copyright (c) 2000, 2001 Michael Smith
3 * Copyright (c) 2000 BSDi
4 * All rights reserved.
5 *
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions
8 * are met:

--- 10 unchanged lines hidden (view full) ---

19 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
20 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
21 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
22 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
23 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
24 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
25 * SUCH DAMAGE.
26 *
1/*-
2 * Copyright (c) 2000, 2001 Michael Smith
3 * Copyright (c) 2000 BSDi
4 * All rights reserved.
5 *
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions
8 * are met:

--- 10 unchanged lines hidden (view full) ---

19 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
20 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
21 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
22 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
23 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
24 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
25 * SUCH DAMAGE.
26 *
27 * $FreeBSD: head/sys/dev/mly/mly.c 94936 2002-04-17 13:06:36Z mux $
27 * $FreeBSD: head/sys/dev/mly/mly.c 102291 2002-08-22 21:24:01Z archie $
28 */
29
30#include <sys/param.h>
31#include <sys/systm.h>
32#include <sys/malloc.h>
33#include <sys/kernel.h>
34#include <sys/bus.h>
35#include <sys/conf.h>

--- 1464 unchanged lines hidden (view full) ---

1500 splx(s);
1501 return(EBUSY);
1502 }
1503 mc->mc_flags |= MLY_CMD_BUSY;
1504
1505 /* copy in new command */
1506 bcopy(mc->mc_packet->mmbox.data, pkt->mmbox.data, sizeof(pkt->mmbox.data));
1507 /* barrier to ensure completion of previous write before we write the flag */
28 */
29
30#include <sys/param.h>
31#include <sys/systm.h>
32#include <sys/malloc.h>
33#include <sys/kernel.h>
34#include <sys/bus.h>
35#include <sys/conf.h>

--- 1464 unchanged lines hidden (view full) ---

1500 splx(s);
1501 return(EBUSY);
1502 }
1503 mc->mc_flags |= MLY_CMD_BUSY;
1504
1505 /* copy in new command */
1506 bcopy(mc->mc_packet->mmbox.data, pkt->mmbox.data, sizeof(pkt->mmbox.data));
1507 /* barrier to ensure completion of previous write before we write the flag */
1508 bus_space_barrier(NULL, NULL, 0, 0, BUS_SPACE_BARRIER_WRITE); /* tag/handle? */
1508 bus_space_barrier(0, 0, 0, 0, BUS_SPACE_BARRIER_WRITE); /* tag/handle? */
1509 /* copy flag last */
1510 pkt->mmbox.flag = mc->mc_packet->mmbox.flag;
1511 /* barrier to ensure completion of previous write before we notify the controller */
1509 /* copy flag last */
1510 pkt->mmbox.flag = mc->mc_packet->mmbox.flag;
1511 /* barrier to ensure completion of previous write before we notify the controller */
1512 bus_space_barrier(NULL, NULL, 0, 0, BUS_SPACE_BARRIER_WRITE); /* tag/handle */
1512 bus_space_barrier(0, 0, 0, 0, BUS_SPACE_BARRIER_WRITE); /* tag/handle */
1513
1514 /* signal controller, update index */
1515 MLY_SET_REG(sc, sc->mly_idbr, MLY_AM_CMDSENT);
1516 sc->mly_mmbox_command_index = (sc->mly_mmbox_command_index + 1) % MLY_MMBOX_COMMANDS;
1517 }
1518
1519 mly_enqueue_busy(mc);
1520 splx(s);

--- 1422 unchanged lines hidden ---
1513
1514 /* signal controller, update index */
1515 MLY_SET_REG(sc, sc->mly_idbr, MLY_AM_CMDSENT);
1516 sc->mly_mmbox_command_index = (sc->mly_mmbox_command_index + 1) % MLY_MMBOX_COMMANDS;
1517 }
1518
1519 mly_enqueue_busy(mc);
1520 splx(s);

--- 1422 unchanged lines hidden ---