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