lkml.org 
[lkml]   [2006]   [Oct]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: pci_set_power_state() failure and breaking suspend
    Benjamin Herrenschmidt wrote:
    >> Recently, ohci1394 grew some "proper" error handling in its suspend
    >> function, something that looks like:
    >>
    >> err = pci_set_power_state(pdev, pci_choose_state(pdev, state));
    >> if (err)
    >> goto out;
    ...
    > First, it breaks some old PowerBooks where the internal OHCI has no PM
    > feature exposed on PCI....

    Just out of curiosity: Are these HCs actual PCI hardware or are they
    glued onto an extra PCI interface? Does the startup message of ohci1394
    log OHCI 1.1 or 1.0 compliance for them? Probably the latter; OHCI 1.1
    was released in January 2000.

    OHCI 1.1 says "PCI based 1394 Open Host Controllers /should/ implement
    PCI Power Management, and implementations that support PCI Power
    Management /shall/ exhibit behavior consistent with this Annex."
    (Emphasis mine.) I.e. a compliant HC does either not support power
    management at all or supports it including the pci_set_power_state()
    triggered state transitions.

    OHCI 1.00 does not have a power management specification. It points to
    the PCI Local Bus Specification Revision 2.1 though (which I don't have).

    We are still working on full power management support by ohci1394 and
    upper IEEE 1394 layers, so I am glad to get feedback and patches.
    --
    Stefan Richter
    -=====-=-==- =-=- ==---
    http://arcgraph.de/sr/
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2006-10-24 10:17    [W:4.955 / U:0.148 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site