1. 05 11月, 2015 3 次提交
  2. 04 11月, 2015 1 次提交
  3. 02 11月, 2015 2 次提交
  4. 22 10月, 2015 4 次提交
  5. 21 10月, 2015 2 次提交
  6. 19 10月, 2015 2 次提交
  7. 13 10月, 2015 1 次提交
  8. 09 10月, 2015 1 次提交
  9. 06 10月, 2015 1 次提交
  10. 02 10月, 2015 1 次提交
    • S
      drm/i915/bxt: Modify BXT BLC according to VBT changes · 022e4e52
      Sunil Kamath 提交于
      Latest VBT mentions which set of registers will be used for BLC,
      as controller number field. Making use of this field in BXT
      BLC implementation. Also, the registers are used in case control
      pin indicates display DDI. Adding a check for this.
      According to Bspec, BLC_PWM_*_2 uses the display utility pin for output.
      To use backlight 2, enable the utility pin with mode = PWM
         v2: Jani's review comments
         addressed
             - Add a prefix _ to BXT BLC registers definitions.
             - Add "bxt only" comment for u8 controller
             - Remove control_pin check for DDI controller
             - Check for valid controller values
             - Set pipe bits in UTIL_PIN_CTL
             - Enable/Disable UTIL_PIN_CTL in enable/disable_backlight()
             - If BLC 2 is used, read active_low_pwm from UTIL_PIN polarity
         Satheesh's review comment addressed
             - If UTIL PIN is already enabled, BIOS would have programmed it. No
             need to disable and enable again.
         v3: Jani's review comments
             - add UTIL_PIN_PIPE_MASK and UTIL_PIN_MODE_MASK
             - Disable UTIL_PIN if controller 1 is used
             - Mask out UTIL_PIN_PIPE_MASK and UTIL_PIN_MODE_MASK before enabling
             UTIL_PIN
             - check valid controller value in intel_bios.c
             - add backlight.util_pin_active_low
             - disable util pin before enabling
         v4: Change for BXT-PO branch:
         Stubbed unwanted definition which was existing before
         because of DC6 patch.
         UTIL_PIN_MODE_PWM     (0x1b << 24)
      
      v2: Fixed Jani's review comment.
      
      v3: Split the backight PWM frequency programming into separate patch,
          in cases BIOS doesn't initializes it.
      
      v4: Starting afresh and not modifying existing state for backlight, as
          per Jani's recommendation.
      
      v5: Fixed Jani's review comment wrt util pin enable
      Signed-off-by: NVandana Kannan <vandana.kannan@intel.com>
      Signed-off-by: NSunil Kamath <sunil.kamath@intel.com>
      Signed-off-by: NUma Shankar <uma.shankar@intel.com>
      Reviewed-by: NJani Nikula <jani.nikula@intel.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      022e4e52
  11. 30 9月, 2015 7 次提交
  12. 25 9月, 2015 1 次提交
  13. 23 9月, 2015 4 次提交
    • T
    • T
      drm/i915: Support planar formats in tile height calculations · fe47ea0c
      Tvrtko Ursulin 提交于
      This will be needed for NV12 support.
      
      v2: Rebase.
      Signed-off-by: NTvrtko Ursulin <tvrtko.ursulin@intel.com>
      Reviewed-by: NJoonas Lahtinen <joonas.lahtinen@linux.intel.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      fe47ea0c
    • P
      drm/i915: fix FBC for cases where crtc->base.y is non-zero · 2db3366b
      Paulo Zanoni 提交于
      I only tested this on BDW and SKL, but since the register description
      is the same ever since gen4, let's assume that all gens take the same
      register format. If that's not true, then hopefully someone will
      bisect a bug to this patch and we'll fix it.
      
      Notice that the wrong fence offset register just means that the
      hardware tracking will be wrong.
      
      Testcases:
       - igt/kms_frontbuffer_tracking/fbc-1p-primscrn-pri-shrfb-draw-mmap-gtt
       - igt/kms_frontbuffer_tracking/fbc-2p-primscrn-pri-shrfb-draw-mmap-gtt
      
      v2:
        - Add intel_crtc->adjusted_{x,y} so this code can work independently
          of intel_gen4_compute_page_offset(). (Ville).
        - This version also works on SKL.
      Signed-off-by: NPaulo Zanoni <paulo.r.zanoni@intel.com>
      Reviewed-by: NVille Syrjälä <ville.syrjala@linux.intel.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      2db3366b
    • S
      drm/i915: Check live status before reading edid · 237ed86c
      Sonika Jindal 提交于
      The Bspec is very clear that Live status must be checked about before
      trying to read EDID over DDC channel. This patch makes sure that HDMI
      EDID is read only when live status is up.
      
      The live status doesn't seem to perform very consistent across various
      platforms when tested with different monitors. The reason behind that is
      some monitors are late to provide right voltage to set live_status up.
      So, after getting the interrupt, for a small duration, live status reg
      fluctuates, and then settles down showing the correct staus.
      
      This is explained here in, in a rough way:
      HPD line  ________________
      			 |\ T1 = Monitor Hotplug causing IRQ
      			 | \______________________________________
      			 | |
                               | |
      			 | |   T2 = Live status is stable
      			 | |  _____________________________________
      			 | | /|
      Live status _____________|_|/ |
      			 | |  |
      			 | |  |
      			 | |  |
      			T0 T1  T2
      
      (Between T1 and T2 Live status fluctuates or can be even low, depending on
       the monitor)
      
      After several experiments, we have concluded that a max delay
      of 30ms is enough to allow the live status to settle down with
      most of the monitors. This total delay of 30ms has been split into
      a resolution of 3 retries of 10ms each, for the better cases.
      
      This delay is kept at 30ms, keeping in consideration that, HDCP compliance
      expect the HPD handler to respond a plug out in 100ms, by disabling port.
      
      v2: Adding checks for VLV/CHV as well. Reusing old ibx and g4x functions
      to check digital port status. Adding a separate function to get bxt live
      status (Daniel)
      v3: Using intel_encoder->hpd_pin to check the live status (Siva)
      Moving the live status read to intel_hdmi_probe and passing parameter
      to read/not to read the edid. (me)
      v4:
      * Added live status check for all platforms using
      intel_digital_port_connected.
      * Rebased on top of Jani's DP cleanup series
      * Some monitors take time in setting the live status. So retry for few
      times if this is a connect HPD
      v5: Removed extra "drm/i915" from commit message. Adding Shashank's sob
          which was missed.
      v6: Drop the (!detect_edid && !live_status check) check because for DDI
      ports which are enumerated as hdmi as well as DP, we don't have a
      mechanism to differentiate between DP and hdmi inside the encoder's
      hot_plug. This leads to call to the hdmi's hot_plug hook for DP as well
      as hdmi which leads to issues during unplug because of the above check.
      v7: Make intel_digital_port_connected global in this patch, some
      reformatting of while loop, adding a print when live status is not
      up. (Rodrigo)
      v8: Rebase it on nightly which involved skipping the hot_plug hook for now
      and letting the live_status check happen in detect until the hpd handling
      part is finalized (Daniel)
      Signed-off-by: NShashank Sharma <shashank.sharma@intel.com>
      Signed-off-by: NSonika Jindal <sonika.jindal@intel.com>
      Reviewed-by: NRodrigo Vivi <rodrigo.vivi@intel.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      237ed86c
  14. 17 9月, 2015 1 次提交
  15. 14 9月, 2015 1 次提交
  16. 10 9月, 2015 1 次提交
  17. 08 9月, 2015 1 次提交
  18. 04 9月, 2015 1 次提交
  19. 02 9月, 2015 3 次提交
  20. 01 9月, 2015 1 次提交
  21. 26 8月, 2015 1 次提交
    • V
      drm/i915: Trick CL2 into life on CHV when using pipe B with port B · b0b33846
      Ville Syrjälä 提交于
      Normmally the common lane in a PHY channel gets powered up when some
      of the data lanes get powered up. But when we're driving port B with
      pipe B we don't want to enabled any of the data lanes, and just want
      the DPLL in the common lane to be active.
      
      To make that happens we have to temporarily enable some data lanes
      after which we can access the DPLL registers in the common lane. Once
      the pipe is up and running we can drop the power override on the data
      lanes allowing them to shut down. From this point forward the common
      lane will in fact stay powered on until the data lanes in the other
      channel get powered down.
      
      Ville's extended explanation from the review thread:
      
      On Wed, Aug 19, 2015 at 07:47:41AM +0530, Deepak wrote:
      > One Q, why only for port B? Port C is also in same common lane right?
      
      Port B is in the first PHY channel which also houses CL1. CL1 always
      powers up whenever any lanes in either PHY channel are powered up.
      CL2 only powers up if lanes in the second channel (ie. the one with
      port C) powers up.
      
      So in this scenario (pipe B->port B) we want the DPLL from CL2, but
      ideally we only want to power up the lanes for port B. Powering up
      port B lanes will only power up CL1, but as we need CL2 instead we
      need to, temporarily, power up some lanes in port C as well.
      
      Crossing the streams the other way (pipe A->port C) is not a problem
      since CL1 powers up whenever anything else powers up. So powering up
      some port C lanes is enough on its own to make the CL1 DPLL
      operational, even though CL1 and the lanes live in separate channels.
      Signed-off-by: NVille Syrjälä <ville.syrjala@linux.intel.com>
      Reviewed-by: NDeepak S <deepak.s@linux.intel.com>
      [danvet: Amend commit message with extended explanation.]
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      b0b33846