Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/sys/arch/amiga/pci Finally add support for memory space acce...



details:   https://anonhg.NetBSD.org/src/rev/ff878c29e124
branches:  trunk
changeset: 779590:ff878c29e124
user:      rkujawa <rkujawa%NetBSD.org@localhost>
date:      Mon Jun 04 19:45:50 2012 +0000

description:
Finally add support for memory space access for empb(4). Buggy but better than nothing.

diffstat:

 sys/arch/amiga/pci/empb.c     |    9 +-
 sys/arch/amiga/pci/empb_bsm.c |  180 +++++++++++++++++++++---------------------
 2 files changed, 92 insertions(+), 97 deletions(-)

diffs (truncated from 559 to 300 lines):

diff -r 5e61b6065d86 -r ff878c29e124 sys/arch/amiga/pci/empb.c
--- a/sys/arch/amiga/pci/empb.c Mon Jun 04 19:37:36 2012 +0000
+++ b/sys/arch/amiga/pci/empb.c Mon Jun 04 19:45:50 2012 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: empb.c,v 1.5 2012/06/04 12:56:48 rkujawa Exp $ */
+/*     $NetBSD: empb.c,v 1.6 2012/06/04 19:45:50 rkujawa Exp $ */
 
 /*-
  * Copyright (c) 2012 The NetBSD Foundation, Inc.
@@ -55,7 +55,7 @@
 
 #include "opt_pci.h"
 
-/* #define EMPB_DEBUG 1  */
+/* #define EMPB_DEBUG 1 */
 
 #define        PCI_CONF_LOCK(s)        (s) = splhigh()
 #define        PCI_CONF_UNLOCK(s)      splx((s))
@@ -209,11 +209,6 @@
                aprint_error_dev(self,
                    "couldn't find memory space, check your WINDOW jumper\n");
 
-       /* just a test */
-       empb_switch_window(sc, 0x80000000);
-       empb_switch_window(sc, 0x82F00000);
-       empb_switch_window(sc, 0x82000000);
-
        /* Initialize the PCI chipset tag. */
        sc->apc.pc_conf_v = (void*) pc;
        sc->apc.pc_bus_maxdevs = empb_pci_bus_maxdevs;
diff -r 5e61b6065d86 -r ff878c29e124 sys/arch/amiga/pci/empb_bsm.c
--- a/sys/arch/amiga/pci/empb_bsm.c     Mon Jun 04 19:37:36 2012 +0000
+++ b/sys/arch/amiga/pci/empb_bsm.c     Mon Jun 04 19:45:50 2012 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: empb_bsm.c,v 1.3 2012/06/04 12:56:48 rkujawa Exp $ */
+/*     $NetBSD: empb_bsm.c,v 1.4 2012/06/04 19:45:50 rkujawa Exp $ */
 
 /*-
  * Copyright (c) 2012 The NetBSD Foundation, Inc.
@@ -85,7 +85,7 @@
 static bssr(empb_bssr2_swap, u_int16_t);
 static bscr(empb_bscr2, u_int16_t);
 
-/*static bsr(empb_bsr4_swap, u_int32_t);
+static bsr(empb_bsr4_swap, u_int32_t);
 static bsw(empb_bsw4_swap, u_int32_t);
 static bsr(empb_bsr4, u_int32_t);
 static bsw(empb_bsw4, u_int32_t);
@@ -98,7 +98,7 @@
 static bsrm(empb_bsrr4, u_int32_t);
 static bswm(empb_bswr4, u_int32_t);
 static bssr(empb_bssr4_swap, u_int32_t);
-static bscr(empb_bscr4, u_int32_t);*/
+static bscr(empb_bscr4, u_int32_t);
 /* 
  * Hold pointer to bridge driver here. We need to access it to switch 
  * window position. Perhaps it should be stored in bus_space_tag instead...
@@ -189,7 +189,7 @@
        return x;
 }
 
-void
+static void
 empb_bsw1(bus_space_handle_t handle, bus_size_t offset, unsigned value) 
 {
        uint8_t *p;
@@ -200,7 +200,7 @@
        *p = value;
 }
 
-void
+static void
 empb_bsrm1(bus_space_handle_t handle, bus_size_t offset, u_int8_t *pointer,
     bus_size_t count)
 {
@@ -217,7 +217,7 @@
        }
 }
 
-void
+static void
 empb_bswm1(bus_space_handle_t handle, bus_size_t offset, 
     const u_int8_t *pointer, bus_size_t count)
 {
@@ -234,7 +234,7 @@
        }
 }
 
-void
+static void
 empb_bsrr1(bus_space_handle_t handle, bus_size_t offset, u_int8_t *pointer,
     bus_size_t count)
 {
@@ -252,7 +252,7 @@
        }
 }
 
-void
+static void
 empb_bswr1(bus_space_handle_t handle, bus_size_t offset, 
     const u_int8_t *pointer, bus_size_t count)
 {
@@ -270,7 +270,7 @@
        }
 }
 
-void
+static void
 empb_bssr1(bus_space_handle_t handle, bus_size_t offset, unsigned value,
     bus_size_t count)
 {
@@ -289,7 +289,7 @@
 }
 
 /* XXX: this is broken, rewrite */
-void
+static void
 empb_bscr1(bus_space_handle_t handlefrom, bus_size_t from, 
     bus_space_handle_t handleto, bus_size_t to, bus_size_t count)
 {
@@ -344,7 +344,7 @@
 }
 
 
-void
+static void
 empb_bsw2(bus_space_handle_t handle, bus_size_t offset, unsigned value) 
 {
        uint16_t *p;
@@ -355,7 +355,7 @@
        *p = value;
 }
 
-void
+static void
 empb_bsw2_swap(bus_space_handle_t handle, bus_size_t offset, unsigned value) 
 {
        uint16_t *p;
@@ -366,7 +366,7 @@
        *p = bswap16(value);
 }
 
-void
+static void
 empb_bsrm2(bus_space_handle_t handle, bus_size_t offset, u_int16_t *pointer,
     bus_size_t count)
 {
@@ -374,7 +374,7 @@
        bus_addr_t wp; 
 
        wp = empb_switch_window(empb_sc, handle);
-       p = (volatile u_int16_t *) ((empb_sc->pci_mem_win_t->base) + 
+       p = (volatile uint16_t *) ((empb_sc->pci_mem_win_t->base) + 
            (handle - wp));
 
        while (count > 0) {
@@ -384,7 +384,7 @@
        }
 }
 
-void
+static void
 empb_bsrm2_swap(bus_space_handle_t handle, bus_size_t offset, 
     u_int16_t *pointer, bus_size_t count)
 {
@@ -392,7 +392,7 @@
        bus_addr_t wp; 
 
        wp = empb_switch_window(empb_sc, handle);
-       p = (volatile u_int16_t *) ((empb_sc->pci_mem_win_t->base) + 
+       p = (volatile uint16_t *) ((empb_sc->pci_mem_win_t->base) + 
            (handle - wp));
 
        while (count > 0) {
@@ -402,7 +402,7 @@
        }
 }
 
-void
+static void
 empb_bswm2(bus_space_handle_t handle, bus_size_t offset, 
     const u_int16_t *pointer, bus_size_t count)
 {
@@ -410,7 +410,7 @@
        bus_addr_t wp; 
 
        wp = empb_switch_window(empb_sc, handle);
-       p = (volatile u_int16_t *) ((empb_sc->pci_mem_win_t->base) + 
+       p = (volatile uint16_t *) ((empb_sc->pci_mem_win_t->base) + 
            (handle - wp));
 
        while (count > 0) {
@@ -420,7 +420,7 @@
        }
 }
 
-void
+static void
 empb_bswm2_swap(bus_space_handle_t handle, bus_size_t offset, 
     const u_int16_t *pointer, bus_size_t count)
 {
@@ -428,7 +428,7 @@
        bus_addr_t wp; 
 
        wp = empb_switch_window(empb_sc, handle);
-       p = (volatile u_int16_t *) ((empb_sc->pci_mem_win_t->base) + 
+       p = (volatile uint16_t *) ((empb_sc->pci_mem_win_t->base) + 
            (handle - wp));
 
        while (count > 0) {
@@ -438,7 +438,7 @@
        }
 }
 
-void
+static void
 empb_bsrr2(bus_space_handle_t handle, bus_size_t offset, u_int16_t *pointer,
     bus_size_t count)
 {
@@ -456,7 +456,7 @@
        }
 }
 
-void
+static void
 empb_bsrr2_swap(bus_space_handle_t handle, bus_size_t offset, 
     u_int16_t *pointer, bus_size_t count)
 {
@@ -474,7 +474,7 @@
        }
 }
 
-void
+static void
 empb_bssr2_swap(bus_space_handle_t handle, bus_size_t offset, unsigned value,
     bus_size_t count)
 {
@@ -493,7 +493,7 @@
        }
 }
 
-void
+static void
 empb_bswr2(bus_space_handle_t handle, bus_size_t offset, 
     const u_int16_t *pointer, bus_size_t count)
 {
@@ -511,7 +511,7 @@
        }
 }
 
-void
+static void
 empb_bswr2_swap(bus_space_handle_t handle, bus_size_t offset, 
     const u_int16_t *pointer, bus_size_t count)
 {
@@ -530,7 +530,7 @@
 }
 
 /* XXX: this is broken, rewrite, XXX 2: should we swap here? */
-void
+static void
 empb_bscr2(bus_space_handle_t handlefrom, bus_size_t from, 
     bus_space_handle_t handleto, bus_size_t to, bus_size_t count)
 {
@@ -553,7 +553,7 @@
 }
 
 /* === 32-bit methods === */
-/*
+
 static uint32_t
 empb_bsr4(bus_space_handle_t handle, bus_size_t offset)
 {
@@ -585,37 +585,37 @@
 }
 
 
-void
+static void
 empb_bsw4(bus_space_handle_t handle, bus_size_t offset, unsigned value) 
 {
        uint32_t *p;
        bus_addr_t wp; 
 
        wp = empb_switch_window(empb_sc, handle);
-       p = (uint16_t*)((empb_sc->pci_mem_win_t->base) + (handle - wp));
+       p = (uint32_t*)((empb_sc->pci_mem_win_t->base) + (handle - wp));
        *p = value;
 }
 
-void
-empb_bsw2_swap(bus_space_handle_t handle, bus_size_t offset, unsigned value) 
+static void
+empb_bsw4_swap(bus_space_handle_t handle, bus_size_t offset, unsigned value) 
 {
-       uint16_t *p;
+       uint32_t *p;
        bus_addr_t wp; 
 
        wp = empb_switch_window(empb_sc, handle);



Home | Main Index | Thread Index | Old Index