1. 17 3月, 2016 1 次提交
  2. 12 1月, 2016 3 次提交
  3. 05 1月, 2016 2 次提交
  4. 22 12月, 2015 1 次提交
  5. 17 12月, 2015 1 次提交
  6. 16 12月, 2015 1 次提交
  7. 23 9月, 2015 1 次提交
    • V
      drm/i915: Ignore "digital output" and "not HDMI output" bits for eDP detection · 972e7d71
      Ville Syrjälä 提交于
      Ignore DEVICE_TYPE_NOT_HDMI_OUTPUT and DEVICE_TYPE_DIGITAL_OUTPUT when
      trying to determine the presence of eDP based on the VBT child device
      type. Apparently a significant portion of VLV systems have these bits
      set incorrectly, and so we currently fail to detect eDP on said systems.
      
      This is based on an earlier patch [1] from Andreas Lampersperger.
      Instead of ignoring the bits just on VLV as was done in the orignal
      patch, we now ignore them for all platforms. We should still have
      enough bits in there to avoid false positives (unless the VBT is totally
      bonkers).
      
      Quoting the orignal patch:
      > When the i915.ko identify an eDP output on a valleyview
      > board, it should be more slackly. The reason for that is,
      > that BIOS DATA TABLES generated with intel BMP (Binary
      > Modification Program) do not set bits for NOT_HDMI or
      > DIGITAL_OUTPUT on the device type. Due to Adolfo
      > Sanchez from Intel EMGD, this is not possible.
      > To solve this problem and enable i915.ko on embedded
      > vlv boards with eDP, we ignore this two bits.
      
      [1] http://lists.freedesktop.org/archives/intel-gfx/2015-June/069416.html
      
      Cc: Andreas Lampersperger <lampersperger.andreas@heidenhain.de>
      Cc: "Sanchez, AdolfoX" <adolfox.sanchez@intel.com>
      Signed-off-by: NVille Syrjälä <ville.syrjala@linux.intel.com>
      Acked-by: NJani Nikula <jani.nikula@intel.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      972e7d71
  8. 04 9月, 2015 1 次提交
  9. 31 8月, 2015 2 次提交
  10. 24 8月, 2015 1 次提交
    • D
      drm/i915: Allow parsing of variable size child device entries from VBT · e2d6cf7f
      David Weinehall 提交于
      VBT version 196 increased the size of common_child_dev_config. The
      parser code assumed that the size of this structure would not change.
      
      The modified code now copies the amount needed based on the VBT version,
      and emits a debug message if the VBT version is unknown (too new); since
      the struct config block won't shrink in newer versions it should be
      harmless to copy the maximum known size in such cases, so that's what we
      do, but emitting the warning is probably sensible anyway.
      
      In the longer run it might make sense to modify the parser code to use a
      version/feature mapping, rather than hardcoding things like this, but
      for now the variants are fairly manageable.
      
      This fixes a regression introduced in
      
      commit 75067dde
      Author: Antti Koskipaa <antti.koskipaa@linux.intel.com>
      Date:   Fri Jul 10 14:10:55 2015 +0300
      
          drm/i915: Per-DDI I_boost override
      
      since that commit changed the child device config size without updating
      the checks and memcpy.
      
      v2: Stricter size checks
      
      v3 by Jani:
      - Keep the checks strict, and warnigns verbose, but keep going anyway.
      - Take care to copy the max amount of child device config we can.
      - Fix the messages.
      Signed-off-by: NDavid Weinehall <david.weinehall@linux.intel.com>
      Reviewed-by: NVille Syrjälä <ville.syrjala@linux.intel.com>
      Signed-off-by: NJani Nikula <jani.nikula@intel.com>
      e2d6cf7f
  11. 15 8月, 2015 1 次提交
  12. 21 7月, 2015 1 次提交
  13. 10 4月, 2015 1 次提交
    • V
      drm/i915: Fix the VBT child device parsing for BSW · 90e4f159
      Ville Syrjälä 提交于
      Recent BSW VBT has a VBT child device size 37 bytes instead of the 33
      bytes our code assumes. This means we fail to parse the VBT and thus
      fail to detect eDP ports properly and just register them as DP ports
      instead.
      
      Fix it up by using the reported child device size from the VBT instead
      of assuming it matches out struct defintions.
      
      The latest spec I have shows that the child device size should be 36
      bytes for rev >= 195, however on my BSW the size is actually 37 bytes.
      And our current struct definition is 33 bytes.
      
      Feels like the entire VBT parses would need to be rewritten to handle
      changes in the layout better, but for now I've decided to do just the
      bare minimum to get my eDP port back.
      
      Cc: Vijay Purushothaman <vijay.a.purushothaman@linux.intel.com>
      Signed-off-by: NVille Syrjälä <ville.syrjala@linux.intel.com>
      Reviewed-by: NDamien Lespiau <damien.lespiau@intel.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      90e4f159
  14. 25 2月, 2015 1 次提交
  15. 07 1月, 2015 1 次提交
  16. 15 12月, 2014 1 次提交
    • D
      drm/i915: Parsing LFP brightness control from VBT · 371abae8
      Deepak M 提交于
      LFP brighness control from the VBT block 43 indicates which
      controller is used for brightness.
      LFP1 brightness control method:
      Bit 7-4 = This field controller number of the brightnes controller.
      0 = Controller 0
      1 = Controller 1
      2 = Controller 2
      3 = Controller 3
      Others = Reserved
      Bits 3-0 = This field specifies the brightness control pin to be used on the
      platform.
      0 = PMIC pin is used for brightness control
      1 = LPSS PWM is used for brightness control
      2 = Display DDI is used for brightness control
      3 = CABC method to control brightness
      Others = Reserved
      
      Adding the above fields in dev_priv->vbt and corresponding changes in
      parse_backlight()
      
      v2: Jani's review comments addressed
      	- Move PWM definitions to intel_bios.h
      	- Moving vbt_version to intel_vbt_data
      	- Rename brightness to bl_ctrl_data
      	- Logging just control_pin instead of string
      	- Avoid adding vbt_version in dev_priv
      	- Since only DDI option is available as of now, let control pin DDI
      	affect dev_priv->vbt.backlight.present
      
      v3: Jani's review comments addressed
      	- Drop control_pin
      	- Use bdb->version
      	- set controller to 0 instead of using control pin define
      	- check controller bounds
      	- remove superfluous changes in intel_parse_bios
      Signed-off-by: NDeepak M <m.deepak@intel.com>
      Signed-off-by: NVandana Kannan <vandana.kannan@intel.com>
      Reviewed-by: NJani Nikula <jani.nikula@intel.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      371abae8
  17. 05 12月, 2014 1 次提交
  18. 03 12月, 2014 1 次提交
  19. 19 9月, 2014 1 次提交
  20. 08 8月, 2014 1 次提交
  21. 05 6月, 2014 1 次提交
    • S
      drm/i915: Detect if MIPI panel based on VBT and initialize only if present · 3e6bd011
      Shobhit Kumar 提交于
      It seems by default the VBT has MIPI configuration block as well. The
      Generic driver will assume always MIPI if MIPI configuration block is found.
      This is causing probelm when actually there is eDP. Fix this by looking
      into general definition block which will have device configurations. From here
      we can figure out what is the LFP type and initialize MIPI only if MIPI
      is found.
      
      v2: Addressed review comments by Damien
          - Moved PORT definitions to intel_bios.h and renamed as DVO_PORT_MIPIA
          - renamed is_mipi to has_mipi and moved definition as suggested
          - Check has_mipi inside parse_mipi and intel_dsi_init insted of outside
      
      v3: Make has_mipi as a bitfield as suggested
      Signed-off-by: NShobhit Kumar <shobhit.kumar@intel.com>
      Reviewed-by: NDamien Lespiau <damien.lespiau@intel.com>
      [danvet: fold in conditions to pack everything neatly below 80 chars.]
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      3e6bd011
  22. 14 4月, 2014 1 次提交
  23. 11 4月, 2014 1 次提交
  24. 02 4月, 2014 1 次提交
    • P
      drm/i915: Adding VBT fields to support eDP DRRS feature · 83a7280e
      Pradeep Bhat 提交于
      This patch reads the DRRS support and Mode type from VBT fields.
      The read information will be stored in VBT struct during BIOS
      parsing. The above functionality is needed for decision making
      whether DRRS feature is supported in i915 driver for eDP panels.
      This information helps us decide if seamless DRRS can be done
      at runtime to support certain power saving features. This patch
      was tested by setting necessary bit in VBT struct and merging
      the new VBT with system BIOS so that we can read the value.
      
      v2: Incorporated review comments from Chris Wilson
      Removed "intel_" as a prefix for DRRS specific declarations.
      
      v3: Incorporated Jani's review comments
      Removed function which deducts drrs mode from panel_type. Modified some
      print statements. Made changes to use DRRS_NOT_SUPPORTED as 0 instead of -1.
      
      v4: Incorporated Jani's review comments.
      Modifications around setting vbt drrs_type.
      Signed-off-by: NPradeep Bhat <pradeep.bhat@intel.com>
      Signed-off-by: NVandana Kannan <vandana.kannan@intel.com>
      Acked-by: NJesse Barnes <jbarnes@virtuousgeek.org>
      Cc: Jani Nikula <jani.nikula@linux.intel.com>
      [danvet: Drop the misleading/redundant comment about the added drrs
      field in the vbt struct as discussed with Jani on irc.]
      Reviewed-by: NJani Nikula <jani.nikula@intel.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      83a7280e
  25. 06 3月, 2014 1 次提交
  26. 16 12月, 2013 1 次提交
  27. 04 12月, 2013 1 次提交
  28. 05 11月, 2013 2 次提交
  29. 01 10月, 2013 2 次提交
    • P
      drm/i915: use the HDMI DDI buffer translations from VBT · 6acab15a
      Paulo Zanoni 提交于
      We currently use the recommended values from BSpec, but the VBT
      specifies the correct value to use for the hardware we have, so use
      it. We also fall back to the recommended value in case we can't find
      the VBT.
      
      In addition, this code also provides some infrastructure to parse more
      information about the DDI ports. There's a lot more information we
      could extract and use in the future.
      
      v2: - Move some code to init_vbt_defaults.
      v3: - Rebase
          - Clarify the "DVO Port" matching code
      v4: - Use I915_MAX_PORTS
          - Change the HAS_DDI checks
          - Replace DRM_ERROR with DRM_DEBUG_KMS
      Signed-off-by: NPaulo Zanoni <paulo.r.zanoni@intel.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      6acab15a
    • P
      drm/i915: VBT's child_device_config changes over time · 768f69c9
      Paulo Zanoni 提交于
      We currently treat the child_device_config as a simple struct, but
      this is not correct: new BDB versions change the meaning of some
      offsets, so the struct needs to be adjusted for each version.
      
      Since there are too many changes (today we're in version 170!), making
      a big versioned union would be too complicated, so child_device_config
      is now a union of 3 things: (i) a "raw" byte array that's safe to use
      anywhere; (ii)  an "old" structure that's the one we've been using and
      should be safe to keep in the SDVO and TV code; and (iii) a "common"
      structure that should contain only fields that are common for all the
      known VBT versions.
      Signed-off-by: NPaulo Zanoni <paulo.r.zanoni@intel.com>
      Reviewed-by: NRodrigo Vivi <rodrigo.vivi@gmail.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      768f69c9
  30. 04 9月, 2013 1 次提交
  31. 18 4月, 2013 1 次提交
  32. 03 10月, 2012 1 次提交
  33. 27 6月, 2012 1 次提交
  34. 14 1月, 2012 1 次提交