Re: pci_get_device_reverse(), why does Calgary need this?

2008-02-16 Thread Muli Ben-Yehuda
On Fri, Feb 15, 2008 at 10:28:22AM -0800, Greg KH wrote:

 That would be nice.  Muli, want to make a patch for this?

Sure, I'll put something together.

Cheers,
Muli
-
To unsubscribe from this list: send the line unsubscribe linux-ide in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: pci_get_device_reverse(), why does Calgary need this?

2008-02-15 Thread Greg KH
On Fri, Feb 15, 2008 at 09:48:27AM +0200, Muli Ben-Yehuda wrote:
 In conclusion, our usage doesn't seem lika a good fit for the probe
 approach, although it could probably converted provided we got the
 ordering right with regards to regular PCI device
 initialization. Doesn't seem to be worth the effort.

After reading this, and looking at the code again, I agree.  Thanks for
the great explaination, I'll leave the code alone now :)

thanks,

greg k-h
-
To unsubscribe from this list: send the line unsubscribe linux-ide in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: pci_get_device_reverse(), why does Calgary need this?

2008-02-15 Thread Sam Ravnborg
On Fri, Feb 15, 2008 at 07:20:08AM -0800, Greg KH wrote:
 On Fri, Feb 15, 2008 at 09:48:27AM +0200, Muli Ben-Yehuda wrote:
  In conclusion, our usage doesn't seem lika a good fit for the probe
  approach, although it could probably converted provided we got the
  ordering right with regards to regular PCI device
  initialization. Doesn't seem to be worth the effort.
 
 After reading this, and looking at the code again, I agree.  Thanks for
 the great explaination, I'll leave the code alone now :)

Copy the nice explanation from the mail into the code as a comment
somewhere?

Sam
-
To unsubscribe from this list: send the line unsubscribe linux-ide in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: pci_get_device_reverse(), why does Calgary need this?

2008-02-15 Thread yong xue
2008/2/15, Sam Ravnborg [EMAIL PROTECTED]:
 On Fri, Feb 15, 2008 at 07:20:08AM -0800, Greg KH wrote:
   On Fri, Feb 15, 2008 at 09:48:27AM +0200, Muli Ben-Yehuda wrote:
In conclusion, our usage doesn't seem lika a good fit for the probe
approach, although it could probably converted provided we got the
ordering right with regards to regular PCI device
initialization. Doesn't seem to be worth the effort.
  
   After reading this, and looking at the code again, I agree.  Thanks for
   the great explaination, I'll leave the code alone now :)


 Copy the nice explanation from the mail into the code as a comment
  somewhere?
 Sam

I think  it is good  to do so.

xueyong

 -
  To unsubscribe from this list: send the line unsubscribe linux-ide in
  the body of a message to [EMAIL PROTECTED]
  More majordomo info at  http://vger.kernel.org/majordomo-info.html

-
To unsubscribe from this list: send the line unsubscribe linux-ide in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: pci_get_device_reverse(), why does Calgary need this?

2008-02-15 Thread Greg KH
On Fri, Feb 15, 2008 at 04:31:40PM +0100, Sam Ravnborg wrote:
 On Fri, Feb 15, 2008 at 07:20:08AM -0800, Greg KH wrote:
  On Fri, Feb 15, 2008 at 09:48:27AM +0200, Muli Ben-Yehuda wrote:
   In conclusion, our usage doesn't seem lika a good fit for the probe
   approach, although it could probably converted provided we got the
   ordering right with regards to regular PCI device
   initialization. Doesn't seem to be worth the effort.
  
  After reading this, and looking at the code again, I agree.  Thanks for
  the great explaination, I'll leave the code alone now :)
 
 Copy the nice explanation from the mail into the code as a comment
 somewhere?

That would be nice.  Muli, want to make a patch for this?

thanks,

greg k-h
-
To unsubscribe from this list: send the line unsubscribe linux-ide in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: pci_get_device_reverse(), why does Calgary need this?

2008-02-14 Thread Sergei Shtylyov

From: Bartlomiej Zolnierkiewicz [EMAIL PROTECTED]
Subject: [PATCH] ide: mark ide=reverse option as obsolete



- it is valid only if Probe IDE PCI devices in the PCI bus order
  (DEPRECATED) config option is used



- Greg needs to remove pci_get_device_reverse() for PCI core changes



Cc: Greg Kroah-Hartman [EMAIL PROTECTED]
Cc: Alan Cox [EMAIL PROTECTED]
Signed-off-by: Bartlomiej Zolnierkiewicz [EMAIL PROTECTED]


Acked-by: Sergei Shtylyov [EMAIL PROTECTED]

MBR, Sergei
-
To unsubscribe from this list: send the line unsubscribe linux-ide in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: pci_get_device_reverse(), why does Calgary need this?

2008-02-14 Thread Greg KH
On Wed, Feb 13, 2008 at 10:14:59AM -0800, Greg KH wrote:
 On Wed, Feb 13, 2008 at 07:47:11PM +0200, Muli Ben-Yehuda wrote:
  On Wed, Feb 13, 2008 at 09:32:03AM -0800, Greg KH wrote:
  
   Is there some reason you aren't using the real PCI driver api here
   and registering a pci driver for these devices?  That would take the
   whole loop over all pci devices logic out of the code entirely.
  
  I recall we had a reason, but I no longer recall what it was. Some
  reason the real PCI driver API didn't fit at the time. If someone
  were to whip up a working patch, I'd happily apply it.
 
 at the time?  It's been in place since the 2.2 days :)
 
 Is the problem that other drivers also want access to this PCI device
 for some reason?
 
 I'll whip up a patch for you to test with in a bit...

Hm, that's wierd.  I thought I got something, until I realized that you
are doing a lot of logic before you ever even determine that your
hardware is present in the system.  Why are you calling
calgary_locate_bbars() and doing all of that work?  Or am I mising
something in the code flow here?

Also, it looks like you use the pci_get_device() to find the pci device,
then you do somethings, and then drop the device, never to use it again.

So, a traditional probe might not work as well, but it could be used
if you want to.

thanks,

greg k-h
-
To unsubscribe from this list: send the line unsubscribe linux-ide in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: pci_get_device_reverse(), why does Calgary need this?

2008-02-14 Thread Muli Ben-Yehuda
On Thu, Feb 14, 2008 at 11:17:03PM -0800, Greg KH wrote:

 Hm, that's wierd.  I thought I got something, until I realized that
 you are doing a lot of logic before you ever even determine that
 your hardware is present in the system.  Why are you calling
 calgary_locate_bbars() and doing all of that work?  Or am I mising
 something in the code flow here?

Ok, it's all starting to come back to me. See below.

 Also, it looks like you use the pci_get_device() to find the pci
 device, then you do somethings, and then drop the device, never to
 use it again.
 
 So, a traditional probe might not work as well, but it could be
 used if you want to.

We have a two stage initialization process. First, we need to be
initialized very early in order to be able to allocate relatively
large contiguous chunks of RAM. That requires detecting whether we're
on a Calgary/CalIOC2 system very early (detect_calgary(), called from
pci_iommu_alloc()). Then we have regular PCI initialization at a
later stage (calgary_iommu_init(), called from pci_iommu_init()),
which also calls calgary_locate_bbars(). Unlike a regular PCI device
which has its BARs in the configuration space, we need to probe BIOS
provided tables to find where our BARs are before we do anything else
with the device representation of the IOMMU. Note that the same
two-stage initialization scheme is used by all other x86 IOMMUs, for
similar reasons.

Now, Calgary is an isolation-capable IOMMU which has per-root-bus (as
opposed to global or per-BDF) IO address space. The reason we want to
access the pci_dev of each Calgary bus is to hang off of it the IOMMU
tables for all devices under that bus so that we end up using the
right translation table when a device asks for a DMA mapping. Hence
the loop in calgary_init, which loops over all pci_dev's of Calgary
busses, raises the ref count for each pci_dev to protect against
hot-unplug, and hooks up the IOMMU table for everything under that bus
to the pci_dev for the bus. Unlike a regular driver, our main entry
points are via the DMA-API, which takes a device's pci_dev, not
Calgary's. We then walk up the bus hierarchy and find the Calgary
pci_dev that is an ancestor of this device, and that gives us the
right IOMMU table to us. Note that this has to occur *before* PCI
device initialization, since we want to turn translation on before any
device will try to DMA.

In conclusion, our usage doesn't seem lika a good fit for the probe
approach, although it could probably converted provided we got the
ordering right with regards to regular PCI device
initialization. Doesn't seem to be worth the effort.

Cheers,
Muli

-
To unsubscribe from this list: send the line unsubscribe linux-ide in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: pci_get_device_reverse(), why does Calgary need this?

2008-02-13 Thread Muli Ben-Yehuda
On Tue, Feb 12, 2008 at 04:16:38PM -0800, Greg KH wrote:

 Why does the calgary driver need this?  Can we just use
 pci_get_device() instead?  Why do you need to walk the device list
 backwards?  Do you get false positives going forward?

It's not strictly needed, we used it for symmetry. Feel free to nuke
it and walk the list forward.

Cheers,
Muli
-
To unsubscribe from this list: send the line unsubscribe linux-ide in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: pci_get_device_reverse(), why does Calgary need this?

2008-02-13 Thread Bartlomiej Zolnierkiewicz
On Wednesday 13 February 2008, Greg KH wrote:
 On Wed, Feb 13, 2008 at 02:17:37AM +, Alan Cox wrote:
   Why does the calgary driver need this?  Can we just use pci_get_device()
   instead?  Why do you need to walk the device list backwards?  Do you get
   false positives going forward?
  
  It doesn't look to be performance critical so the driver can
  pci_get_device until the end and use the final hit anyway.
 
 That would make more sense.
 
  IDE reverse is more problematic but nobody seems to use it.
 
 I've seen two posters say they use it.  I'm wondering what it is really
 solving if they use it, and why if it's really needed, scsi never had to
 implement such a hack...

It is no longer solving anything, just adds more pain. ;)

[ The option comes from 2.2.x (so long before LABEL=/ and /dev/disk/by-id/
  became popular).  Some off-board controllers integrated on motherboards
  used to appear before on-board IDE on PCI bus so this option was meant
  to preserve the legacy ordering. ]

Since it is valid only when Probe IDE PCI devices in the PCI bus order
(DEPRECATED) config option is used it is already on its way out (though
marking it as obsoleted would make it more explicit).

I think that removing ide=reverse in 2.6.26 would be OK...

Thanks,
Bart
-
To unsubscribe from this list: send the line unsubscribe linux-ide in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: pci_get_device_reverse(), why does Calgary need this?

2008-02-13 Thread Muli Ben-Yehuda
On Wed, Feb 13, 2008 at 09:32:03AM -0800, Greg KH wrote:

 Is there some reason you aren't using the real PCI driver api here
 and registering a pci driver for these devices?  That would take the
 whole loop over all pci devices logic out of the code entirely.

I recall we had a reason, but I no longer recall what it was. Some
reason the real PCI driver API didn't fit at the time. If someone
were to whip up a working patch, I'd happily apply it.

  Feel free to nuke it and walk the list forward.
 
 So something like the patch below would be fine?

Yep, looks good. 

Acked-by: Muli Ben-Yehuda [EMAIL PROTECTED]

Cheers,
Muli
-
To unsubscribe from this list: send the line unsubscribe linux-ide in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: pci_get_device_reverse(), why does Calgary need this?

2008-02-13 Thread Greg KH
On Wed, Feb 13, 2008 at 01:34:12PM +0100, Bartlomiej Zolnierkiewicz wrote:
 On Wednesday 13 February 2008, Greg KH wrote:
  On Wed, Feb 13, 2008 at 02:17:37AM +, Alan Cox wrote:
Why does the calgary driver need this?  Can we just use pci_get_device()
instead?  Why do you need to walk the device list backwards?  Do you get
false positives going forward?
   
   It doesn't look to be performance critical so the driver can
   pci_get_device until the end and use the final hit anyway.
  
  That would make more sense.
  
   IDE reverse is more problematic but nobody seems to use it.
  
  I've seen two posters say they use it.  I'm wondering what it is really
  solving if they use it, and why if it's really needed, scsi never had to
  implement such a hack...
 
 It is no longer solving anything, just adds more pain. ;)
 
 [ The option comes from 2.2.x (so long before LABEL=/ and /dev/disk/by-id/
   became popular).  Some off-board controllers integrated on motherboards
   used to appear before on-board IDE on PCI bus so this option was meant
   to preserve the legacy ordering. ]
 
 Since it is valid only when Probe IDE PCI devices in the PCI bus order
 (DEPRECATED) config option is used it is already on its way out (though
 marking it as obsoleted would make it more explicit).
 
 I think that removing ide=reverse in 2.6.26 would be OK...

Great, thanks for your blessing.  I'll make up a patch and send it to
you for approval.

thanks,

greg k-h
-
To unsubscribe from this list: send the line unsubscribe linux-ide in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: pci_get_device_reverse(), why does Calgary need this?

2008-02-13 Thread Greg KH
On Wed, Feb 13, 2008 at 07:47:11PM +0200, Muli Ben-Yehuda wrote:
 On Wed, Feb 13, 2008 at 09:32:03AM -0800, Greg KH wrote:
 
  Is there some reason you aren't using the real PCI driver api here
  and registering a pci driver for these devices?  That would take the
  whole loop over all pci devices logic out of the code entirely.
 
 I recall we had a reason, but I no longer recall what it was. Some
 reason the real PCI driver API didn't fit at the time. If someone
 were to whip up a working patch, I'd happily apply it.

at the time?  It's been in place since the 2.2 days :)

Is the problem that other drivers also want access to this PCI device
for some reason?

I'll whip up a patch for you to test with in a bit...

   Feel free to nuke it and walk the list forward.
  
  So something like the patch below would be fine?
 
 Yep, looks good. 
 
 Acked-by: Muli Ben-Yehuda [EMAIL PROTECTED]

thanks for reviewing this.

greg k-h
-
To unsubscribe from this list: send the line unsubscribe linux-ide in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: pci_get_device_reverse(), why does Calgary need this?

2008-02-13 Thread Greg KH
On Wed, Feb 13, 2008 at 09:28:24AM -0800, Greg KH wrote:
 On Wed, Feb 13, 2008 at 01:34:12PM +0100, Bartlomiej Zolnierkiewicz wrote:
  On Wednesday 13 February 2008, Greg KH wrote:
   On Wed, Feb 13, 2008 at 02:17:37AM +, Alan Cox wrote:
 Why does the calgary driver need this?  Can we just use 
 pci_get_device()
 instead?  Why do you need to walk the device list backwards?  Do you 
 get
 false positives going forward?

It doesn't look to be performance critical so the driver can
pci_get_device until the end and use the final hit anyway.
   
   That would make more sense.
   
IDE reverse is more problematic but nobody seems to use it.
   
   I've seen two posters say they use it.  I'm wondering what it is really
   solving if they use it, and why if it's really needed, scsi never had to
   implement such a hack...
  
  It is no longer solving anything, just adds more pain. ;)
  
  [ The option comes from 2.2.x (so long before LABEL=/ and /dev/disk/by-id/
became popular).  Some off-board controllers integrated on motherboards
used to appear before on-board IDE on PCI bus so this option was meant
to preserve the legacy ordering. ]
  
  Since it is valid only when Probe IDE PCI devices in the PCI bus order
  (DEPRECATED) config option is used it is already on its way out (though
  marking it as obsoleted would make it more explicit).
  
  I think that removing ide=reverse in 2.6.26 would be OK...
 
 Great, thanks for your blessing.  I'll make up a patch and send it to
 you for approval.

How does the patch below look?  I didn't want to remove the whole config
option, as there is more to the logic than just the reverse order
stuff there.

If you don't mind, can I take this through the PCI tree so as to allow
the removal of this pci function afterwards?

thanks,

greg k-h


From: Greg Kroah-Hartman [EMAIL PROTECTED]
Subject: IDE: remove ide=reverse IDE core

This option is obsolete and can be removed safely.

It allows us to remove the pci_get_device_reverse() function from the
PCI core.


Cc: Bartlomiej Zolnierkiewicz [EMAIL PROTECTED]
Signed-off-by: Greg Kroah-Hartman [EMAIL PROTECTED]

---
 drivers/ide/ide-scan-pci.c |9 ++---
 drivers/ide/ide.c  |   12 
 include/linux/ide.h|1 -
 3 files changed, 2 insertions(+), 20 deletions(-)

--- a/drivers/ide/ide-scan-pci.c
+++ b/drivers/ide/ide-scan-pci.c
@@ -88,13 +88,8 @@ static int __init ide_scan_pcibus(void)
struct list_head *l, *n;
 
pre_init = 0;
-   if (!ide_scan_direction)
-   while ((dev = pci_get_device(PCI_ANY_ID, PCI_ANY_ID, dev)))
-   ide_scan_pcidev(dev);
-   else
-   while ((dev = pci_get_device_reverse(PCI_ANY_ID, PCI_ANY_ID,
-dev)))
-   ide_scan_pcidev(dev);
+   while ((dev = pci_get_device(PCI_ANY_ID, PCI_ANY_ID, dev)))
+   ide_scan_pcidev(dev);
 
/*
 *  Hand the drivers over to the PCI layer now we
--- a/drivers/ide/ide.c
+++ b/drivers/ide/ide.c
@@ -92,10 +92,6 @@ static int system_bus_speed; /* holds wh
 DEFINE_MUTEX(ide_cfg_mtx);
  __cacheline_aligned_in_smp DEFINE_SPINLOCK(ide_lock);
 
-#ifdef CONFIG_IDEPCI_PCIBUS_ORDER
-int ide_scan_direction; /* THIS was formerly 2.2.x pci=reverse */
-#endif
-
 int noautodma = 0;
 
 #ifdef CONFIG_BLK_DEV_IDEACPI
@@ -1227,14 +1223,6 @@ static int __init ide_setup(char *s)
goto obsolete_option;
}
 
-#ifdef CONFIG_IDEPCI_PCIBUS_ORDER
-   if (!strcmp(s, ide=reverse)) {
-   ide_scan_direction = 1;
-   printk( : Enabled support for IDE inverse scan order.\n);
-   return 1;
-   }
-#endif
-
 #ifdef CONFIG_BLK_DEV_IDEACPI
if (!strcmp(s, ide=noacpi)) {
//printk( : Disable IDE ACPI support.\n);
--- a/include/linux/ide.h
+++ b/include/linux/ide.h
@@ -988,7 +988,6 @@ extern void do_ide_request(struct reques
 void ide_init_disk(struct gendisk *, ide_drive_t *);
 
 #ifdef CONFIG_IDEPCI_PCIBUS_ORDER
-extern int ide_scan_direction;
 extern int __ide_pci_register_driver(struct pci_driver *driver, struct module 
*owner, const char *mod_name);
 #define ide_pci_register_driver(d) __ide_pci_register_driver(d, THIS_MODULE, 
KBUILD_MODNAME)
 #else
-
To unsubscribe from this list: send the line unsubscribe linux-ide in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: pci_get_device_reverse(), why does Calgary need this?

2008-02-13 Thread Bartlomiej Zolnierkiewicz
On Wednesday 13 February 2008, Greg KH wrote:
 On Wed, Feb 13, 2008 at 09:28:24AM -0800, Greg KH wrote:
  On Wed, Feb 13, 2008 at 01:34:12PM +0100, Bartlomiej Zolnierkiewicz wrote:
   On Wednesday 13 February 2008, Greg KH wrote:
On Wed, Feb 13, 2008 at 02:17:37AM +, Alan Cox wrote:
  Why does the calgary driver need this?  Can we just use 
  pci_get_device()
  instead?  Why do you need to walk the device list backwards?  Do 
  you get
  false positives going forward?
 
 It doesn't look to be performance critical so the driver can
 pci_get_device until the end and use the final hit anyway.

That would make more sense.

 IDE reverse is more problematic but nobody seems to use it.

I've seen two posters say they use it.  I'm wondering what it is really
solving if they use it, and why if it's really needed, scsi never had to
implement such a hack...
   
   It is no longer solving anything, just adds more pain. ;)
   
   [ The option comes from 2.2.x (so long before LABEL=/ and /dev/disk/by-id/
 became popular).  Some off-board controllers integrated on 
   motherboards
 used to appear before on-board IDE on PCI bus so this option was meant
 to preserve the legacy ordering. ]
   
   Since it is valid only when Probe IDE PCI devices in the PCI bus order
   (DEPRECATED) config option is used it is already on its way out (though
   marking it as obsoleted would make it more explicit).
   
   I think that removing ide=reverse in 2.6.26 would be OK...
  
  Great, thanks for your blessing.  I'll make up a patch and send it to
  you for approval.
 
 How does the patch below look?  I didn't want to remove the whole config
 option, as there is more to the logic than just the reverse order
 stuff there.

looks fine,

Signed-off-by: Bartlomiej Zolnierkiewicz [EMAIL PROTECTED]

 If you don't mind, can I take this through the PCI tree so as to allow
 the removal of this pci function afterwards?

[...]

great, could you also:
- rebase it on top of the patch below
- forward the patch below to Linus for 2.6.25

?

From: Bartlomiej Zolnierkiewicz [EMAIL PROTECTED]
Subject: [PATCH] ide: mark ide=reverse option as obsolete

- it is valid only if Probe IDE PCI devices in the PCI bus order
  (DEPRECATED) config option is used

- Greg needs to remove pci_get_device_reverse() for PCI core changes

Cc: Greg Kroah-Hartman [EMAIL PROTECTED]
Cc: Alan Cox [EMAIL PROTECTED]
Signed-off-by: Bartlomiej Zolnierkiewicz [EMAIL PROTECTED]
---
 drivers/ide/ide.c |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Index: b/drivers/ide/ide.c
===
--- a/drivers/ide/ide.c
+++ b/drivers/ide/ide.c
@@ -1038,7 +1038,7 @@ static int __init ide_setup(char *s)
if (!strcmp(s, ide=reverse)) {
ide_scan_direction = 1;
printk( : Enabled support for IDE inverse scan order.\n);
-   return 1;
+   goto obsolete_option;
}
 #endif
 
-
To unsubscribe from this list: send the line unsubscribe linux-ide in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: pci_get_device_reverse(), why does Calgary need this?

2008-02-13 Thread Greg KH
On Wed, Feb 13, 2008 at 11:20:36PM +0100, Bartlomiej Zolnierkiewicz wrote:
 On Wednesday 13 February 2008, Greg KH wrote:
  On Wed, Feb 13, 2008 at 09:28:24AM -0800, Greg KH wrote:
   On Wed, Feb 13, 2008 at 01:34:12PM +0100, Bartlomiej Zolnierkiewicz wrote:
On Wednesday 13 February 2008, Greg KH wrote:
 On Wed, Feb 13, 2008 at 02:17:37AM +, Alan Cox wrote:
   Why does the calgary driver need this?  Can we just use 
   pci_get_device()
   instead?  Why do you need to walk the device list backwards?  Do 
   you get
   false positives going forward?
  
  It doesn't look to be performance critical so the driver can
  pci_get_device until the end and use the final hit anyway.
 
 That would make more sense.
 
  IDE reverse is more problematic but nobody seems to use it.
 
 I've seen two posters say they use it.  I'm wondering what it is 
 really
 solving if they use it, and why if it's really needed, scsi never had 
 to
 implement such a hack...

It is no longer solving anything, just adds more pain. ;)

[ The option comes from 2.2.x (so long before LABEL=/ and 
/dev/disk/by-id/
  became popular).  Some off-board controllers integrated on 
motherboards
  used to appear before on-board IDE on PCI bus so this option was 
meant
  to preserve the legacy ordering. ]

Since it is valid only when Probe IDE PCI devices in the PCI bus order
(DEPRECATED) config option is used it is already on its way out (though
marking it as obsoleted would make it more explicit).

I think that removing ide=reverse in 2.6.26 would be OK...
   
   Great, thanks for your blessing.  I'll make up a patch and send it to
   you for approval.
  
  How does the patch below look?  I didn't want to remove the whole config
  option, as there is more to the logic than just the reverse order
  stuff there.
 
 looks fine,
 
 Signed-off-by: Bartlomiej Zolnierkiewicz [EMAIL PROTECTED]

Thanks.

  If you don't mind, can I take this through the PCI tree so as to allow
  the removal of this pci function afterwards?
 
 [...]
 
 great, could you also:
 - rebase it on top of the patch below
 - forward the patch below to Linus for 2.6.25

Sure, you want this to go in for .25, but not the one I just posted
removing this option, correct?  That should wait for .26?

thanks,

greg k-h
-
To unsubscribe from this list: send the line unsubscribe linux-ide in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: pci_get_device_reverse(), why does Calgary need this?

2008-02-13 Thread Bartlomiej Zolnierkiewicz
On Thursday 14 February 2008, Greg KH wrote:
 On Wed, Feb 13, 2008 at 11:20:36PM +0100, Bartlomiej Zolnierkiewicz wrote:
  On Wednesday 13 February 2008, Greg KH wrote:
   On Wed, Feb 13, 2008 at 09:28:24AM -0800, Greg KH wrote:
On Wed, Feb 13, 2008 at 01:34:12PM +0100, Bartlomiej Zolnierkiewicz 
wrote:
 On Wednesday 13 February 2008, Greg KH wrote:
  On Wed, Feb 13, 2008 at 02:17:37AM +, Alan Cox wrote:
Why does the calgary driver need this?  Can we just use 
pci_get_device()
instead?  Why do you need to walk the device list backwards?  
Do you get
false positives going forward?
   
   It doesn't look to be performance critical so the driver can
   pci_get_device until the end and use the final hit anyway.
  
  That would make more sense.
  
   IDE reverse is more problematic but nobody seems to use it.
  
  I've seen two posters say they use it.  I'm wondering what it is 
  really
  solving if they use it, and why if it's really needed, scsi never 
  had to
  implement such a hack...
 
 It is no longer solving anything, just adds more pain. ;)
 
 [ The option comes from 2.2.x (so long before LABEL=/ and 
 /dev/disk/by-id/
   became popular).  Some off-board controllers integrated on 
 motherboards
   used to appear before on-board IDE on PCI bus so this option was 
 meant
   to preserve the legacy ordering. ]
 
 Since it is valid only when Probe IDE PCI devices in the PCI bus 
 order
 (DEPRECATED) config option is used it is already on its way out 
 (though
 marking it as obsoleted would make it more explicit).
 
 I think that removing ide=reverse in 2.6.26 would be OK...

Great, thanks for your blessing.  I'll make up a patch and send it to
you for approval.
   
   How does the patch below look?  I didn't want to remove the whole config
   option, as there is more to the logic than just the reverse order
   stuff there.
  
  looks fine,
  
  Signed-off-by: Bartlomiej Zolnierkiewicz [EMAIL PROTECTED]
 
 Thanks.
 
   If you don't mind, can I take this through the PCI tree so as to allow
   the removal of this pci function afterwards?
  
  [...]
  
  great, could you also:
  - rebase it on top of the patch below
  - forward the patch below to Linus for 2.6.25
 
 Sure, you want this to go in for .25, but not the one I just posted
 removing this option, correct?  That should wait for .26?

Yes, lets give people the final call before actually removing this option
(unless of course there is some urgent reason for removing it in .25).

Thanks,
Bart
-
To unsubscribe from this list: send the line unsubscribe linux-ide in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: pci_get_device_reverse(), why does Calgary need this?

2008-02-13 Thread Greg KH
On Thu, Feb 14, 2008 at 01:02:55AM +0100, Bartlomiej Zolnierkiewicz wrote:
 On Thursday 14 February 2008, Greg KH wrote:
  On Wed, Feb 13, 2008 at 11:20:36PM +0100, Bartlomiej Zolnierkiewicz wrote:
   On Wednesday 13 February 2008, Greg KH wrote:
On Wed, Feb 13, 2008 at 09:28:24AM -0800, Greg KH wrote:
 On Wed, Feb 13, 2008 at 01:34:12PM +0100, Bartlomiej Zolnierkiewicz 
 wrote:
  On Wednesday 13 February 2008, Greg KH wrote:
   On Wed, Feb 13, 2008 at 02:17:37AM +, Alan Cox wrote:
 Why does the calgary driver need this?  Can we just use 
 pci_get_device()
 instead?  Why do you need to walk the device list backwards?  
 Do you get
 false positives going forward?

It doesn't look to be performance critical so the driver can
pci_get_device until the end and use the final hit anyway.
   
   That would make more sense.
   
IDE reverse is more problematic but nobody seems to use it.
   
   I've seen two posters say they use it.  I'm wondering what it is 
   really
   solving if they use it, and why if it's really needed, scsi never 
   had to
   implement such a hack...
  
  It is no longer solving anything, just adds more pain. ;)
  
  [ The option comes from 2.2.x (so long before LABEL=/ and 
  /dev/disk/by-id/
became popular).  Some off-board controllers integrated on 
  motherboards
used to appear before on-board IDE on PCI bus so this option 
  was meant
to preserve the legacy ordering. ]
  
  Since it is valid only when Probe IDE PCI devices in the PCI bus 
  order
  (DEPRECATED) config option is used it is already on its way out 
  (though
  marking it as obsoleted would make it more explicit).
  
  I think that removing ide=reverse in 2.6.26 would be OK...
 
 Great, thanks for your blessing.  I'll make up a patch and send it to
 you for approval.

How does the patch below look?  I didn't want to remove the whole config
option, as there is more to the logic than just the reverse order
stuff there.
   
   looks fine,
   
   Signed-off-by: Bartlomiej Zolnierkiewicz [EMAIL PROTECTED]
  
  Thanks.
  
If you don't mind, can I take this through the PCI tree so as to allow
the removal of this pci function afterwards?
   
   [...]
   
   great, could you also:
   - rebase it on top of the patch below
   - forward the patch below to Linus for 2.6.25
  
  Sure, you want this to go in for .25, but not the one I just posted
  removing this option, correct?  That should wait for .26?
 
 Yes, lets give people the final call before actually removing this option
 (unless of course there is some urgent reason for removing it in .25).

No, no rush from me, I'll queue this up and send it to Linus in my next
batch.

thanks,

greg k-h
-
To unsubscribe from this list: send the line unsubscribe linux-ide in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: pci_get_device_reverse(), why does Calgary need this?

2008-02-12 Thread Alan Cox
 Why does the calgary driver need this?  Can we just use pci_get_device()
 instead?  Why do you need to walk the device list backwards?  Do you get
 false positives going forward?

It doesn't look to be performance critical so the driver can
pci_get_device until the end and use the final hit anyway. IDE reverse is
more problematic but nobody seems to use it.
-
To unsubscribe from this list: send the line unsubscribe linux-ide in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: pci_get_device_reverse(), why does Calgary need this?

2008-02-12 Thread Greg KH
On Wed, Feb 13, 2008 at 02:17:37AM +, Alan Cox wrote:
  Why does the calgary driver need this?  Can we just use pci_get_device()
  instead?  Why do you need to walk the device list backwards?  Do you get
  false positives going forward?
 
 It doesn't look to be performance critical so the driver can
 pci_get_device until the end and use the final hit anyway.

That would make more sense.

 IDE reverse is more problematic but nobody seems to use it.

I've seen two posters say they use it.  I'm wondering what it is really
solving if they use it, and why if it's really needed, scsi never had to
implement such a hack...

thanks,

greg k-h
-
To unsubscribe from this list: send the line unsubscribe linux-ide in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html