[PATCH] m68k: namespace pollution fix (custom->amiga_custom)
in amigahw.h custom renamed to amiga_custom, in drivers with few instances the same replacement, in the rest - #define custom amiga_custom in driver itself Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Cc: Roman Zippel <zippel@linux-m68k.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
parent
198a410119
commit
b4290a23cf
|
@ -126,9 +126,9 @@ void __init amiga_init_IRQ(void)
|
||||||
gayle.inten = GAYLE_IRQ_IDE;
|
gayle.inten = GAYLE_IRQ_IDE;
|
||||||
|
|
||||||
/* turn off all interrupts and enable the master interrupt bit */
|
/* turn off all interrupts and enable the master interrupt bit */
|
||||||
custom.intena = 0x7fff;
|
amiga_custom.intena = 0x7fff;
|
||||||
custom.intreq = 0x7fff;
|
amiga_custom.intreq = 0x7fff;
|
||||||
custom.intena = IF_SETCLR | IF_INTEN;
|
amiga_custom.intena = IF_SETCLR | IF_INTEN;
|
||||||
|
|
||||||
cia_init_IRQ(&ciaa_base);
|
cia_init_IRQ(&ciaa_base);
|
||||||
cia_init_IRQ(&ciab_base);
|
cia_init_IRQ(&ciab_base);
|
||||||
|
@ -245,7 +245,7 @@ int amiga_request_irq(unsigned int irq,
|
||||||
|
|
||||||
/* enable the interrupt */
|
/* enable the interrupt */
|
||||||
if (irq < IRQ_AMIGA_PORTS && !ami_ablecount[irq])
|
if (irq < IRQ_AMIGA_PORTS && !ami_ablecount[irq])
|
||||||
custom.intena = IF_SETCLR | amiga_intena_vals[irq];
|
amiga_custom.intena = IF_SETCLR | amiga_intena_vals[irq];
|
||||||
|
|
||||||
return error;
|
return error;
|
||||||
}
|
}
|
||||||
|
@ -274,7 +274,7 @@ void amiga_free_irq(unsigned int irq, void *dev_id)
|
||||||
amiga_delete_irq(&ami_irq_list[irq], dev_id);
|
amiga_delete_irq(&ami_irq_list[irq], dev_id);
|
||||||
/* if server list empty, disable the interrupt */
|
/* if server list empty, disable the interrupt */
|
||||||
if (!ami_irq_list[irq] && irq < IRQ_AMIGA_PORTS)
|
if (!ami_irq_list[irq] && irq < IRQ_AMIGA_PORTS)
|
||||||
custom.intena = amiga_intena_vals[irq];
|
amiga_custom.intena = amiga_intena_vals[irq];
|
||||||
} else {
|
} else {
|
||||||
if (ami_irq_list[irq]->dev_id != dev_id)
|
if (ami_irq_list[irq]->dev_id != dev_id)
|
||||||
printk("%s: removing probably wrong IRQ %d from %s\n",
|
printk("%s: removing probably wrong IRQ %d from %s\n",
|
||||||
|
@ -283,7 +283,7 @@ void amiga_free_irq(unsigned int irq, void *dev_id)
|
||||||
ami_irq_list[irq]->flags = 0;
|
ami_irq_list[irq]->flags = 0;
|
||||||
ami_irq_list[irq]->dev_id = NULL;
|
ami_irq_list[irq]->dev_id = NULL;
|
||||||
ami_irq_list[irq]->devname = NULL;
|
ami_irq_list[irq]->devname = NULL;
|
||||||
custom.intena = amiga_intena_vals[irq];
|
amiga_custom.intena = amiga_intena_vals[irq];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -327,7 +327,7 @@ void amiga_enable_irq(unsigned int irq)
|
||||||
}
|
}
|
||||||
|
|
||||||
/* enable the interrupt */
|
/* enable the interrupt */
|
||||||
custom.intena = IF_SETCLR | amiga_intena_vals[irq];
|
amiga_custom.intena = IF_SETCLR | amiga_intena_vals[irq];
|
||||||
}
|
}
|
||||||
|
|
||||||
void amiga_disable_irq(unsigned int irq)
|
void amiga_disable_irq(unsigned int irq)
|
||||||
|
@ -358,7 +358,7 @@ void amiga_disable_irq(unsigned int irq)
|
||||||
}
|
}
|
||||||
|
|
||||||
/* disable the interrupt */
|
/* disable the interrupt */
|
||||||
custom.intena = amiga_intena_vals[irq];
|
amiga_custom.intena = amiga_intena_vals[irq];
|
||||||
}
|
}
|
||||||
|
|
||||||
inline void amiga_do_irq(int irq, struct pt_regs *fp)
|
inline void amiga_do_irq(int irq, struct pt_regs *fp)
|
||||||
|
@ -373,7 +373,7 @@ void amiga_do_irq_list(int irq, struct pt_regs *fp)
|
||||||
|
|
||||||
kstat_cpu(0).irqs[SYS_IRQS + irq]++;
|
kstat_cpu(0).irqs[SYS_IRQS + irq]++;
|
||||||
|
|
||||||
custom.intreq = amiga_intena_vals[irq];
|
amiga_custom.intreq = amiga_intena_vals[irq];
|
||||||
|
|
||||||
for (node = ami_irq_list[irq]; node; node = node->next)
|
for (node = ami_irq_list[irq]; node; node = node->next)
|
||||||
node->handler(irq, node->dev_id, fp);
|
node->handler(irq, node->dev_id, fp);
|
||||||
|
@ -385,23 +385,23 @@ void amiga_do_irq_list(int irq, struct pt_regs *fp)
|
||||||
|
|
||||||
static irqreturn_t ami_int1(int irq, void *dev_id, struct pt_regs *fp)
|
static irqreturn_t ami_int1(int irq, void *dev_id, struct pt_regs *fp)
|
||||||
{
|
{
|
||||||
unsigned short ints = custom.intreqr & custom.intenar;
|
unsigned short ints = amiga_custom.intreqr & amiga_custom.intenar;
|
||||||
|
|
||||||
/* if serial transmit buffer empty, interrupt */
|
/* if serial transmit buffer empty, interrupt */
|
||||||
if (ints & IF_TBE) {
|
if (ints & IF_TBE) {
|
||||||
custom.intreq = IF_TBE;
|
amiga_custom.intreq = IF_TBE;
|
||||||
amiga_do_irq(IRQ_AMIGA_TBE, fp);
|
amiga_do_irq(IRQ_AMIGA_TBE, fp);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* if floppy disk transfer complete, interrupt */
|
/* if floppy disk transfer complete, interrupt */
|
||||||
if (ints & IF_DSKBLK) {
|
if (ints & IF_DSKBLK) {
|
||||||
custom.intreq = IF_DSKBLK;
|
amiga_custom.intreq = IF_DSKBLK;
|
||||||
amiga_do_irq(IRQ_AMIGA_DSKBLK, fp);
|
amiga_do_irq(IRQ_AMIGA_DSKBLK, fp);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* if software interrupt set, interrupt */
|
/* if software interrupt set, interrupt */
|
||||||
if (ints & IF_SOFT) {
|
if (ints & IF_SOFT) {
|
||||||
custom.intreq = IF_SOFT;
|
amiga_custom.intreq = IF_SOFT;
|
||||||
amiga_do_irq(IRQ_AMIGA_SOFT, fp);
|
amiga_do_irq(IRQ_AMIGA_SOFT, fp);
|
||||||
}
|
}
|
||||||
return IRQ_HANDLED;
|
return IRQ_HANDLED;
|
||||||
|
@ -409,17 +409,17 @@ static irqreturn_t ami_int1(int irq, void *dev_id, struct pt_regs *fp)
|
||||||
|
|
||||||
static irqreturn_t ami_int3(int irq, void *dev_id, struct pt_regs *fp)
|
static irqreturn_t ami_int3(int irq, void *dev_id, struct pt_regs *fp)
|
||||||
{
|
{
|
||||||
unsigned short ints = custom.intreqr & custom.intenar;
|
unsigned short ints = amiga_custom.intreqr & amiga_custom.intenar;
|
||||||
|
|
||||||
/* if a blitter interrupt */
|
/* if a blitter interrupt */
|
||||||
if (ints & IF_BLIT) {
|
if (ints & IF_BLIT) {
|
||||||
custom.intreq = IF_BLIT;
|
amiga_custom.intreq = IF_BLIT;
|
||||||
amiga_do_irq(IRQ_AMIGA_BLIT, fp);
|
amiga_do_irq(IRQ_AMIGA_BLIT, fp);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* if a copper interrupt */
|
/* if a copper interrupt */
|
||||||
if (ints & IF_COPER) {
|
if (ints & IF_COPER) {
|
||||||
custom.intreq = IF_COPER;
|
amiga_custom.intreq = IF_COPER;
|
||||||
amiga_do_irq(IRQ_AMIGA_COPPER, fp);
|
amiga_do_irq(IRQ_AMIGA_COPPER, fp);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -431,29 +431,29 @@ static irqreturn_t ami_int3(int irq, void *dev_id, struct pt_regs *fp)
|
||||||
|
|
||||||
static irqreturn_t ami_int4(int irq, void *dev_id, struct pt_regs *fp)
|
static irqreturn_t ami_int4(int irq, void *dev_id, struct pt_regs *fp)
|
||||||
{
|
{
|
||||||
unsigned short ints = custom.intreqr & custom.intenar;
|
unsigned short ints = amiga_custom.intreqr & amiga_custom.intenar;
|
||||||
|
|
||||||
/* if audio 0 interrupt */
|
/* if audio 0 interrupt */
|
||||||
if (ints & IF_AUD0) {
|
if (ints & IF_AUD0) {
|
||||||
custom.intreq = IF_AUD0;
|
amiga_custom.intreq = IF_AUD0;
|
||||||
amiga_do_irq(IRQ_AMIGA_AUD0, fp);
|
amiga_do_irq(IRQ_AMIGA_AUD0, fp);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* if audio 1 interrupt */
|
/* if audio 1 interrupt */
|
||||||
if (ints & IF_AUD1) {
|
if (ints & IF_AUD1) {
|
||||||
custom.intreq = IF_AUD1;
|
amiga_custom.intreq = IF_AUD1;
|
||||||
amiga_do_irq(IRQ_AMIGA_AUD1, fp);
|
amiga_do_irq(IRQ_AMIGA_AUD1, fp);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* if audio 2 interrupt */
|
/* if audio 2 interrupt */
|
||||||
if (ints & IF_AUD2) {
|
if (ints & IF_AUD2) {
|
||||||
custom.intreq = IF_AUD2;
|
amiga_custom.intreq = IF_AUD2;
|
||||||
amiga_do_irq(IRQ_AMIGA_AUD2, fp);
|
amiga_do_irq(IRQ_AMIGA_AUD2, fp);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* if audio 3 interrupt */
|
/* if audio 3 interrupt */
|
||||||
if (ints & IF_AUD3) {
|
if (ints & IF_AUD3) {
|
||||||
custom.intreq = IF_AUD3;
|
amiga_custom.intreq = IF_AUD3;
|
||||||
amiga_do_irq(IRQ_AMIGA_AUD3, fp);
|
amiga_do_irq(IRQ_AMIGA_AUD3, fp);
|
||||||
}
|
}
|
||||||
return IRQ_HANDLED;
|
return IRQ_HANDLED;
|
||||||
|
@ -461,7 +461,7 @@ static irqreturn_t ami_int4(int irq, void *dev_id, struct pt_regs *fp)
|
||||||
|
|
||||||
static irqreturn_t ami_int5(int irq, void *dev_id, struct pt_regs *fp)
|
static irqreturn_t ami_int5(int irq, void *dev_id, struct pt_regs *fp)
|
||||||
{
|
{
|
||||||
unsigned short ints = custom.intreqr & custom.intenar;
|
unsigned short ints = amiga_custom.intreqr & amiga_custom.intenar;
|
||||||
|
|
||||||
/* if serial receive buffer full interrupt */
|
/* if serial receive buffer full interrupt */
|
||||||
if (ints & IF_RBF) {
|
if (ints & IF_RBF) {
|
||||||
|
@ -471,7 +471,7 @@ static irqreturn_t ami_int5(int irq, void *dev_id, struct pt_regs *fp)
|
||||||
|
|
||||||
/* if a disk sync interrupt */
|
/* if a disk sync interrupt */
|
||||||
if (ints & IF_DSKSYN) {
|
if (ints & IF_DSKSYN) {
|
||||||
custom.intreq = IF_DSKSYN;
|
amiga_custom.intreq = IF_DSKSYN;
|
||||||
amiga_do_irq(IRQ_AMIGA_DSKSYN, fp);
|
amiga_do_irq(IRQ_AMIGA_DSKSYN, fp);
|
||||||
}
|
}
|
||||||
return IRQ_HANDLED;
|
return IRQ_HANDLED;
|
||||||
|
|
|
@ -24,6 +24,8 @@ static const signed char sine_data[] = {
|
||||||
};
|
};
|
||||||
#define DATA_SIZE (sizeof(sine_data)/sizeof(sine_data[0]))
|
#define DATA_SIZE (sizeof(sine_data)/sizeof(sine_data[0]))
|
||||||
|
|
||||||
|
#define custom amiga_custom
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The minimum period for audio may be modified by the frame buffer
|
* The minimum period for audio may be modified by the frame buffer
|
||||||
* device since it depends on htotal (for OCS/ECS/AGA)
|
* device since it depends on htotal (for OCS/ECS/AGA)
|
||||||
|
|
|
@ -60,7 +60,7 @@ unsigned char cia_set_irq(struct ciabase *base, unsigned char mask)
|
||||||
else
|
else
|
||||||
base->icr_data &= ~mask;
|
base->icr_data &= ~mask;
|
||||||
if (base->icr_data & base->icr_mask)
|
if (base->icr_data & base->icr_mask)
|
||||||
custom.intreq = IF_SETCLR | base->int_mask;
|
amiga_custom.intreq = IF_SETCLR | base->int_mask;
|
||||||
return old & base->icr_mask;
|
return old & base->icr_mask;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -89,7 +89,7 @@ unsigned char cia_able_irq(struct ciabase *base, unsigned char mask)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (base->icr_data & base->icr_mask)
|
if (base->icr_data & base->icr_mask)
|
||||||
custom.intreq = IF_SETCLR | base->int_mask;
|
amiga_custom.intreq = IF_SETCLR | base->int_mask;
|
||||||
return old;
|
return old;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -133,7 +133,7 @@ static irqreturn_t cia_handler(int irq, void *dev_id, struct pt_regs *fp)
|
||||||
mach_irq = base->cia_irq;
|
mach_irq = base->cia_irq;
|
||||||
irq = SYS_IRQS + mach_irq;
|
irq = SYS_IRQS + mach_irq;
|
||||||
ints = cia_set_irq(base, CIA_ICR_ALL);
|
ints = cia_set_irq(base, CIA_ICR_ALL);
|
||||||
custom.intreq = base->int_mask;
|
amiga_custom.intreq = base->int_mask;
|
||||||
for (i = 0; i < CIA_IRQS; i++, irq++, mach_irq++) {
|
for (i = 0; i < CIA_IRQS; i++, irq++, mach_irq++) {
|
||||||
if (ints & 1) {
|
if (ints & 1) {
|
||||||
kstat_cpu(0).irqs[irq]++;
|
kstat_cpu(0).irqs[irq]++;
|
||||||
|
@ -162,7 +162,7 @@ void __init cia_init_IRQ(struct ciabase *base)
|
||||||
/* install CIA handler */
|
/* install CIA handler */
|
||||||
request_irq(base->handler_irq, cia_handler, 0, base->name, base);
|
request_irq(base->handler_irq, cia_handler, 0, base->name, base);
|
||||||
|
|
||||||
custom.intena = IF_SETCLR | base->int_mask;
|
amiga_custom.intena = IF_SETCLR | base->int_mask;
|
||||||
}
|
}
|
||||||
|
|
||||||
int cia_get_irq_list(struct ciabase *base, struct seq_file *p)
|
int cia_get_irq_list(struct ciabase *base, struct seq_file *p)
|
||||||
|
|
|
@ -290,7 +290,7 @@ static void __init amiga_identify(void)
|
||||||
case CS_OCS:
|
case CS_OCS:
|
||||||
case CS_ECS:
|
case CS_ECS:
|
||||||
case CS_AGA:
|
case CS_AGA:
|
||||||
switch (custom.deniseid & 0xf) {
|
switch (amiga_custom.deniseid & 0xf) {
|
||||||
case 0x0c:
|
case 0x0c:
|
||||||
AMIGAHW_SET(DENISE_HR);
|
AMIGAHW_SET(DENISE_HR);
|
||||||
break;
|
break;
|
||||||
|
@ -303,7 +303,7 @@ static void __init amiga_identify(void)
|
||||||
AMIGAHW_SET(DENISE);
|
AMIGAHW_SET(DENISE);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
switch ((custom.vposr>>8) & 0x7f) {
|
switch ((amiga_custom.vposr>>8) & 0x7f) {
|
||||||
case 0x00:
|
case 0x00:
|
||||||
AMIGAHW_SET(AGNUS_PAL);
|
AMIGAHW_SET(AGNUS_PAL);
|
||||||
break;
|
break;
|
||||||
|
@ -447,9 +447,9 @@ void __init config_amiga(void)
|
||||||
amiga_colorclock = 5*amiga_eclock; /* 3.5 MHz */
|
amiga_colorclock = 5*amiga_eclock; /* 3.5 MHz */
|
||||||
|
|
||||||
/* clear all DMA bits */
|
/* clear all DMA bits */
|
||||||
custom.dmacon = DMAF_ALL;
|
amiga_custom.dmacon = DMAF_ALL;
|
||||||
/* ensure that the DMA master bit is set */
|
/* ensure that the DMA master bit is set */
|
||||||
custom.dmacon = DMAF_SETCLR | DMAF_MASTER;
|
amiga_custom.dmacon = DMAF_SETCLR | DMAF_MASTER;
|
||||||
|
|
||||||
/* don't use Z2 RAM as system memory on Z3 capable machines */
|
/* don't use Z2 RAM as system memory on Z3 capable machines */
|
||||||
if (AMIGAHW_PRESENT(ZORRO3)) {
|
if (AMIGAHW_PRESENT(ZORRO3)) {
|
||||||
|
@ -830,8 +830,8 @@ static void amiga_savekmsg_init(void)
|
||||||
|
|
||||||
static void amiga_serial_putc(char c)
|
static void amiga_serial_putc(char c)
|
||||||
{
|
{
|
||||||
custom.serdat = (unsigned char)c | 0x100;
|
amiga_custom.serdat = (unsigned char)c | 0x100;
|
||||||
while (!(custom.serdatr & 0x2000))
|
while (!(amiga_custom.serdatr & 0x2000))
|
||||||
;
|
;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -855,11 +855,11 @@ int amiga_serial_console_wait_key(struct console *co)
|
||||||
{
|
{
|
||||||
int ch;
|
int ch;
|
||||||
|
|
||||||
while (!(custom.intreqr & IF_RBF))
|
while (!(amiga_custom.intreqr & IF_RBF))
|
||||||
barrier();
|
barrier();
|
||||||
ch = custom.serdatr & 0xff;
|
ch = amiga_custom.serdatr & 0xff;
|
||||||
/* clear the interrupt, so that another character can be read */
|
/* clear the interrupt, so that another character can be read */
|
||||||
custom.intreq = IF_RBF;
|
amiga_custom.intreq = IF_RBF;
|
||||||
return ch;
|
return ch;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -92,7 +92,7 @@ int main(void)
|
||||||
DEFINE(TRAP_TRACE, TRAP_TRACE);
|
DEFINE(TRAP_TRACE, TRAP_TRACE);
|
||||||
|
|
||||||
/* offsets into the custom struct */
|
/* offsets into the custom struct */
|
||||||
DEFINE(CUSTOMBASE, &custom);
|
DEFINE(CUSTOMBASE, &amiga_custom);
|
||||||
DEFINE(C_INTENAR, offsetof(struct CUSTOM, intenar));
|
DEFINE(C_INTENAR, offsetof(struct CUSTOM, intenar));
|
||||||
DEFINE(C_INTREQR, offsetof(struct CUSTOM, intreqr));
|
DEFINE(C_INTREQR, offsetof(struct CUSTOM, intreqr));
|
||||||
DEFINE(C_INTENA, offsetof(struct CUSTOM, intena));
|
DEFINE(C_INTENA, offsetof(struct CUSTOM, intena));
|
||||||
|
|
|
@ -96,8 +96,8 @@ void amiga_init_IRQ(void)
|
||||||
gayle.inten = GAYLE_IRQ_IDE;
|
gayle.inten = GAYLE_IRQ_IDE;
|
||||||
|
|
||||||
/* turn off all interrupts... */
|
/* turn off all interrupts... */
|
||||||
custom.intena = 0x7fff;
|
amiga_custom.intena = 0x7fff;
|
||||||
custom.intreq = 0x7fff;
|
amiga_custom.intreq = 0x7fff;
|
||||||
|
|
||||||
#ifdef CONFIG_APUS
|
#ifdef CONFIG_APUS
|
||||||
/* Clear any inter-CPU interrupt requests. Circumvents bug in
|
/* Clear any inter-CPU interrupt requests. Circumvents bug in
|
||||||
|
@ -110,7 +110,7 @@ void amiga_init_IRQ(void)
|
||||||
APUS_WRITE(APUS_IPL_EMU, IPLEMU_SETRESET | IPLEMU_IPLMASK);
|
APUS_WRITE(APUS_IPL_EMU, IPLEMU_SETRESET | IPLEMU_IPLMASK);
|
||||||
#endif
|
#endif
|
||||||
/* ... and enable the master interrupt bit */
|
/* ... and enable the master interrupt bit */
|
||||||
custom.intena = IF_SETCLR | IF_INTEN;
|
amiga_custom.intena = IF_SETCLR | IF_INTEN;
|
||||||
|
|
||||||
cia_init_IRQ(&ciaa_base);
|
cia_init_IRQ(&ciaa_base);
|
||||||
cia_init_IRQ(&ciab_base);
|
cia_init_IRQ(&ciab_base);
|
||||||
|
@ -151,7 +151,7 @@ void amiga_enable_irq(unsigned int irq)
|
||||||
}
|
}
|
||||||
|
|
||||||
/* enable the interrupt */
|
/* enable the interrupt */
|
||||||
custom.intena = IF_SETCLR | ami_intena_vals[irq];
|
amiga_custom.intena = IF_SETCLR | ami_intena_vals[irq];
|
||||||
}
|
}
|
||||||
|
|
||||||
void amiga_disable_irq(unsigned int irq)
|
void amiga_disable_irq(unsigned int irq)
|
||||||
|
@ -177,7 +177,7 @@ void amiga_disable_irq(unsigned int irq)
|
||||||
}
|
}
|
||||||
|
|
||||||
/* disable the interrupt */
|
/* disable the interrupt */
|
||||||
custom.intena = ami_intena_vals[irq];
|
amiga_custom.intena = ami_intena_vals[irq];
|
||||||
}
|
}
|
||||||
|
|
||||||
inline void amiga_do_irq(int irq, struct pt_regs *fp)
|
inline void amiga_do_irq(int irq, struct pt_regs *fp)
|
||||||
|
@ -196,7 +196,7 @@ void amiga_do_irq_list(int irq, struct pt_regs *fp)
|
||||||
|
|
||||||
kstat_cpu(0).irqs[irq]++;
|
kstat_cpu(0).irqs[irq]++;
|
||||||
|
|
||||||
custom.intreq = ami_intena_vals[irq];
|
amiga_custom.intreq = ami_intena_vals[irq];
|
||||||
|
|
||||||
for (action = desc->action; action; action = action->next)
|
for (action = desc->action; action; action = action->next)
|
||||||
action->handler(irq, action->dev_id, fp);
|
action->handler(irq, action->dev_id, fp);
|
||||||
|
@ -208,40 +208,40 @@ void amiga_do_irq_list(int irq, struct pt_regs *fp)
|
||||||
|
|
||||||
static void ami_int1(int irq, void *dev_id, struct pt_regs *fp)
|
static void ami_int1(int irq, void *dev_id, struct pt_regs *fp)
|
||||||
{
|
{
|
||||||
unsigned short ints = custom.intreqr & custom.intenar;
|
unsigned short ints = amiga_custom.intreqr & amiga_custom.intenar;
|
||||||
|
|
||||||
/* if serial transmit buffer empty, interrupt */
|
/* if serial transmit buffer empty, interrupt */
|
||||||
if (ints & IF_TBE) {
|
if (ints & IF_TBE) {
|
||||||
custom.intreq = IF_TBE;
|
amiga_custom.intreq = IF_TBE;
|
||||||
amiga_do_irq(IRQ_AMIGA_TBE, fp);
|
amiga_do_irq(IRQ_AMIGA_TBE, fp);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* if floppy disk transfer complete, interrupt */
|
/* if floppy disk transfer complete, interrupt */
|
||||||
if (ints & IF_DSKBLK) {
|
if (ints & IF_DSKBLK) {
|
||||||
custom.intreq = IF_DSKBLK;
|
amiga_custom.intreq = IF_DSKBLK;
|
||||||
amiga_do_irq(IRQ_AMIGA_DSKBLK, fp);
|
amiga_do_irq(IRQ_AMIGA_DSKBLK, fp);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* if software interrupt set, interrupt */
|
/* if software interrupt set, interrupt */
|
||||||
if (ints & IF_SOFT) {
|
if (ints & IF_SOFT) {
|
||||||
custom.intreq = IF_SOFT;
|
amiga_custom.intreq = IF_SOFT;
|
||||||
amiga_do_irq(IRQ_AMIGA_SOFT, fp);
|
amiga_do_irq(IRQ_AMIGA_SOFT, fp);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void ami_int3(int irq, void *dev_id, struct pt_regs *fp)
|
static void ami_int3(int irq, void *dev_id, struct pt_regs *fp)
|
||||||
{
|
{
|
||||||
unsigned short ints = custom.intreqr & custom.intenar;
|
unsigned short ints = amiga_custom.intreqr & amiga_custom.intenar;
|
||||||
|
|
||||||
/* if a blitter interrupt */
|
/* if a blitter interrupt */
|
||||||
if (ints & IF_BLIT) {
|
if (ints & IF_BLIT) {
|
||||||
custom.intreq = IF_BLIT;
|
amiga_custom.intreq = IF_BLIT;
|
||||||
amiga_do_irq(IRQ_AMIGA_BLIT, fp);
|
amiga_do_irq(IRQ_AMIGA_BLIT, fp);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* if a copper interrupt */
|
/* if a copper interrupt */
|
||||||
if (ints & IF_COPER) {
|
if (ints & IF_COPER) {
|
||||||
custom.intreq = IF_COPER;
|
amiga_custom.intreq = IF_COPER;
|
||||||
amiga_do_irq(IRQ_AMIGA_COPPER, fp);
|
amiga_do_irq(IRQ_AMIGA_COPPER, fp);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -252,36 +252,36 @@ static void ami_int3(int irq, void *dev_id, struct pt_regs *fp)
|
||||||
|
|
||||||
static void ami_int4(int irq, void *dev_id, struct pt_regs *fp)
|
static void ami_int4(int irq, void *dev_id, struct pt_regs *fp)
|
||||||
{
|
{
|
||||||
unsigned short ints = custom.intreqr & custom.intenar;
|
unsigned short ints = amiga_custom.intreqr & amiga_custom.intenar;
|
||||||
|
|
||||||
/* if audio 0 interrupt */
|
/* if audio 0 interrupt */
|
||||||
if (ints & IF_AUD0) {
|
if (ints & IF_AUD0) {
|
||||||
custom.intreq = IF_AUD0;
|
amiga_custom.intreq = IF_AUD0;
|
||||||
amiga_do_irq(IRQ_AMIGA_AUD0, fp);
|
amiga_do_irq(IRQ_AMIGA_AUD0, fp);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* if audio 1 interrupt */
|
/* if audio 1 interrupt */
|
||||||
if (ints & IF_AUD1) {
|
if (ints & IF_AUD1) {
|
||||||
custom.intreq = IF_AUD1;
|
amiga_custom.intreq = IF_AUD1;
|
||||||
amiga_do_irq(IRQ_AMIGA_AUD1, fp);
|
amiga_do_irq(IRQ_AMIGA_AUD1, fp);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* if audio 2 interrupt */
|
/* if audio 2 interrupt */
|
||||||
if (ints & IF_AUD2) {
|
if (ints & IF_AUD2) {
|
||||||
custom.intreq = IF_AUD2;
|
amiga_custom.intreq = IF_AUD2;
|
||||||
amiga_do_irq(IRQ_AMIGA_AUD2, fp);
|
amiga_do_irq(IRQ_AMIGA_AUD2, fp);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* if audio 3 interrupt */
|
/* if audio 3 interrupt */
|
||||||
if (ints & IF_AUD3) {
|
if (ints & IF_AUD3) {
|
||||||
custom.intreq = IF_AUD3;
|
amiga_custom.intreq = IF_AUD3;
|
||||||
amiga_do_irq(IRQ_AMIGA_AUD3, fp);
|
amiga_do_irq(IRQ_AMIGA_AUD3, fp);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void ami_int5(int irq, void *dev_id, struct pt_regs *fp)
|
static void ami_int5(int irq, void *dev_id, struct pt_regs *fp)
|
||||||
{
|
{
|
||||||
unsigned short ints = custom.intreqr & custom.intenar;
|
unsigned short ints = amiga_custom.intreqr & amiga_custom.intenar;
|
||||||
|
|
||||||
/* if serial receive buffer full interrupt */
|
/* if serial receive buffer full interrupt */
|
||||||
if (ints & IF_RBF) {
|
if (ints & IF_RBF) {
|
||||||
|
@ -291,7 +291,7 @@ static void ami_int5(int irq, void *dev_id, struct pt_regs *fp)
|
||||||
|
|
||||||
/* if a disk sync interrupt */
|
/* if a disk sync interrupt */
|
||||||
if (ints & IF_DSKSYN) {
|
if (ints & IF_DSKSYN) {
|
||||||
custom.intreq = IF_DSKSYN;
|
amiga_custom.intreq = IF_DSKSYN;
|
||||||
amiga_do_irq(IRQ_AMIGA_DSKSYN, fp);
|
amiga_do_irq(IRQ_AMIGA_DSKSYN, fp);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -66,7 +66,7 @@ static unsigned char cia_set_irq_private(struct ciabase *base,
|
||||||
else
|
else
|
||||||
base->icr_data &= ~mask;
|
base->icr_data &= ~mask;
|
||||||
if (base->icr_data & base->icr_mask)
|
if (base->icr_data & base->icr_mask)
|
||||||
custom.intreq = IF_SETCLR | base->int_mask;
|
amiga_custom.intreq = IF_SETCLR | base->int_mask;
|
||||||
return old & base->icr_mask;
|
return old & base->icr_mask;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -114,7 +114,7 @@ static unsigned char cia_able_irq_private(struct ciabase *base,
|
||||||
base->icr_mask &= CIA_ICR_ALL;
|
base->icr_mask &= CIA_ICR_ALL;
|
||||||
|
|
||||||
if (base->icr_data & base->icr_mask)
|
if (base->icr_data & base->icr_mask)
|
||||||
custom.intreq = IF_SETCLR | base->int_mask;
|
amiga_custom.intreq = IF_SETCLR | base->int_mask;
|
||||||
return old;
|
return old;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -145,7 +145,7 @@ static void cia_handler(int irq, void *dev_id, struct pt_regs *fp)
|
||||||
irq = base->cia_irq;
|
irq = base->cia_irq;
|
||||||
desc = irq_desc + irq;
|
desc = irq_desc + irq;
|
||||||
ints = cia_set_irq_private(base, CIA_ICR_ALL);
|
ints = cia_set_irq_private(base, CIA_ICR_ALL);
|
||||||
custom.intreq = base->int_mask;
|
amiga_custom.intreq = base->int_mask;
|
||||||
for (i = 0; i < CIA_IRQS; i++, irq++) {
|
for (i = 0; i < CIA_IRQS; i++, irq++) {
|
||||||
if (ints & 1) {
|
if (ints & 1) {
|
||||||
kstat_cpu(0).irqs[irq]++;
|
kstat_cpu(0).irqs[irq]++;
|
||||||
|
@ -174,5 +174,5 @@ void __init cia_init_IRQ(struct ciabase *base)
|
||||||
action->name = base->name;
|
action->name = base->name;
|
||||||
setup_irq(base->handler_irq, &amiga_sys_irqaction[base->handler_irq-IRQ_AMIGA_AUTO]);
|
setup_irq(base->handler_irq, &amiga_sys_irqaction[base->handler_irq-IRQ_AMIGA_AUTO]);
|
||||||
|
|
||||||
custom.intena = IF_SETCLR | base->int_mask;
|
amiga_custom.intena = IF_SETCLR | base->int_mask;
|
||||||
}
|
}
|
||||||
|
|
|
@ -281,7 +281,7 @@ static void __init amiga_identify(void)
|
||||||
case CS_OCS:
|
case CS_OCS:
|
||||||
case CS_ECS:
|
case CS_ECS:
|
||||||
case CS_AGA:
|
case CS_AGA:
|
||||||
switch (custom.deniseid & 0xf) {
|
switch (amiga_custom.deniseid & 0xf) {
|
||||||
case 0x0c:
|
case 0x0c:
|
||||||
AMIGAHW_SET(DENISE_HR);
|
AMIGAHW_SET(DENISE_HR);
|
||||||
break;
|
break;
|
||||||
|
@ -294,7 +294,7 @@ static void __init amiga_identify(void)
|
||||||
AMIGAHW_SET(DENISE);
|
AMIGAHW_SET(DENISE);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
switch ((custom.vposr>>8) & 0x7f) {
|
switch ((amiga_custom.vposr>>8) & 0x7f) {
|
||||||
case 0x00:
|
case 0x00:
|
||||||
AMIGAHW_SET(AGNUS_PAL);
|
AMIGAHW_SET(AGNUS_PAL);
|
||||||
break;
|
break;
|
||||||
|
@ -432,9 +432,9 @@ void __init config_amiga(void)
|
||||||
amiga_colorclock = 5*amiga_eclock; /* 3.5 MHz */
|
amiga_colorclock = 5*amiga_eclock; /* 3.5 MHz */
|
||||||
|
|
||||||
/* clear all DMA bits */
|
/* clear all DMA bits */
|
||||||
custom.dmacon = DMAF_ALL;
|
amiga_custom.dmacon = DMAF_ALL;
|
||||||
/* ensure that the DMA master bit is set */
|
/* ensure that the DMA master bit is set */
|
||||||
custom.dmacon = DMAF_SETCLR | DMAF_MASTER;
|
amiga_custom.dmacon = DMAF_SETCLR | DMAF_MASTER;
|
||||||
|
|
||||||
/* request all RAM */
|
/* request all RAM */
|
||||||
for (i = 0; i < m68k_num_memory; i++) {
|
for (i = 0; i < m68k_num_memory; i++) {
|
||||||
|
@ -753,9 +753,9 @@ static void amiga_savekmsg_init(void)
|
||||||
|
|
||||||
static void amiga_serial_putc(char c)
|
static void amiga_serial_putc(char c)
|
||||||
{
|
{
|
||||||
custom.serdat = (unsigned char)c | 0x100;
|
amiga_custom.serdat = (unsigned char)c | 0x100;
|
||||||
mb();
|
mb();
|
||||||
while (!(custom.serdatr & 0x2000))
|
while (!(amiga_custom.serdatr & 0x2000))
|
||||||
;
|
;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -785,11 +785,11 @@ int amiga_serial_console_wait_key(struct console *co)
|
||||||
{
|
{
|
||||||
int ch;
|
int ch;
|
||||||
|
|
||||||
while (!(custom.intreqr & IF_RBF))
|
while (!(amiga_custom.intreqr & IF_RBF))
|
||||||
barrier();
|
barrier();
|
||||||
ch = custom.serdatr & 0xff;
|
ch = amiga_custom.serdatr & 0xff;
|
||||||
/* clear the interrupt, so that another character can be read */
|
/* clear the interrupt, so that another character can be read */
|
||||||
custom.intreq = IF_RBF;
|
amiga_custom.intreq = IF_RBF;
|
||||||
return ch;
|
return ch;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -574,9 +574,9 @@ static __inline__ void ser_RTSon(void)
|
||||||
|
|
||||||
int __debug_ser_out( unsigned char c )
|
int __debug_ser_out( unsigned char c )
|
||||||
{
|
{
|
||||||
custom.serdat = c | 0x100;
|
amiga_custom.serdat = c | 0x100;
|
||||||
mb();
|
mb();
|
||||||
while (!(custom.serdatr & 0x2000))
|
while (!(amiga_custom.serdatr & 0x2000))
|
||||||
barrier();
|
barrier();
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
@ -586,11 +586,11 @@ unsigned char __debug_ser_in( void )
|
||||||
unsigned char c;
|
unsigned char c;
|
||||||
|
|
||||||
/* XXX: is that ok?? derived from amiga_ser.c... */
|
/* XXX: is that ok?? derived from amiga_ser.c... */
|
||||||
while( !(custom.intreqr & IF_RBF) )
|
while( !(amiga_custom.intreqr & IF_RBF) )
|
||||||
barrier();
|
barrier();
|
||||||
c = custom.serdatr;
|
c = amiga_custom.serdatr;
|
||||||
/* clear the interrupt, so that another character can be read */
|
/* clear the interrupt, so that another character can be read */
|
||||||
custom.intreq = IF_RBF;
|
amiga_custom.intreq = IF_RBF;
|
||||||
return c;
|
return c;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -601,10 +601,10 @@ int __debug_serinit( void )
|
||||||
local_irq_save(flags);
|
local_irq_save(flags);
|
||||||
|
|
||||||
/* turn off Rx and Tx interrupts */
|
/* turn off Rx and Tx interrupts */
|
||||||
custom.intena = IF_RBF | IF_TBE;
|
amiga_custom.intena = IF_RBF | IF_TBE;
|
||||||
|
|
||||||
/* clear any pending interrupt */
|
/* clear any pending interrupt */
|
||||||
custom.intreq = IF_RBF | IF_TBE;
|
amiga_custom.intreq = IF_RBF | IF_TBE;
|
||||||
|
|
||||||
local_irq_restore(flags);
|
local_irq_restore(flags);
|
||||||
|
|
||||||
|
@ -617,7 +617,7 @@ int __debug_serinit( void )
|
||||||
|
|
||||||
#ifdef CONFIG_KGDB
|
#ifdef CONFIG_KGDB
|
||||||
/* turn Rx interrupts on for GDB */
|
/* turn Rx interrupts on for GDB */
|
||||||
custom.intena = IF_SETCLR | IF_RBF;
|
amiga_custom.intena = IF_SETCLR | IF_RBF;
|
||||||
ser_RTSon();
|
ser_RTSon();
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
@ -194,6 +194,8 @@ static DECLARE_WAIT_QUEUE_HEAD(ms_wait);
|
||||||
*/
|
*/
|
||||||
#define MAX_ERRORS 12
|
#define MAX_ERRORS 12
|
||||||
|
|
||||||
|
#define custom amiga_custom
|
||||||
|
|
||||||
/* Prevent "aliased" accesses. */
|
/* Prevent "aliased" accesses. */
|
||||||
static int fd_ref[4] = { 0,0,0,0 };
|
static int fd_ref[4] = { 0,0,0,0 };
|
||||||
static int fd_device[4] = { 0, 0, 0, 0 };
|
static int fd_device[4] = { 0, 0, 0, 0 };
|
||||||
|
|
|
@ -99,6 +99,7 @@ static char *serial_version = "4.30";
|
||||||
#define _INLINE_ inline
|
#define _INLINE_ inline
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#define custom amiga_custom
|
||||||
static char *serial_name = "Amiga-builtin serial driver";
|
static char *serial_name = "Amiga-builtin serial driver";
|
||||||
|
|
||||||
static struct tty_driver *serial_driver;
|
static struct tty_driver *serial_driver;
|
||||||
|
|
|
@ -64,8 +64,8 @@ static irqreturn_t amijoy_interrupt(int irq, void *dummy, struct pt_regs *fp)
|
||||||
if (amijoy[i]) {
|
if (amijoy[i]) {
|
||||||
|
|
||||||
switch (i) {
|
switch (i) {
|
||||||
case 0: data = ~custom.joy0dat; button = (~ciaa.pra >> 6) & 1; break;
|
case 0: data = ~amiga_custom.joy0dat; button = (~ciaa.pra >> 6) & 1; break;
|
||||||
case 1: data = ~custom.joy1dat; button = (~ciaa.pra >> 7) & 1; break;
|
case 1: data = ~amiga_custom.joy1dat; button = (~ciaa.pra >> 7) & 1; break;
|
||||||
}
|
}
|
||||||
|
|
||||||
input_regs(amijoy_dev[i], fp);
|
input_regs(amijoy_dev[i], fp);
|
||||||
|
|
|
@ -41,7 +41,7 @@ static irqreturn_t amimouse_interrupt(int irq, void *dummy, struct pt_regs *fp)
|
||||||
unsigned short joy0dat, potgor;
|
unsigned short joy0dat, potgor;
|
||||||
int nx, ny, dx, dy;
|
int nx, ny, dx, dy;
|
||||||
|
|
||||||
joy0dat = custom.joy0dat;
|
joy0dat = amiga_custom.joy0dat;
|
||||||
|
|
||||||
nx = joy0dat & 0xff;
|
nx = joy0dat & 0xff;
|
||||||
ny = joy0dat >> 8;
|
ny = joy0dat >> 8;
|
||||||
|
@ -57,7 +57,7 @@ static irqreturn_t amimouse_interrupt(int irq, void *dummy, struct pt_regs *fp)
|
||||||
amimouse_lastx = nx;
|
amimouse_lastx = nx;
|
||||||
amimouse_lasty = ny;
|
amimouse_lasty = ny;
|
||||||
|
|
||||||
potgor = custom.potgor;
|
potgor = amiga_custom.potgor;
|
||||||
|
|
||||||
input_regs(amimouse_dev, fp);
|
input_regs(amimouse_dev, fp);
|
||||||
|
|
||||||
|
@ -77,7 +77,7 @@ static int amimouse_open(struct input_dev *dev)
|
||||||
{
|
{
|
||||||
unsigned short joy0dat;
|
unsigned short joy0dat;
|
||||||
|
|
||||||
joy0dat = custom.joy0dat;
|
joy0dat = amiga_custom.joy0dat;
|
||||||
|
|
||||||
amimouse_lastx = joy0dat & 0xff;
|
amimouse_lastx = joy0dat & 0xff;
|
||||||
amimouse_lasty = joy0dat >> 8;
|
amimouse_lasty = joy0dat >> 8;
|
||||||
|
|
|
@ -224,7 +224,7 @@ static int dma_can_transfer(struct NCR_ESP *esp, Scsi_Cmnd *sp)
|
||||||
static void dma_dump_state(struct NCR_ESP *esp)
|
static void dma_dump_state(struct NCR_ESP *esp)
|
||||||
{
|
{
|
||||||
ESPLOG(("intreq:<%04x>, intena:<%04x>\n",
|
ESPLOG(("intreq:<%04x>, intena:<%04x>\n",
|
||||||
custom.intreqr, custom.intenar));
|
amiga_custom.intreqr, amiga_custom.intenar));
|
||||||
}
|
}
|
||||||
|
|
||||||
void dma_init_read(struct NCR_ESP *esp, __u32 addr, int length)
|
void dma_init_read(struct NCR_ESP *esp, __u32 addr, int length)
|
||||||
|
@ -298,7 +298,7 @@ static int dma_irq_p(struct NCR_ESP *esp)
|
||||||
|
|
||||||
static int dma_ports_p(struct NCR_ESP *esp)
|
static int dma_ports_p(struct NCR_ESP *esp)
|
||||||
{
|
{
|
||||||
return ((custom.intenar) & IF_PORTS);
|
return ((amiga_custom.intenar) & IF_PORTS);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void dma_setup(struct NCR_ESP *esp, __u32 addr, int count, int write)
|
static void dma_setup(struct NCR_ESP *esp, __u32 addr, int count, int write)
|
||||||
|
|
|
@ -190,7 +190,7 @@ static int dma_can_transfer(struct NCR_ESP *esp, Scsi_Cmnd *sp)
|
||||||
static void dma_dump_state(struct NCR_ESP *esp)
|
static void dma_dump_state(struct NCR_ESP *esp)
|
||||||
{
|
{
|
||||||
ESPLOG(("intreq:<%04x>, intena:<%04x>\n",
|
ESPLOG(("intreq:<%04x>, intena:<%04x>\n",
|
||||||
custom.intreqr, custom.intenar));
|
amiga_custom.intreqr, amiga_custom.intenar));
|
||||||
}
|
}
|
||||||
|
|
||||||
static void dma_init_read(struct NCR_ESP *esp, __u32 addr, int length)
|
static void dma_init_read(struct NCR_ESP *esp, __u32 addr, int length)
|
||||||
|
@ -251,7 +251,7 @@ static void dma_led_on(struct NCR_ESP *esp)
|
||||||
|
|
||||||
static int dma_ports_p(struct NCR_ESP *esp)
|
static int dma_ports_p(struct NCR_ESP *esp)
|
||||||
{
|
{
|
||||||
return ((custom.intenar) & IF_PORTS);
|
return ((amiga_custom.intenar) & IF_PORTS);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void dma_setup(struct NCR_ESP *esp, __u32 addr, int count, int write)
|
static void dma_setup(struct NCR_ESP *esp, __u32 addr, int count, int write)
|
||||||
|
|
|
@ -223,7 +223,7 @@ static void dma_dump_state(struct NCR_ESP *esp)
|
||||||
esp->esp_id, ((struct cyber_dma_registers *)
|
esp->esp_id, ((struct cyber_dma_registers *)
|
||||||
(esp->dregs))->cond_reg));
|
(esp->dregs))->cond_reg));
|
||||||
ESPLOG(("intreq:<%04x>, intena:<%04x>\n",
|
ESPLOG(("intreq:<%04x>, intena:<%04x>\n",
|
||||||
custom.intreqr, custom.intenar));
|
amiga_custom.intreqr, amiga_custom.intenar));
|
||||||
}
|
}
|
||||||
|
|
||||||
static void dma_init_read(struct NCR_ESP *esp, __u32 addr, int length)
|
static void dma_init_read(struct NCR_ESP *esp, __u32 addr, int length)
|
||||||
|
@ -322,7 +322,7 @@ static void dma_led_on(struct NCR_ESP *esp)
|
||||||
|
|
||||||
static int dma_ports_p(struct NCR_ESP *esp)
|
static int dma_ports_p(struct NCR_ESP *esp)
|
||||||
{
|
{
|
||||||
return ((custom.intenar) & IF_PORTS);
|
return ((amiga_custom.intenar) & IF_PORTS);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void dma_setup(struct NCR_ESP *esp, __u32 addr, int count, int write)
|
static void dma_setup(struct NCR_ESP *esp, __u32 addr, int count, int write)
|
||||||
|
|
|
@ -200,7 +200,7 @@ static void dma_dump_state(struct NCR_ESP *esp)
|
||||||
esp->esp_id, ((struct cyberII_dma_registers *)
|
esp->esp_id, ((struct cyberII_dma_registers *)
|
||||||
(esp->dregs))->cond_reg));
|
(esp->dregs))->cond_reg));
|
||||||
ESPLOG(("intreq:<%04x>, intena:<%04x>\n",
|
ESPLOG(("intreq:<%04x>, intena:<%04x>\n",
|
||||||
custom.intreqr, custom.intenar));
|
amiga_custom.intreqr, amiga_custom.intenar));
|
||||||
}
|
}
|
||||||
|
|
||||||
static void dma_init_read(struct NCR_ESP *esp, __u32 addr, int length)
|
static void dma_init_read(struct NCR_ESP *esp, __u32 addr, int length)
|
||||||
|
@ -259,7 +259,7 @@ static void dma_led_on(struct NCR_ESP *esp)
|
||||||
|
|
||||||
static int dma_ports_p(struct NCR_ESP *esp)
|
static int dma_ports_p(struct NCR_ESP *esp)
|
||||||
{
|
{
|
||||||
return ((custom.intenar) & IF_PORTS);
|
return ((amiga_custom.intenar) & IF_PORTS);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void dma_setup(struct NCR_ESP *esp, __u32 addr, int count, int write)
|
static void dma_setup(struct NCR_ESP *esp, __u32 addr, int count, int write)
|
||||||
|
|
|
@ -268,7 +268,7 @@ static void dma_dump_state(struct NCR_ESP *esp)
|
||||||
esp->esp_id, ((struct fastlane_dma_registers *)
|
esp->esp_id, ((struct fastlane_dma_registers *)
|
||||||
(esp->dregs))->cond_reg));
|
(esp->dregs))->cond_reg));
|
||||||
ESPLOG(("intreq:<%04x>, intena:<%04x>\n",
|
ESPLOG(("intreq:<%04x>, intena:<%04x>\n",
|
||||||
custom.intreqr, custom.intenar));
|
amiga_custom.intreqr, amiga_custom.intenar));
|
||||||
}
|
}
|
||||||
|
|
||||||
static void dma_init_read(struct NCR_ESP *esp, __u32 addr, int length)
|
static void dma_init_read(struct NCR_ESP *esp, __u32 addr, int length)
|
||||||
|
@ -368,7 +368,7 @@ static void dma_led_on(struct NCR_ESP *esp)
|
||||||
|
|
||||||
static int dma_ports_p(struct NCR_ESP *esp)
|
static int dma_ports_p(struct NCR_ESP *esp)
|
||||||
{
|
{
|
||||||
return ((custom.intenar) & IF_PORTS);
|
return ((amiga_custom.intenar) & IF_PORTS);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void dma_setup(struct NCR_ESP *esp, __u32 addr, int count, int write)
|
static void dma_setup(struct NCR_ESP *esp, __u32 addr, int count, int write)
|
||||||
|
|
|
@ -490,7 +490,7 @@ static void dma_led_on(struct NCR_ESP *esp)
|
||||||
|
|
||||||
static int dma_ports_p(struct NCR_ESP *esp)
|
static int dma_ports_p(struct NCR_ESP *esp)
|
||||||
{
|
{
|
||||||
return ((custom.intenar) & IF_PORTS);
|
return ((amiga_custom.intenar) & IF_PORTS);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void dma_setup(struct NCR_ESP *esp, __u32 addr, int count, int write)
|
static void dma_setup(struct NCR_ESP *esp, __u32 addr, int count, int write)
|
||||||
|
|
|
@ -590,6 +590,8 @@ static u_short maxfmode, chipset;
|
||||||
#define highw(x) ((u_long)(x)>>16 & 0xffff)
|
#define highw(x) ((u_long)(x)>>16 & 0xffff)
|
||||||
#define loww(x) ((u_long)(x) & 0xffff)
|
#define loww(x) ((u_long)(x) & 0xffff)
|
||||||
|
|
||||||
|
#define custom amiga_custom
|
||||||
|
|
||||||
#define VBlankOn() custom.intena = IF_SETCLR|IF_COPER
|
#define VBlankOn() custom.intena = IF_SETCLR|IF_COPER
|
||||||
#define VBlankOff() custom.intena = IF_COPER
|
#define VBlankOff() custom.intena = IF_COPER
|
||||||
|
|
||||||
|
|
|
@ -274,7 +274,7 @@ struct CIA {
|
||||||
#define ZTWO_VADDR(x) (((unsigned long)(x))+zTwoBase)
|
#define ZTWO_VADDR(x) (((unsigned long)(x))+zTwoBase)
|
||||||
|
|
||||||
#define CUSTOM_PHYSADDR (0xdff000)
|
#define CUSTOM_PHYSADDR (0xdff000)
|
||||||
#define custom ((*(volatile struct CUSTOM *)(zTwoBase+CUSTOM_PHYSADDR)))
|
#define amiga_custom ((*(volatile struct CUSTOM *)(zTwoBase+CUSTOM_PHYSADDR)))
|
||||||
|
|
||||||
#define CIAA_PHYSADDR (0xbfe001)
|
#define CIAA_PHYSADDR (0xbfe001)
|
||||||
#define CIAB_PHYSADDR (0xbfd000)
|
#define CIAB_PHYSADDR (0xbfd000)
|
||||||
|
@ -294,12 +294,12 @@ static inline void amifb_video_off(void)
|
||||||
{
|
{
|
||||||
if (amiga_chipset == CS_ECS || amiga_chipset == CS_AGA) {
|
if (amiga_chipset == CS_ECS || amiga_chipset == CS_AGA) {
|
||||||
/* program Denise/Lisa for a higher maximum play rate */
|
/* program Denise/Lisa for a higher maximum play rate */
|
||||||
custom.htotal = 113; /* 31 kHz */
|
amiga_custom.htotal = 113; /* 31 kHz */
|
||||||
custom.vtotal = 223; /* 70 Hz */
|
amiga_custom.vtotal = 223; /* 70 Hz */
|
||||||
custom.beamcon0 = 0x4390; /* HARDDIS, VAR{BEAM,VSY,HSY,CSY}EN */
|
amiga_custom.beamcon0 = 0x4390; /* HARDDIS, VAR{BEAM,VSY,HSY,CSY}EN */
|
||||||
/* suspend the monitor */
|
/* suspend the monitor */
|
||||||
custom.hsstrt = custom.hsstop = 116;
|
amiga_custom.hsstrt = amiga_custom.hsstop = 116;
|
||||||
custom.vsstrt = custom.vsstop = 226;
|
amiga_custom.vsstrt = amiga_custom.vsstop = 226;
|
||||||
amiga_audio_min_period = 57;
|
amiga_audio_min_period = 57;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -34,6 +34,7 @@
|
||||||
#define DMASOUND_PAULA_REVISION 0
|
#define DMASOUND_PAULA_REVISION 0
|
||||||
#define DMASOUND_PAULA_EDITION 4
|
#define DMASOUND_PAULA_EDITION 4
|
||||||
|
|
||||||
|
#define custom amiga_custom
|
||||||
/*
|
/*
|
||||||
* The minimum period for audio depends on htotal (for OCS/ECS/AGA)
|
* The minimum period for audio depends on htotal (for OCS/ECS/AGA)
|
||||||
* (Imported from arch/m68k/amiga/amisound.c)
|
* (Imported from arch/m68k/amiga/amisound.c)
|
||||||
|
|
Loading…
Reference in New Issue