pci_report_pmcap man page on SunOS

Man page or keyword search:  
man Server   20652 pages
apropos Keyword Search (all sections)
Output format
SunOS logo
[printable version]

pci_report_pmcap(9F)	 Kernel Functions for Drivers	  pci_report_pmcap(9F)

NAME
       pci_report_pmcap - Report Power Management capability of a PCI device

SYNOPSIS
       #include <sys/ddi.h>
       #include <sys/sunddi.h>

       int pci_report_pmcap(dev_info_t *dip,  int cap, void *arg);

INTERFACE LEVEL
       Solaris DDI specific (Solaris DDI)

PARAMETERS
       dip	       Pointer to the device's dev_info structure

       cap	       Power management capability

       arg	       Argument for the capability

DESCRIPTION
       Some  PCI  devices provide power management capabilities in addition to
       those  provided	by  the	 PCI  Power  Management	  Specification.   The
       pci_report_pmcap(9F)  function reports those Power Management capabili‐
       ties of the PCI device to the  framework.  Framework  supports  dynamic
       changing	 of  the  capability  by  allowing  pci_report_pmcap(9F) to be
       called multiple times. Following	 are  the  supported  capabilities  as
       indicated by the cap:

       PCI_PM_IDLESPEED	 — The PCI_PM_IDLESPEED value indicates the lowest PCI
       clock speed that a device can tolerate when idle,  and  is   applicable
       only  to	 33 MHz PCI bus. arg represents the lowest possible idle speed
       in KHz (1 KHz is 1000 Hz).  The integer value  representing  the	 speed
       should	be   cast   to	 (void	 *)   before   passing	 as   arg   to
       pci_report_pmcap(9F).

	 The special values of arg are:

       PCI_PM_IDLESPEED_ANY    The device can tolerate any idle clock speed.

       PCI_PM_IDLESPEED_NONE   The device cannot tolerate slowing down of  PCI
			       clock even when idle.

       If the driver doesn't make this call, PCI_PM_IDLESPEED_NONE is assumed.
       In this case, one offending device can keep the entire bus  from	 being
       power managed.

RETURN VALUES
       The pci_report_pmcap(9F) function returns:

       DDI_SUCCESS     Successful reporting of the capability

       DDI_FAILURE     Failure	to  report capability because of invalid argu‐
		       ment(s)

CONTEXT
       The pci_report_pmcap(9F) function can be called from user,  kernel  and
       interrupt context.

EXAMPLES
       1.  A  device  driver  knows that the device it controls works with any
       clock between DC and 33 MHz as  specified  in  Section  4.2.3.1:	 Clock
       Specification   of  the	PCI Bus Specification Revision 2.1. The device
       driver makes the following call from its	 attach(9E):

       if (pci_report_pmcap(dip, PCI_PM_IDLESPEED, PCI_PM_IDLESPEED_ANY) !=
		   DDI_SUCCESS)
		       cmn_err(CE_WARN, "%s%d: pci_report_pmcap failed\n",
			   ddi_driver_name(dip), ddi_get_instance(dip));

       2. A device driver controls a 10/100 Mb Ethernet device which runs  the
       device  state  machine  on  the chip from the PCI clock. For the device
       state machine to receive packets at 100 Mb, the PCI clock  cannot  drop
       below 4 MHz. The driver makes the following call whenever it negotiates
       a 100 Mb Ethernet connection:

       if (pci_report_pmcap(dip,  PCI_PM_IDLESPEED, (void *)4000) !=
		      DDI_SUCCESS)
		       cmn_err(CE_WARN, "%s%d: pci_report_pmcap failed\n",
			   ddi_driver_name(dip), ddi_get_instance(dip));

ATTRIBUTES
       See attributes(5) for descriptions of the following attributes:

       ┌──────────────────────────┬────────────────────────────────┐
       │     ATTRIBUTE TYPE	  │	   ATTRIBUTE VALUE	   │
       ├──────────────────────────┼────────────────────────────────┤
       │Interface Stability	  │ Evolving			   │
       └──────────────────────────┴────────────────────────────────┘

SEE ALSO
       Writing Device Drivers

       PCI Bus Power Management Interface Specification Version 1.1

       PCI Bus Specification Revision 2.1

SunOS 5.10			13 August 1999		  pci_report_pmcap(9F)
[top]

List of man pages available for SunOS

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net