On Wed, Feb 01, 2017 at 04:45:42PM +0100, Andreas Boll wrote: > 2017-01-30 21:41 GMT+01:00 Bjorn Helgaas <bhelgaas@xxxxxxxxxx>: > > The PCI Power Management Spec, r1.2, sec 5.6.1, requires a 10 millisecond > > delay when powering on a device, i.e., transitioning from state D3hot to > > D0. > > > > Apparently some devices require more time, and d1f9809ed131 ("drm/radeon: > > add quirk for d3 delay during switcheroo poweron for apple macbooks") added > > an additional delay for the Radeon device in a MacBook Pro. 4807c5a8a0c8 > > ("drm/radeon: add a PX quirk list") made the affected device more explicit. > > > > Add a generic PCI quirk to increase the d3_delay. This means we will use > > the additional delay for *all* wakeups from D3, not just those initiated by > > radeon_switcheroo_set_state(). > > > > Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> > > CC: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> > > --- > > drivers/gpu/drm/radeon/radeon_device.c | 12 ------------ > > drivers/pci/quirks.c | 13 +++++++++++++ > > 2 files changed, 13 insertions(+), 12 deletions(-) > > > > diff --git a/drivers/gpu/drm/radeon/radeon_device.c b/drivers/gpu/drm/radeon/radeon_device.c > > index 8a1df2a1afbd..8b8fd981cae5 100644 > > --- a/drivers/gpu/drm/radeon/radeon_device.c > > +++ b/drivers/gpu/drm/radeon/radeon_device.c > > @@ -113,7 +113,6 @@ static inline bool radeon_is_atpx_hybrid(void) { return false; } > > #endif > > > > #define RADEON_PX_QUIRK_DISABLE_PX (1 << 0) > > -#define RADEON_PX_QUIRK_LONG_WAKEUP (1 << 1) > > > > struct radeon_px_quirk { > > u32 chip_vendor; > > @@ -136,9 +135,6 @@ static struct radeon_px_quirk radeon_px_quirk_list[] = { > > * https://bugzilla.kernel.org/show_bug.cgi?id=51381 > > */ > > { PCI_VENDOR_ID_ATI, 0x6840, 0x1043, 0x2122, RADEON_PX_QUIRK_DISABLE_PX }, > > - /* macbook pro 8.2 */ > > - { PCI_VENDOR_ID_ATI, 0x6741, PCI_VENDOR_ID_APPLE, 0x00e2, RADEON_PX_QUIRK_LONG_WAKEUP }, > > Do you intentionally removed the following line? > > - { 0, 0, 0, 0, 0 }, Ooh, definitely not! Thanks for catching this. I'll post a v2 that fixes this. Bjorn