On Sunday, April 30, 2017 03:57:13 PM Imre Deak wrote: > On Sat, Apr 29, 2017 at 12:21:57PM +0200, Rafael J. Wysocki wrote: > > On Friday, April 28, 2017 11:33:02 PM Rafael J. Wysocki wrote: > > > On Friday, April 28, 2017 05:16:02 PM Imre Deak wrote: > > > > Some drivers - like i915 - may not support the system suspend direct > > > > complete optimization due to differences in their runtime and system > > > > suspend sequence. Add a flag that when set resumes the device before > > > > calling the driver's system suspend handlers which effectively disables > > > > the optimization. > > > > > > > > Needed by the next patch fixing suspend/resume on i915. > > > > > > > > Suggested by Rafael. > > > > > > > > Cc: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> > > > > Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> > > > > Cc: linux-pci@xxxxxxxxxxxxxxx > > > > Cc: stable@xxxxxxxxxxxxxxx > > > > Signed-off-by: Imre Deak <imre.deak@xxxxxxxxx> > > > > > > Acked-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> > > > > > > The reason why the opt-out flag was not added on day one was because we were > > > not sure whether or not it would be necessary at all. > > > > > > Quite evidently, it is needed. > > > > But that said, it actually can be implemented as a flag in dev_flags too, say > > PCI_DEV_FLAGS_NEEDS_RESUME, in analogy with PCI_DEV_FLAGS_NO_D3 that's > > already there. > > > > The struct size would not need to grow then which I guess would be better? > > Hm, both the bit field and the flag would need to increase if running > out of bits, so what's the difference? (Atm, the struct size wouldn't > change either way.) In the bit field case this depends on what the compiler thinks is better to be entirely precise, so they are not 100% equivalent. Plus, since there already are things related to PM in dev_flags, why to depart from that pattern? Thanks, Rafael