Ignore:
Timestamp:
Apr 18, 2017, 8:47:31 AM (7 days ago)
Author:
brainslayer
Message:

update kernels

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/linux/universal/linux-4.9/drivers/gpu/drm/i915/intel_pm.c

    r31574 r31884  
    49044904        }
    49054905
     4906        /* When byt can survive without system hang with dynamic
     4907         * sw freq adjustments, this restriction can be lifted.
     4908         */
     4909        if (IS_VALLEYVIEW(dev_priv))
     4910                goto skip_hw_write;
     4911
    49064912        I915_WRITE(GEN6_RP_UP_EI,
    49074913                   GT_INTERVAL_FROM_US(dev_priv, ei_up));
     
    49244930                   GEN6_RP_DOWN_IDLE_AVG);
    49254931
     4932skip_hw_write:
    49264933        dev_priv->rps.power = new_power;
    49274934        dev_priv->rps.up_threshold = threshold_up;
     
    49344941        u32 mask = 0;
    49354942
     4943        /* We use UP_EI_EXPIRED interupts for both up/down in manual mode */
    49364944        if (val > dev_priv->rps.min_freq_softlimit)
    4937                 mask |= GEN6_PM_RP_DOWN_EI_EXPIRED | GEN6_PM_RP_DOWN_THRESHOLD | GEN6_PM_RP_DOWN_TIMEOUT;
     4945                mask |= GEN6_PM_RP_UP_EI_EXPIRED | GEN6_PM_RP_DOWN_THRESHOLD | GEN6_PM_RP_DOWN_TIMEOUT;
    49384946        if (val < dev_priv->rps.max_freq_softlimit)
    49394947                mask |= GEN6_PM_RP_UP_EI_EXPIRED | GEN6_PM_RP_UP_THRESHOLD;
     
    50355043        mutex_lock(&dev_priv->rps.hw_lock);
    50365044        if (dev_priv->rps.enabled) {
    5037                 if (dev_priv->pm_rps_events & (GEN6_PM_RP_DOWN_EI_EXPIRED | GEN6_PM_RP_UP_EI_EXPIRED))
     5045                if (dev_priv->pm_rps_events & GEN6_PM_RP_UP_EI_EXPIRED)
    50385046                        gen6_rps_reset_ei(dev_priv);
    50395047                I915_WRITE(GEN6_PMINTRMSK,
     
    79617969 *
    79627970 * Keep resending the @request to @mbox until PCODE acknowledges it, PCODE
    7963  * reports an error or an overall timeout of @timeout_base_ms+10 ms expires.
     7971 * reports an error or an overall timeout of @timeout_base_ms+50 ms expires.
    79647972 * The request is acknowledged once the PCODE reply dword equals @reply after
    79657973 * applying @reply_mask. Polling is first attempted with preemption enabled
    7966  * for @timeout_base_ms and if this times out for another 10 ms with
     7974 * for @timeout_base_ms and if this times out for another 50 ms with
    79677975 * preemption disabled.
    79687976 *
     
    80008008         * (queued) request and @timeout_base_ms delay. As a workaround retry
    80018009         * the poll with preemption disabled to maximize the number of
    8002          * requests. Increase the timeout from @timeout_base_ms to 10ms to
     8010         * requests. Increase the timeout from @timeout_base_ms to 50ms to
    80038011         * account for interrupts that could reduce the number of these
    8004          * requests.
     8012         * requests, and for any quirks of the PCODE firmware that delays
     8013         * the request completion.
    80058014         */
    80068015        DRM_DEBUG_KMS("PCODE timeout, retrying with preemption disabled\n");
    80078016        WARN_ON_ONCE(timeout_base_ms > 3);
    80088017        preempt_disable();
    8009         ret = wait_for_atomic(COND, 10);
     8018        ret = wait_for_atomic(COND, 50);
    80108019        preempt_enable();
    80118020
Note: See TracChangeset for help on using the changeset viewer.