Re: [PATCH] hisax/sportster dependency error

2001-01-09 Thread Alan Cox

> > Almost every 10bit decode ISA card is like that. You don't need to do the
> > work. The PCI alloc rules already cover it.
> 
> so, if i understand this correctly, since all offsets actually in use
> are 1024B multiples the following would be sufficient, or more elegant..?

PCI allocation rules handle all of this. PCI I/O is not allocated in the
ranges 0x[1-F][0-3]xx

Alan

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



Re: [PATCH] hisax/sportster dependency error

2001-01-09 Thread Daniel Stodden


hi.

Alan Cox <[EMAIL PROTECTED]> writes:

> > > according to sportster.c:get_io_range, this appears to be perfectly
> > > intentional, request_regioning 64x8 byte from 0x268 in 1024byte-steps.
> > 
> > AFAIK, this is because the hardware is stupid and does decode the higher
> > address lines. Therefore, the IO ports are mirrored every 1024 bytes and
> > should be reserved to avoid potential conflicts with other devices.
> 
> Almost every 10bit decode ISA card is like that. You don't need to do the
> work. The PCI alloc rules already cover it.

so, if i understand this correctly, since all offsets actually in use
are 1024B multiples the following would be sufficient, or more elegant..?

or should 
#define  SPORTSTER_ISAC 0xC000
#define  SPORTSTER_HSCXA0x
#define  SPORTSTER_HSCXB0x4000
#define  SPORTSTER_RES_IRQ  0x8000
still get requested explicitly in such cases?


--- linux-2.4/drivers/isdn/hisax/sportster.c.orig   Tue Jan  9 09:31:36 2001
+++ linux-2.4/drivers/isdn/hisax/sportster.cTue Jan  9 09:54:18 2001
@@ -133,13 +133,10 @@
 void
 release_io_sportster(struct IsdnCardState *cs)
 {
-   int i, adr;
 
byteout(cs->hw.spt.cfg_reg + SPORTSTER_RES_IRQ, 0);
-   for (i=0; i<64; i++) {
-   adr = cs->hw.spt.cfg_reg + i *1024;
-   release_region(adr, 8);
-   }
+
+   release_region(cs->hw.spt.cfg_reg, 8);
 }
 
 void
@@ -185,27 +182,18 @@
 static int __init
 get_io_range(struct IsdnCardState *cs)
 {
-   int i, j, adr;
+   int adr = cs->hw.spt.cfg_reg;
+
+   if ( check_region(adr, 8) ) {
+   printk(KERN_WARNING
+  "HiSax: %s config port %x-%x already in use\n",
+  CardType[cs->typ], adr, adr + 8);
+   return 0;
+   } 

-   for (i=0;i<64;i++) {
-   adr = cs->hw.spt.cfg_reg + i *1024;
-   if (check_region(adr, 8)) {
-   printk(KERN_WARNING
-   "HiSax: %s config port %x-%x already in use\n",
-   CardType[cs->typ], adr, adr + 8);
-   break;
-   } else
-   request_region(adr, 8, "sportster");
-   }
-   if (i==64)
-   return(1);
-   else {
-   for (j=0; jhw.spt.cfg_reg + j *1024;
-   release_region(adr, 8);
-   }
-   return(0);
-   }
+   request_region(adr, 8, "sportster");
+
+   return 1;
 }
 
 int __init


best regards,
dns

-- 
___
 mailto:[EMAIL PROTECTED]
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



Re: [PATCH] hisax/sportster dependency error

2001-01-09 Thread Daniel Stodden


hi.

Alan Cox [EMAIL PROTECTED] writes:

   according to sportster.c:get_io_range, this appears to be perfectly
   intentional, request_regioning 64x8 byte from 0x268 in 1024byte-steps.
  
  AFAIK, this is because the hardware is stupid and does decode the higher
  address lines. Therefore, the IO ports are mirrored every 1024 bytes and
  should be reserved to avoid potential conflicts with other devices.
 
 Almost every 10bit decode ISA card is like that. You don't need to do the
 work. The PCI alloc rules already cover it.

so, if i understand this correctly, since all offsets actually in use
are 1024B multiples the following would be sufficient, or more elegant..?

or should 
#define  SPORTSTER_ISAC 0xC000
#define  SPORTSTER_HSCXA0x
#define  SPORTSTER_HSCXB0x4000
#define  SPORTSTER_RES_IRQ  0x8000
still get requested explicitly in such cases?


--- linux-2.4/drivers/isdn/hisax/sportster.c.orig   Tue Jan  9 09:31:36 2001
+++ linux-2.4/drivers/isdn/hisax/sportster.cTue Jan  9 09:54:18 2001
@@ -133,13 +133,10 @@
 void
 release_io_sportster(struct IsdnCardState *cs)
 {
-   int i, adr;
 
byteout(cs-hw.spt.cfg_reg + SPORTSTER_RES_IRQ, 0);
-   for (i=0; i64; i++) {
-   adr = cs-hw.spt.cfg_reg + i *1024;
-   release_region(adr, 8);
-   }
+
+   release_region(cs-hw.spt.cfg_reg, 8);
 }
 
 void
@@ -185,27 +182,18 @@
 static int __init
 get_io_range(struct IsdnCardState *cs)
 {
-   int i, j, adr;
+   int adr = cs-hw.spt.cfg_reg;
+
+   if ( check_region(adr, 8) ) {
+   printk(KERN_WARNING
+  "HiSax: %s config port %x-%x already in use\n",
+  CardType[cs-typ], adr, adr + 8);
+   return 0;
+   } 

-   for (i=0;i64;i++) {
-   adr = cs-hw.spt.cfg_reg + i *1024;
-   if (check_region(adr, 8)) {
-   printk(KERN_WARNING
-   "HiSax: %s config port %x-%x already in use\n",
-   CardType[cs-typ], adr, adr + 8);
-   break;
-   } else
-   request_region(adr, 8, "sportster");
-   }
-   if (i==64)
-   return(1);
-   else {
-   for (j=0; ji; j++) {
-   adr = cs-hw.spt.cfg_reg + j *1024;
-   release_region(adr, 8);
-   }
-   return(0);
-   }
+   request_region(adr, 8, "sportster");
+
+   return 1;
 }
 
 int __init


best regards,
dns

-- 
___
 mailto:[EMAIL PROTECTED]
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



Re: [PATCH] hisax/sportster dependency error

2001-01-09 Thread Alan Cox

  Almost every 10bit decode ISA card is like that. You don't need to do the
  work. The PCI alloc rules already cover it.
 
 so, if i understand this correctly, since all offsets actually in use
 are 1024B multiples the following would be sufficient, or more elegant..?

PCI allocation rules handle all of this. PCI I/O is not allocated in the
ranges 0x[1-F][0-3]xx

Alan

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



Re: [PATCH] hisax/sportster dependency error

2001-01-07 Thread Alan Cox

> > according to sportster.c:get_io_range, this appears to be perfectly
> > intentional, request_regioning 64x8 byte from 0x268 in 1024byte-steps.
> 
> AFAIK, this is because the hardware is stupid and does decode the higher
> address lines. Therefore, the IO ports are mirrored every 1024 bytes and
> should be reserved to avoid potential conflicts with other devices.

Almost every 10bit decode ISA card is like that. You don't need to do the
work. The PCI alloc rules already cover it.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



Re: [PATCH] hisax/sportster dependency error

2001-01-07 Thread Kai Germaschewski

On Sat, 6 Jan 2001, Daniel Stodden wrote:

> --- linux-2.4/drivers/isdn/hisax/Makefile.orig  Sat Jan  6 02:47:31 2001
> +++ linux-2.4/drivers/isdn/hisax/Makefile   Sat Jan  6 02:21:22 2001
> @@ -34,7 +34,7 @@
>  hisax-objs-$(CONFIG_HISAX_ASUSCOM) += asuscom.o isac.o arcofi.o hscx.o
>  hisax-objs-$(CONFIG_HISAX_TELEINT) += teleint.o isac.o arcofi.o hfc_2bs0.o
>  hisax-objs-$(CONFIG_HISAX_SEDLBAUER) += sedlbauer.o isac.o arcofi.o hscx.o isar.o
> -hisax-objs-$(CONFIG_HISAX_SPORTSTER) += sportster.o isac.o arcofi.o hfc_2bs0.o
> +hisax-objs-$(CONFIG_HISAX_SPORTSTER) += sportster.o isac.o arcofi.o hfc_2bs0.o 
>hscx.o
>  hisax-objs-$(CONFIG_HISAX_MIC) += mic.o isac.o arcofi.o hfc_2bs0.o
>  hisax-objs-$(CONFIG_HISAX_NETJET) += nj_s.o netjet.o isac.o arcofi.o
>  hisax-objs-$(CONFIG_HISAX_NETJET_U) += nj_u.o netjet.o icc.o

Thanks, I'll put that into the next ISDN update.

> question: something which i missed to ask for about year now:
>
> bitch[3]:~$ cat /proc/ioports
> -001f : dma1
> 0020-003f : pic1
> 0040-005f : timer
> 0060-006f : keyboard
> 0070-007f : rtc
> 0080-008f : dma page reg
> 00a0-00bf : pic2
> 00c0-00df : dma2
> 00f0-00ff : fpu
> 0170-0177 : ide1
> 0220-022f : soundblaster
> 0268-026f : sportster
> 02f8-02ff : serial(set)
> 0330-0333 : MPU-401 UART
> 0376-0376 : ide1
> 0378-037a : parport0
> 03c0-03df : vga+
>   03c0-03df : matrox
> 03f8-03ff : serial(set)
> 0668-066f : sportster
> 0a68-0a6f : sportster
> 0cf8-0cff : PCI conf1
> 0e68-0e6f : sportster
> 1268-126f : sportster
> [...]
>
> could anyone explain this behaviour?
>
> the card is at io=0x268 irq=7
>
> according to sportster.c:get_io_range, this appears to be perfectly
> intentional, request_regioning 64x8 byte from 0x268 in 1024byte-steps.

AFAIK, this is because the hardware is stupid and does decode the higher
address lines. Therefore, the IO ports are mirrored every 1024 bytes and
should be reserved to avoid potential conflicts with other devices.

--Kai





-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



Re: [PATCH] hisax/sportster dependency error

2001-01-07 Thread Kai Germaschewski

On Sat, 6 Jan 2001, Daniel Stodden wrote:

 --- linux-2.4/drivers/isdn/hisax/Makefile.orig  Sat Jan  6 02:47:31 2001
 +++ linux-2.4/drivers/isdn/hisax/Makefile   Sat Jan  6 02:21:22 2001
 @@ -34,7 +34,7 @@
  hisax-objs-$(CONFIG_HISAX_ASUSCOM) += asuscom.o isac.o arcofi.o hscx.o
  hisax-objs-$(CONFIG_HISAX_TELEINT) += teleint.o isac.o arcofi.o hfc_2bs0.o
  hisax-objs-$(CONFIG_HISAX_SEDLBAUER) += sedlbauer.o isac.o arcofi.o hscx.o isar.o
 -hisax-objs-$(CONFIG_HISAX_SPORTSTER) += sportster.o isac.o arcofi.o hfc_2bs0.o
 +hisax-objs-$(CONFIG_HISAX_SPORTSTER) += sportster.o isac.o arcofi.o hfc_2bs0.o 
hscx.o
  hisax-objs-$(CONFIG_HISAX_MIC) += mic.o isac.o arcofi.o hfc_2bs0.o
  hisax-objs-$(CONFIG_HISAX_NETJET) += nj_s.o netjet.o isac.o arcofi.o
  hisax-objs-$(CONFIG_HISAX_NETJET_U) += nj_u.o netjet.o icc.o

Thanks, I'll put that into the next ISDN update.

 question: something which i missed to ask for about year now:

 bitch[3]:~$ cat /proc/ioports
 -001f : dma1
 0020-003f : pic1
 0040-005f : timer
 0060-006f : keyboard
 0070-007f : rtc
 0080-008f : dma page reg
 00a0-00bf : pic2
 00c0-00df : dma2
 00f0-00ff : fpu
 0170-0177 : ide1
 0220-022f : soundblaster
 0268-026f : sportster
 02f8-02ff : serial(set)
 0330-0333 : MPU-401 UART
 0376-0376 : ide1
 0378-037a : parport0
 03c0-03df : vga+
   03c0-03df : matrox
 03f8-03ff : serial(set)
 0668-066f : sportster
 0a68-0a6f : sportster
 0cf8-0cff : PCI conf1
 0e68-0e6f : sportster
 1268-126f : sportster
 [...]

 could anyone explain this behaviour?

 the card is at io=0x268 irq=7

 according to sportster.c:get_io_range, this appears to be perfectly
 intentional, request_regioning 64x8 byte from 0x268 in 1024byte-steps.

AFAIK, this is because the hardware is stupid and does decode the higher
address lines. Therefore, the IO ports are mirrored every 1024 bytes and
should be reserved to avoid potential conflicts with other devices.

--Kai





-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



Re: [PATCH] hisax/sportster dependency error

2001-01-07 Thread Alan Cox

  according to sportster.c:get_io_range, this appears to be perfectly
  intentional, request_regioning 64x8 byte from 0x268 in 1024byte-steps.
 
 AFAIK, this is because the hardware is stupid and does decode the higher
 address lines. Therefore, the IO ports are mirrored every 1024 bytes and
 should be reserved to avoid potential conflicts with other devices.

Almost every 10bit decode ISA card is like that. You don't need to do the
work. The PCI alloc rules already cover it.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



[PATCH] hisax/sportster dependency error

2001-01-05 Thread Daniel Stodden


hi.

a patch and a question:

patch: just a few missing symbols in 2.4.0-final:

--- linux-2.4/drivers/isdn/hisax/Makefile.orig  Sat Jan  6 02:47:31 2001
+++ linux-2.4/drivers/isdn/hisax/Makefile   Sat Jan  6 02:21:22 2001
@@ -34,7 +34,7 @@
 hisax-objs-$(CONFIG_HISAX_ASUSCOM) += asuscom.o isac.o arcofi.o hscx.o
 hisax-objs-$(CONFIG_HISAX_TELEINT) += teleint.o isac.o arcofi.o hfc_2bs0.o
 hisax-objs-$(CONFIG_HISAX_SEDLBAUER) += sedlbauer.o isac.o arcofi.o hscx.o isar.o
-hisax-objs-$(CONFIG_HISAX_SPORTSTER) += sportster.o isac.o arcofi.o hfc_2bs0.o
+hisax-objs-$(CONFIG_HISAX_SPORTSTER) += sportster.o isac.o arcofi.o hfc_2bs0.o hscx.o
 hisax-objs-$(CONFIG_HISAX_MIC) += mic.o isac.o arcofi.o hfc_2bs0.o
 hisax-objs-$(CONFIG_HISAX_NETJET) += nj_s.o netjet.o isac.o arcofi.o
 hisax-objs-$(CONFIG_HISAX_NETJET_U) += nj_u.o netjet.o icc.o



question: something which i missed to ask for about year now:

bitch[3]:~$ cat /proc/ioports 
-001f : dma1
0020-003f : pic1
0040-005f : timer
0060-006f : keyboard
0070-007f : rtc
0080-008f : dma page reg
00a0-00bf : pic2
00c0-00df : dma2
00f0-00ff : fpu
0170-0177 : ide1
0220-022f : soundblaster
0268-026f : sportster
02f8-02ff : serial(set)
0330-0333 : MPU-401 UART
0376-0376 : ide1
0378-037a : parport0
03c0-03df : vga+
  03c0-03df : matrox
03f8-03ff : serial(set)
0668-066f : sportster
0a68-0a6f : sportster
0cf8-0cff : PCI conf1
0e68-0e6f : sportster
1268-126f : sportster
1668-166f : sportster
1a68-1a6f : sportster
1e68-1e6f : sportster
2268-226f : sportster
2668-266f : sportster
2a68-2a6f : sportster
2e68-2e6f : sportster
3268-326f : sportster
3668-366f : sportster
3a68-3a6f : sportster
3e68-3e6f : sportster
4268-426f : sportster
4668-466f : sportster
4a68-4a6f : sportster
4e68-4e6f : sportster
5268-526f : sportster
5668-566f : sportster
5a68-5a6f : sportster
5c20-5c3f : Acer Laboratories Inc. [ALi] M7101 PMU
5e68-5e6f : sportster
6268-626f : sportster
6668-666f : sportster
6a68-6a6f : sportster
6e68-6e6f : sportster
7268-726f : sportster
7668-766f : sportster
7a68-7a6f : sportster
7e68-7e6f : sportster
8268-826f : sportster
8668-866f : sportster
8a68-8a6f : sportster
8e68-8e6f : sportster
9268-926f : sportster
9668-966f : sportster
9a68-9a6f : sportster
9e68-9e6f : sportster
a268-a26f : sportster
a668-a66f : sportster
aa68-aa6f : sportster
ae68-ae6f : sportster
b268-b26f : sportster
b668-b66f : sportster
ba68-ba6f : sportster
be68-be6f : sportster
c268-c26f : sportster
c668-c66f : sportster
ca68-ca6f : sportster
ce68-ce6f : sportster
d000-d00f : Acer Laboratories Inc. [ALi] M5229 IDE
  d000-d007 : ide0
  d008-d00f : ide1
d268-d26f : sportster
d400-d41f : Realtek Semiconductor Co., Ltd. RTL-8029(AS)
  d400-d41f : ne2k-pci
d668-d66f : sportster
d800-d8ff : Symbios Logic Inc. (formerly NCR) 53c810
  d800-d87f : ncr53c8xx
da68-da6f : sportster
de68-de6f : sportster
e268-e26f : sportster
e668-e66f : sportster
ea68-ea6f : sportster
ee68-ee6f : sportster
f268-f26f : sportster
f668-f66f : sportster
fa68-fa6f : sportster
fe68-fe6f : sportster

could anyone explain this behaviour?

the card is at io=0x268 irq=7

according to sportster.c:get_io_range, this appears to be perfectly
intentional, request_regioning 64x8 byte from 0x268 in 1024byte-steps.

are these ports actually all in use??
not like it's doing any harm, it just looks -- funny? %)


regards,
dns


-- 
___
 mailto:[EMAIL PROTECTED]
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



[PATCH] hisax/sportster dependency error

2001-01-05 Thread Daniel Stodden


hi.

a patch and a question:

patch: just a few missing symbols in 2.4.0-final:

--- linux-2.4/drivers/isdn/hisax/Makefile.orig  Sat Jan  6 02:47:31 2001
+++ linux-2.4/drivers/isdn/hisax/Makefile   Sat Jan  6 02:21:22 2001
@@ -34,7 +34,7 @@
 hisax-objs-$(CONFIG_HISAX_ASUSCOM) += asuscom.o isac.o arcofi.o hscx.o
 hisax-objs-$(CONFIG_HISAX_TELEINT) += teleint.o isac.o arcofi.o hfc_2bs0.o
 hisax-objs-$(CONFIG_HISAX_SEDLBAUER) += sedlbauer.o isac.o arcofi.o hscx.o isar.o
-hisax-objs-$(CONFIG_HISAX_SPORTSTER) += sportster.o isac.o arcofi.o hfc_2bs0.o
+hisax-objs-$(CONFIG_HISAX_SPORTSTER) += sportster.o isac.o arcofi.o hfc_2bs0.o hscx.o
 hisax-objs-$(CONFIG_HISAX_MIC) += mic.o isac.o arcofi.o hfc_2bs0.o
 hisax-objs-$(CONFIG_HISAX_NETJET) += nj_s.o netjet.o isac.o arcofi.o
 hisax-objs-$(CONFIG_HISAX_NETJET_U) += nj_u.o netjet.o icc.o



question: something which i missed to ask for about year now:

bitch[3]:~$ cat /proc/ioports 
-001f : dma1
0020-003f : pic1
0040-005f : timer
0060-006f : keyboard
0070-007f : rtc
0080-008f : dma page reg
00a0-00bf : pic2
00c0-00df : dma2
00f0-00ff : fpu
0170-0177 : ide1
0220-022f : soundblaster
0268-026f : sportster
02f8-02ff : serial(set)
0330-0333 : MPU-401 UART
0376-0376 : ide1
0378-037a : parport0
03c0-03df : vga+
  03c0-03df : matrox
03f8-03ff : serial(set)
0668-066f : sportster
0a68-0a6f : sportster
0cf8-0cff : PCI conf1
0e68-0e6f : sportster
1268-126f : sportster
1668-166f : sportster
1a68-1a6f : sportster
1e68-1e6f : sportster
2268-226f : sportster
2668-266f : sportster
2a68-2a6f : sportster
2e68-2e6f : sportster
3268-326f : sportster
3668-366f : sportster
3a68-3a6f : sportster
3e68-3e6f : sportster
4268-426f : sportster
4668-466f : sportster
4a68-4a6f : sportster
4e68-4e6f : sportster
5268-526f : sportster
5668-566f : sportster
5a68-5a6f : sportster
5c20-5c3f : Acer Laboratories Inc. [ALi] M7101 PMU
5e68-5e6f : sportster
6268-626f : sportster
6668-666f : sportster
6a68-6a6f : sportster
6e68-6e6f : sportster
7268-726f : sportster
7668-766f : sportster
7a68-7a6f : sportster
7e68-7e6f : sportster
8268-826f : sportster
8668-866f : sportster
8a68-8a6f : sportster
8e68-8e6f : sportster
9268-926f : sportster
9668-966f : sportster
9a68-9a6f : sportster
9e68-9e6f : sportster
a268-a26f : sportster
a668-a66f : sportster
aa68-aa6f : sportster
ae68-ae6f : sportster
b268-b26f : sportster
b668-b66f : sportster
ba68-ba6f : sportster
be68-be6f : sportster
c268-c26f : sportster
c668-c66f : sportster
ca68-ca6f : sportster
ce68-ce6f : sportster
d000-d00f : Acer Laboratories Inc. [ALi] M5229 IDE
  d000-d007 : ide0
  d008-d00f : ide1
d268-d26f : sportster
d400-d41f : Realtek Semiconductor Co., Ltd. RTL-8029(AS)
  d400-d41f : ne2k-pci
d668-d66f : sportster
d800-d8ff : Symbios Logic Inc. (formerly NCR) 53c810
  d800-d87f : ncr53c8xx
da68-da6f : sportster
de68-de6f : sportster
e268-e26f : sportster
e668-e66f : sportster
ea68-ea6f : sportster
ee68-ee6f : sportster
f268-f26f : sportster
f668-f66f : sportster
fa68-fa6f : sportster
fe68-fe6f : sportster

could anyone explain this behaviour?

the card is at io=0x268 irq=7

according to sportster.c:get_io_range, this appears to be perfectly
intentional, request_regioning 64x8 byte from 0x268 in 1024byte-steps.

are these ports actually all in use??
not like it's doing any harm, it just looks -- funny? %)


regards,
dns


-- 
___
 mailto:[EMAIL PROTECTED]
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/