static int diva_pri_reset_adapter(PISDN_ADAPTER IoAdapter)
{
dword i;
- struct mp_load *boot;
+ struct mp_load __iomem *boot;
if (!IoAdapter->Address || !IoAdapter->reset) {
return (-1);
return (-1);
}
- boot = (struct mp_load *) DIVA_OS_MEM_ATTACH_ADDRESS(IoAdapter);
+ boot = (struct mp_load __iomem *) DIVA_OS_MEM_ATTACH_ADDRESS(IoAdapter);
WRITE_DWORD(&boot->err, 0);
DIVA_OS_MEM_DETACH_ADDRESS(IoAdapter, boot);
diva_os_wait(10);
- boot = (struct mp_load *) DIVA_OS_MEM_ATTACH_ADDRESS(IoAdapter);
+ boot = (struct mp_load __iomem *) DIVA_OS_MEM_ATTACH_ADDRESS(IoAdapter);
i = READ_DWORD(&boot->live);
diva_os_wait(10);
dword address,
const byte * data, dword length, dword limit)
{
- byte *p = DIVA_OS_MEM_ATTACH_ADDRESS(IoAdapter);
- byte *mem = p;
+ byte __iomem *p = DIVA_OS_MEM_ATTACH_ADDRESS(IoAdapter);
+ byte __iomem *mem = p;
if (((address + length) >= limit) || !mem) {
DIVA_OS_MEM_DETACH_ADDRESS(IoAdapter, p);
}
mem += address;
+ /* memcpy_toio(), maybe? */
while (length--) {
- *mem++ = *data++;
+ WRITE_BYTE(mem++, *data++);
}
DIVA_OS_MEM_DETACH_ADDRESS(IoAdapter, p);
{
dword i;
int started = 0;
- byte *p;
- struct mp_load *boot = (struct mp_load *) DIVA_OS_MEM_ATTACH_ADDRESS(IoAdapter);
+ byte __iomem *p;
+ struct mp_load __iomem *boot = (struct mp_load __iomem *) DIVA_OS_MEM_ATTACH_ADDRESS(IoAdapter);
ADAPTER *a = &IoAdapter->a;
if (IoAdapter->Initialized) {
}
if (!started) {
- byte *p = (byte *)boot;
+ byte __iomem *p = (byte __iomem *)boot;
dword TrapId;
dword debug;
TrapId = READ_DWORD(&p[0x80]);
*/
IoAdapter->IrqCount = 0;
p = DIVA_OS_MEM_ATTACH_CFG(IoAdapter);
- WRITE_DWORD(((dword volatile *) p), (dword) ~ 0x03E00000);
+ WRITE_DWORD(p, (dword) ~ 0x03E00000);
DIVA_OS_MEM_DETACH_CFG(IoAdapter, p);
a->ReadyInt = 1;
a->ram_out(a, &PR_RAM->ReadyInt, 1);
a->xdi_mbox.
data_length);
if (a->xdi_mbox.data) {
- byte *p = DIVA_OS_MEM_ATTACH_ADDRESS(&a->xdi_adapter);
- byte *src = p;
+ byte __iomem *p = DIVA_OS_MEM_ATTACH_ADDRESS(&a->xdi_adapter);
+ byte __iomem *src = p;
byte *dst = a->xdi_mbox.data;
dword len = a->xdi_mbox.data_length;
src += cmd->command_data.read_sdram.offset;
while (len--) {
- *dst++ = *src++;
+ *dst++ = READ_BYTE(src++);
}
a->xdi_mbox.status = DIVA_XDI_MBOX_BUSY;
DIVA_OS_MEM_DETACH_ADDRESS(&a->xdi_adapter, p);
byte data[64];
int i;
dword len = sizeof(data);
- volatile byte *config;
- volatile byte *flash;
+ volatile byte __iomem *config;
+ volatile byte __iomem *flash;
+ byte c;
/*
* First set some GT6401x config registers before accessing the BOOT-ROM
*/
config = DIVA_OS_MEM_ATTACH_CONFIG(&a->xdi_adapter);
- if (!(config[0xc3c] & 0x08)) {
- config[0xc3c] |= 0x08; /* Base Address enable register */
+ c = READ_BYTE(&config[0xc3c]);
+ if (!(c & 0x08)) {
+ WRITE_BYTE(&config[0xc3c], c); /* Base Address enable register */
}
- config[LOW_BOOTCS_DREG] = 0x00;
- config[HI_BOOTCS_DREG] = 0xFF;
+ WRITE_BYTE(&config[LOW_BOOTCS_DREG], 0x00);
+ WRITE_BYTE(&config[HI_BOOTCS_DREG], 0xFF);
DIVA_OS_MEM_DETACH_CONFIG(&a->xdi_adapter, config);
/*
* Read only the last 64 bytes of manufacturing data
memset(data, '\0', len);
flash = DIVA_OS_MEM_ATTACH_PROM(&a->xdi_adapter);
for (i = 0; i < len; i++) {
- data[i] = flash[0x8000 - len + i];
+ data[i] = READ_BYTE(&flash[0x8000 - len + i]);
}
DIVA_OS_MEM_DETACH_PROM(&a->xdi_adapter, flash);
config = DIVA_OS_MEM_ATTACH_CONFIG(&a->xdi_adapter);
- config[LOW_BOOTCS_DREG] = 0xFC; /* Disable FLASH EPROM access */
- config[HI_BOOTCS_DREG] = 0xFF;
+ WRITE_BYTE(&config[LOW_BOOTCS_DREG], 0xFC); /* Disable FLASH EPROM access */
+ WRITE_BYTE(&config[HI_BOOTCS_DREG], 0xFF);
DIVA_OS_MEM_DETACH_CONFIG(&a->xdi_adapter, config);
if (memcmp(&data[48], "DIVAserverPR", 12)) {
** Checks presence of DSP on board
*/
static int
-dsp_check_presence(volatile byte * addr, volatile byte * data, int dsp)
+dsp_check_presence(volatile byte __iomem * addr, volatile byte __iomem * data, int dsp)
{
word pattern;
*/
static dword diva_pri_detect_dsps(diva_os_xdi_adapter_t * a)
{
- byte *base;
- byte *p;
+ byte __iomem *base;
+ byte __iomem *p;
dword ret = 0;
dword row_offset[7] = {
0x00000000,
0x00000000 /* 5 - ROW 0 */
};
- byte *dsp_addr_port, *dsp_data_port, row_state;
+ byte __iomem *dsp_addr_port;
+ byte __iomem *dsp_data_port;
+ byte row_state;
int dsp_row = 0, dsp_index, dsp_num;
if (!a->xdi_adapter.Control || !a->xdi_adapter.reset) {
}
p = DIVA_OS_MEM_ATTACH_RESET(&a->xdi_adapter);
- *(volatile byte *) p = _MP_RISC_RESET | _MP_DSP_RESET;
+ WRITE_BYTE(p, _MP_RISC_RESET | _MP_DSP_RESET);
DIVA_OS_MEM_DETACH_RESET(&a->xdi_adapter, p);
diva_os_wait(5);
DIVA_OS_MEM_DETACH_CONTROL(&a->xdi_adapter, base);
p = DIVA_OS_MEM_ATTACH_RESET(&a->xdi_adapter);
- *(volatile byte *) p = _MP_RISC_RESET | _MP_LED1 | _MP_LED2;
+ WRITE_BYTE(p, _MP_RISC_RESET | _MP_LED1 | _MP_LED2);
DIVA_OS_MEM_DETACH_RESET(&a->xdi_adapter, p);
diva_os_wait(5);