mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* RE: PCI Hotplug Drivers for 2.5
@ 2002-10-24 16:24 Lee, Jung-Ik
  2002-10-24 16:46 ` Greg KH
  2002-10-24 17:39 ` KOCHI, Takayoshi
  0 siblings, 2 replies; 9+ messages in thread
From: Lee, Jung-Ik @ 2002-10-24 16:24 UTC (permalink / raw)
  To: 'Greg KH'
  Cc: 'KOCHI, Takayoshi',
	Luck, Tony, pcihpd-discuss, linux ia64 kernel list, linux-kernel

Hi Greg,

My answers are next to your comments.

thanks,
J.I.


> -----Original Message-----
> From: Greg KH [mailto:greg@kroah.com]
> Sent: Wednesday, October 23, 2002 10:10 PM
> To: Lee, Jung-Ik
> Cc: 'KOCHI, Takayoshi'; Luck, Tony;
> pcihpd-discuss@lists.sourceforge.net; linux ia64 kernel list;
> linux-kernel
> Subject: Re: PCI Hotplug Drivers for 2.5
> 
> 
> On Wed, Oct 23, 2002 at 09:33:09PM -0700, Lee, Jung-Ik wrote:
> > Greg,
> > 
> > Please find the attached ACPI based PCI Hotplug driver.
> 
> But the code you sent has all of the ACPI stuff not enabled, right?

ACPI is a must for PHP enumeration/configuration and resource management for
DIG64/ACPI compliant platforms. ACPI method is optional for controller/slot
operations(event management). intcphp driver conforms to ACPI resource
management. I didn't enable ACPI based event management for PHP since it is
optional and provides less feature than controller based solution - LED,
MRL, Bus/Adapter speeds/capabilities, etc.

> 
> As an example from your patch:
> 
> +enum php_ctlr_type phphpc_get_ctlr_type()
> +{
> +       return PCI;
> +}
> 
> It never returns any other type, so the ACPI or ISA sections of the
> driver will never get called.  Or am I missing something?
> 
This is because this release only addresses PCI version only. I can take
this out too, with ease :)

> >  intcphp:
> >     Php driver source for Compaq or compatible Intel Hotplug
> >     controllers on IA32 or DIG64-ACPI compliant IA64 platforms.
> 
> So this overloads the current Compaq driver?  It looks like this "new"
> driver will also handle all of the same controllers the current Compaq
> driver does, right?  If not, it sure looks like you are 
> accepting all of
> the same PCI ID values :)
> 
Probably, as PCI ID indicates :)

> >     intcphp driver is overhauled per your requirements:
> >     + Abstraction module is removed.
> >       It's now two modules driver like others.
> 
> Thank you for making this change, I appreciate it.
> 
> >     + typedefs are removed except callback function.
> 
> Thanks.
> 
> >     + LINUX_VERSION checks are removed.
> 
> And replaced with the odd BEFORE_2_5 check :)
> Please just rip these out and send a version that is only for the 2.5
> kernel.
> 
Ah, you noticed it.. OK (pain in my heart :))

> Some of your #ifdef CONFIG_IA64 should be moved to header files only
> (and probably documented why you really need to sleep extra 
> amounts for
> ia64 machines only.
> 
> What's the #ifdef WORK_QUEUE for?

Not used. Will take out.

> 
> > 	intcphp is much based on cpqphp driver but has been 
> modified to be
> > controller independent on DIG64/ACPI compliant IPF servers 
> as well as
> > non-ACPI based IA32 servers. Thus code looks similar but 
> integration is not
> > that easy and will take time and consents of affected 
> drivers owners.
> 
> The code looks _very_ similar.  In fact, at first glance it looks like
> almost a straight copy of the existing Compaq code.  Why not 
> just submit
> a patch against that driver that adds the extra functionality that you
> need for your hardware?  That would be much smaller, and decrease the
> amount of duplicated code in the kernel tree.
> 
> Also, why doesn't the ACPI PCI hotplug driver work for your machines?
> I've seen it work on a very wide range of processors (i386 and ia64),
> and manufacturers, and any specific issues with your hardware would
> probably be better addressed with patches to the existing ACPI driver.
> 
With some reasons such as what Tak described.

> > 	We understand there needs more integration and cleanup to make
> > common codes to pci_hotplug core as you indicated. This 
> task, however,
> > requires time and changes in every php driver with owners' 
> consensus on
> > common php controller/slot objects, while satisfying 
> requirements in the
> > near future. We look forward to discussing this with you and other
> > contributors.
> 
> Great, I do too.  Please, make a proposal about what to merge into the
> core.  I do NOT want to see another driver have to duplicate the PCI
> resource management code again without a very good reason for 
> doing it.
> 
> > 	Until then, please allow us to co-exist this driver.
> 
> There's no rush, let's work together to get this done properly.
> 
We need this driver as it's the only solution for DIG64 compliant IPF
platforms.
Can we work in parallel ? - Make this driver available and we all work
together for enhanced pci_hotplug core. Also I'll talk with cpqphp owner
over the integration of the two.

> thanks,
> 
> greg k-h
> 

^ permalink raw reply	[flat|nested] 9+ messages in thread
* RE: [Linux-ia64] RE: PCI Hotplug Drivers for 2.5
@ 2002-10-24 18:19 Lee, Jung-Ik
  0 siblings, 0 replies; 9+ messages in thread
From: Lee, Jung-Ik @ 2002-10-24 18:19 UTC (permalink / raw)
  To: 'Matthew Wilcox'
  Cc: 'Greg KH', 'KOCHI, Takayoshi',
	Luck, Tony, pcihpd-discuss, linux ia64 kernel list, linux-kernel


> > **resource management**
> > Non-ACPI platforms uses $HRT/EBDA, pcibios_*(), SMBIOS, 
> etc. for slot
> > enumeration/configuration.
> > DIG64/ACPI, and SHPC requires ACPI for this. IPF platforms 
> only have ACPI
> > _CRS, _PRT, _HPP, _BBN, _STA, _ADR, _SUN, etc on the 
> namespace for PHP, and
> > we have to use them. (as a side note, this functionality is 
> common for other
> > hotplug-* as mentioned in first mail. No API will be common for
> > hotplug-everything, but functionality is common and has not to be
> > duplicated)
> 
> > **event management in terms of controller/slot operations **
> > ACPI provides only _EJ0, _PS?, _STA, etc for slot 
> operations but these are
> > not mandatory. That means, we can use either ACPI method or 
> controller
> > driver.
> > intcphp driver has not enabled ACPI method based solution but uses
> > controller driver.
> > intcphp driver is also capable of performing ACPI method 
> based solution
> > since it works on ACPI namespace. This is why acpiphp and 
> intcphp could be
> > sharing resource management and event management.
> 
> Sounds like we want a library of ACPI code that can be used 
> by individual
> drivers rather than an ACPI driver with pluggable event management
> functions then.

Right, that's where we're getting at.

^ permalink raw reply	[flat|nested] 9+ messages in thread
* PCI Hotplug Drivers for 2.5
@ 2002-10-24  4:33 Lee, Jung-Ik
  2002-10-24  5:10 ` Greg KH
  0 siblings, 1 reply; 9+ messages in thread
From: Lee, Jung-Ik @ 2002-10-24  4:33 UTC (permalink / raw)
  To: 'Greg KH'
  Cc: 'KOCHI, Takayoshi',
	Luck, Tony, pcihpd-discuss, linux ia64 kernel list, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 1980 bytes --]

Greg,

Please find the attached ACPI based PCI Hotplug driver.
 intcphp:
    Php driver source for Compaq or compatible Intel Hotplug
    controllers on IA32 or DIG64-ACPI compliant IA64 platforms.

    intcphp driver is overhauled per your requirements:
    + Abstraction module is removed.
      It's now two modules driver like others.
    + typedefs are removed except callback function.
    + LINUX_VERSION checks are removed.

	intcphp is much based on cpqphp driver but has been modified to be
controller independent on DIG64/ACPI compliant IPF servers as well as
non-ACPI based IA32 servers. Thus code looks similar but integration is not
that easy and will take time and consents of affected drivers owners.
	We understand there needs more integration and cleanup to make
common codes to pci_hotplug core as you indicated. This task, however,
requires time and changes in every php driver with owners' consensus on
common php controller/slot objects, while satisfying requirements in the
near future. We look forward to discussing this with you and other
contributors.
	Until then, please allow us to co-exist this driver.

Thanks,
	Jung-Ik Lee/Intel,
	Takayoshi Kochi/NEC,
	Tony Luck/Intel

====================================================
+ Patch is against 2.5.39 but should apply to 2.5.41 or later.
+ acpiphp driver is not included in this patch.
+ Required drivers/acpi patch and arch/ia64/pci patch have 
  already been accepted by respective owners, and excluded
  from this patch.

 Config.help    |   10 
 Config.in      |    1 
 Makefile       |   22 
 intcphp_core.c |  799 ++++++++++++++++
 intcphp_ctrl.c | 1795 ++++++++++++++++++++++++++++++++++++
 intcphp_hpc.c  | 1333 ++++++++++++++++++++++++++
 intcphp_pci.c  | 1179 +++++++++++++++++++++++
 intcphp_proc.c |  196 +++
 phpdvr.h       |  590 +++++++++++
 phprm.h        |   56 +
 phprm_acpi.c   | 2824
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 11 files changed, 8805 insertions(+)


[-- Attachment #2: hotplug_2539_rel_1023.diff.gz --]
[-- Type: application/octet-stream, Size: 55085 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2002-10-24 22:01 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2002-10-24 16:24 PCI Hotplug Drivers for 2.5 Lee, Jung-Ik
2002-10-24 16:46 ` Greg KH
2002-10-24 17:40   ` Lee, Jung-Ik
2002-10-24 17:59     ` [Linux-ia64] " Matthew Wilcox
2002-10-24 22:06     ` Greg KH
2002-10-24 17:39 ` KOCHI, Takayoshi
2002-10-24 17:52   ` Jeff Garzik
  -- strict thread matches above, loose matches on Subject: below --
2002-10-24 18:19 [Linux-ia64] " Lee, Jung-Ik
2002-10-24  4:33 Lee, Jung-Ik
2002-10-24  5:10 ` Greg KH
2002-10-24  5:59   ` KOCHI, Takayoshi
2002-10-24  6:12     ` Greg KH
2002-10-24 11:49       ` [Linux-ia64] " Matthew Wilcox

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

Powered by JetHome