Rev 6084 | Rev 6103 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 6084 | Rev 6088 | ||
---|---|---|---|
Line 27... | Line 27... | ||
27 | */ |
27 | */ |
Line 28... | Line 28... | ||
28 | 28 | ||
Line 29... | Line 29... | ||
29 | #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt |
29 | #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt |
- | 30 | ||
30 | 31 | #include |
|
31 | #include |
32 | #include |
32 | #include |
33 | #include |
33 | #include |
34 | #include |
34 | #include "i915_drv.h" |
35 | #include "i915_drv.h" |
Line 1442... | Line 1443... | ||
1442 | continue; |
1443 | continue; |
Line 1443... | Line 1444... | ||
1443 | 1444 | ||
Line 1444... | Line 1445... | ||
1444 | *pin_mask |= BIT(i); |
1445 | *pin_mask |= BIT(i); |
1445 | 1446 | ||
Line 1446... | Line 1447... | ||
1446 | // if (!intel_hpd_pin_to_port(i, &port)) |
1447 | // if (!intel_hpd_pin_to_port(i, &port)) |
1447 | continue; |
1448 | // continue; |
1448 | 1449 | ||
Line 1592... | Line 1593... | ||
1592 | } |
1593 | } |
1593 | } |
1594 | } |
Line 1594... | Line 1595... | ||
1594 | 1595 | ||
1595 | static bool intel_pipe_handle_vblank(struct drm_device *dev, enum pipe pipe) |
1596 | static bool intel_pipe_handle_vblank(struct drm_device *dev, enum pipe pipe) |
1596 | { |
1597 | { |
1597 | // if (!drm_handle_vblank(dev, pipe)) |
1598 | if (!drm_handle_vblank(dev, pipe)) |
Line 1598... | Line 1599... | ||
1598 | // return false; |
1599 | return false; |
1599 | 1600 | ||
Line 1600... | Line 1601... | ||
1600 | return true; |
1601 | return true; |
Line 2279... | Line 2280... | ||
2279 | pipe_iir = I915_READ(GEN8_DE_PIPE_IIR(pipe)); |
2280 | pipe_iir = I915_READ(GEN8_DE_PIPE_IIR(pipe)); |
2280 | if (pipe_iir) { |
2281 | if (pipe_iir) { |
2281 | ret = IRQ_HANDLED; |
2282 | ret = IRQ_HANDLED; |
2282 | I915_WRITE(GEN8_DE_PIPE_IIR(pipe), pipe_iir); |
2283 | I915_WRITE(GEN8_DE_PIPE_IIR(pipe), pipe_iir); |
Line -... | Line 2284... | ||
- | 2284 | ||
- | 2285 | if (pipe_iir & GEN8_PIPE_VBLANK && |
|
- | 2286 | intel_pipe_handle_vblank(dev, pipe)) |
|
Line 2283... | Line 2287... | ||
2283 | 2287 | /* intel_check_page_flip(dev, pipe)*/; |
|
2284 | 2288 | ||
2285 | if (INTEL_INFO(dev_priv)->gen >= 9) |
2289 | if (INTEL_INFO(dev_priv)->gen >= 9) |
2286 | flip_done = pipe_iir & GEN9_PIPE_PLANE1_FLIP_DONE; |
2290 | flip_done = pipe_iir & GEN9_PIPE_PLANE1_FLIP_DONE; |
Line 2417... | Line 2421... | ||
2417 | */ |
2421 | */ |
2418 | smp_mb__before_atomic(); |
2422 | smp_mb__before_atomic(); |
2419 | atomic_inc(&dev_priv->gpu_error.reset_counter); |
2423 | atomic_inc(&dev_priv->gpu_error.reset_counter); |
Line 2420... | Line 2424... | ||
2420 | 2424 | ||
2421 | } else { |
2425 | } else { |
2422 | atomic_set_mask(I915_WEDGED, &error->reset_counter); |
2426 | atomic_or(I915_WEDGED, &error->reset_counter); |
Line 2423... | Line 2427... | ||
2423 | } |
2427 | } |
2424 | 2428 | ||
2425 | /* |
2429 | /* |
Line 3007... | Line 3011... | ||
3007 | 3011 | ||
3008 | // if (rings_hung) |
3012 | // if (rings_hung) |
Line 3009... | Line 3013... | ||
3009 | // return i915_handle_error(dev, true); |
3013 | // return i915_handle_error(dev, true); |
- | 3014 | ||
3010 | 3015 | } |
|
3011 | } |
3016 | |
3012 | static void ibx_irq_reset(struct drm_device *dev) |
3017 | static void ibx_irq_reset(struct drm_device *dev) |
Line 3013... | Line 3018... | ||
3013 | { |
3018 | { |
Line 3931... | Line 3936... | ||
3931 | int plane, int pipe, u32 iir) |
3936 | int plane, int pipe, u32 iir) |
3932 | { |
3937 | { |
3933 | struct drm_i915_private *dev_priv = dev->dev_private; |
3938 | struct drm_i915_private *dev_priv = dev->dev_private; |
3934 | u32 flip_pending = DISPLAY_PLANE_FLIP_PENDING(plane); |
3939 | u32 flip_pending = DISPLAY_PLANE_FLIP_PENDING(plane); |
Line -... | Line 3940... | ||
- | 3940 | ||
3935 | 3941 | if (!intel_pipe_handle_vblank(dev, pipe)) |
|
Line 3936... | Line 3942... | ||
3936 | return false; |
3942 | return false; |
3937 | 3943 |