Deleted Added
full compact
if_ed_hpp.c (154895) if_ed_hpp.c (154924)
1/*-
2 * Copyright (c) 2005, M. Warner Losh
3 * All rights reserved.
4 * Copyright (c) 1995, David Greenman
5 * All rights reserved.
6 *
7 * Redistribution and use in source and binary forms, with or without
8 * modification, are permitted provided that the following conditions

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

23 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
24 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
25 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
26 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
27 * SUCH DAMAGE.
28 */
29
30#include <sys/cdefs.h>
1/*-
2 * Copyright (c) 2005, M. Warner Losh
3 * All rights reserved.
4 * Copyright (c) 1995, David Greenman
5 * All rights reserved.
6 *
7 * Redistribution and use in source and binary forms, with or without
8 * modification, are permitted provided that the following conditions

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

23 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
24 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
25 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
26 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
27 * SUCH DAMAGE.
28 */
29
30#include <sys/cdefs.h>
31__FBSDID("$FreeBSD: head/sys/dev/ed/if_ed_hpp.c 154895 2006-01-27 08:25:47Z imp $");
31__FBSDID("$FreeBSD: head/sys/dev/ed/if_ed_hpp.c 154924 2006-01-27 19:10:13Z imp $");
32
33#include "opt_ed.h"
34
35#ifdef ED_HPP
36
37#include <sys/param.h>
38#include <sys/systm.h>
39#include <sys/sockio.h>

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

55#include <net/if_mib.h>
56#include <net/if_media.h>
57
58#include <net/bpf.h>
59
60#include <dev/ed/if_edreg.h>
61#include <dev/ed/if_edvar.h>
62
32
33#include "opt_ed.h"
34
35#ifdef ED_HPP
36
37#include <sys/param.h>
38#include <sys/systm.h>
39#include <sys/sockio.h>

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

55#include <net/if_mib.h>
56#include <net/if_media.h>
57
58#include <net/bpf.h>
59
60#include <dev/ed/if_edreg.h>
61#include <dev/ed/if_edvar.h>
62
63static void ed_hpp_readmem(struct ed_softc *, bus_size_t, uint8_t *,
64 uint16_t);
63static void ed_hpp_writemem(struct ed_softc *, uint8_t *, uint16_t,
64 uint16_t);
65static void ed_hpp_set_physical_link(struct ed_softc *sc);
65static void ed_hpp_writemem(struct ed_softc *, uint8_t *, uint16_t,
66 uint16_t);
67static void ed_hpp_set_physical_link(struct ed_softc *sc);
68static u_short ed_hpp_write_mbufs(struct ed_softc *, struct mbuf *,
69 bus_size_t);
66
67/*
68 * Interrupt conversion table for the HP PC LAN+
69 */
70static uint16_t ed_hpp_intr_val[] = {
71 0, /* 0 */
72 0, /* 1 */
73 0, /* 2 */

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

352 test_buffer, sizeof(test_pattern));
353
354 if (bcmp(test_pattern, test_buffer,
355 sizeof(test_pattern)))
356 return (ENXIO);
357 }
358
359 sc->sc_mediachg = ed_hpp_set_physical_link;
70
71/*
72 * Interrupt conversion table for the HP PC LAN+
73 */
74static uint16_t ed_hpp_intr_val[] = {
75 0, /* 0 */
76 0, /* 1 */
77 0, /* 2 */

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

356 test_buffer, sizeof(test_pattern));
357
358 if (bcmp(test_pattern, test_buffer,
359 sizeof(test_pattern)))
360 return (ENXIO);
361 }
362
363 sc->sc_mediachg = ed_hpp_set_physical_link;
364 sc->sc_write_mbufs = ed_hpp_write_mbufs;
365 sc->readmem = ed_hpp_readmem;
360 return (0);
361}
362
363/*
364 * HP PC Lan+ : Set the physical link to use AUI or TP/TL.
365 */
366
367static void

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

406 * Support routines to handle the HP PC Lan+ card.
407 */
408
409/*
410 * HP PC Lan+: Read from NIC memory, using either PIO or memory mapped
411 * IO.
412 */
413
366 return (0);
367}
368
369/*
370 * HP PC Lan+ : Set the physical link to use AUI or TP/TL.
371 */
372
373static void

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

412 * Support routines to handle the HP PC Lan+ card.
413 */
414
415/*
416 * HP PC Lan+: Read from NIC memory, using either PIO or memory mapped
417 * IO.
418 */
419
414void
420static void
415ed_hpp_readmem(struct ed_softc *sc, bus_size_t src, uint8_t *dst,
416 uint16_t amount)
417{
418 int use_32bit_access = !(sc->hpp_id & ED_HPP_ID_16_BIT_ACCESS);
419
420 /* Program the source address in RAM */
421 ed_asic_outw(sc, ED_HPP_PAGE_2, src);
422

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

542/*
543 * Write to HP PC Lan+ NIC memory. Access to the NIC can be by using
544 * outsw() or via the memory mapped interface to the same register.
545 * Writes have to be in word units; byte accesses won't work and may cause
546 * the NIC to behave weirdly. Long word accesses are permitted if the ASIC
547 * allows it.
548 */
549
421ed_hpp_readmem(struct ed_softc *sc, bus_size_t src, uint8_t *dst,
422 uint16_t amount)
423{
424 int use_32bit_access = !(sc->hpp_id & ED_HPP_ID_16_BIT_ACCESS);
425
426 /* Program the source address in RAM */
427 ed_asic_outw(sc, ED_HPP_PAGE_2, src);
428

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

548/*
549 * Write to HP PC Lan+ NIC memory. Access to the NIC can be by using
550 * outsw() or via the memory mapped interface to the same register.
551 * Writes have to be in word units; byte accesses won't work and may cause
552 * the NIC to behave weirdly. Long word accesses are permitted if the ASIC
553 * allows it.
554 */
555
550u_short
551ed_hpp_write_mbufs(struct ed_softc *sc, struct mbuf *m, int dst)
556static u_short
557ed_hpp_write_mbufs(struct ed_softc *sc, struct mbuf *m, bus_size_t dst)
552{
553 int len, wantbyte;
554 unsigned short total_len;
555 unsigned char savebyte[2];
556 volatile u_short * const d =
557 (volatile u_short *) sc->hpp_mem_start;
558 int use_32bit_accesses = !(sc->hpp_id & ED_HPP_ID_16_BIT_ACCESS);
559

--- 107 unchanged lines hidden ---
558{
559 int len, wantbyte;
560 unsigned short total_len;
561 unsigned char savebyte[2];
562 volatile u_short * const d =
563 (volatile u_short *) sc->hpp_mem_start;
564 int use_32bit_accesses = !(sc->hpp_id & ED_HPP_ID_16_BIT_ACCESS);
565

--- 107 unchanged lines hidden ---