1. 26 7月, 2017 20 次提交
  2. 18 7月, 2017 8 次提交
  3. 17 7月, 2017 3 次提交
  4. 15 7月, 2017 9 次提交
    • E
      drm/vc4: Fix misleading name of the continuous flag. · ec878c07
      Eric Anholt 提交于
      The logic was all right in the end, the name was just backwards.
      Signed-off-by: NEric Anholt <eric@anholt.net>
      Link: http://patchwork.freedesktop.org/patch/msgid/20170627195839.3338-3-eric@anholt.netReviewed-by: NAndrzej Hajda <a.hajda@samsung.com>
      ec878c07
    • E
      drm/vc4: Fix DSI T_INIT timing. · e65d5112
      Eric Anholt 提交于
      The DPHY spec requires a much larger T_INIT than I was specifying
      before.  In the absence of clear specs from the slave of what their
      timing is, just use the value that the firmware was using.
      Signed-off-by: NEric Anholt <eric@anholt.net>
      Link: http://patchwork.freedesktop.org/patch/msgid/20170627195839.3338-2-eric@anholt.netReviewed-by: NAndrzej Hajda <a.hajda@samsung.com>
      e65d5112
    • S
      drm: add helper functions for YCBCR420 handling · 2570fe25
      Shashank Sharma 提交于
      This patch adds helper functions for YCBCR 420 handling.
      These functions do:
      - check if a given video mode is YCBCR 420 only mode.
      - check if a given video mode is YCBCR 420 also mode.
      
      V2: Added YCBCR functions as helpers in DRM layer, instead of
          keeping it in I915 layer.
      V3: Added handling for YCBCR-420 only modes too.
      V4: EXPORT_SYMBOL(drm_find_hdmi_output_type)
      V5: Addressed review comments from Danvet:
          - %s/drm_find_hdmi_output_type/drm_display_info_hdmi_output_type
          - %s/drm_can_support_ycbcr_output/drm_display_supports_ycbcr_output
          - %s/drm_can_support_this_ycbcr_output/
      		drm_display_supports_this_ycbcr_output
          - pass drm_display_info instead of drm_connector for consistency
          - For drm_get_highest_quality_ycbcr_supported doc, move the variable
            description above, and then the function description.
      V6: Add only YCBCR420 helpers (Ville)
      V7: Addressed review comments from Ville
          - Remove cea_vic_valid() check.
          - Fix indentation.
          - Make input parameters to helpers, const.
      
      Cc: Ville Syrjala <ville.syrjala@linux.intel.com>
      Cc: Jose Abreu <Jose.Abreu@synopsys.com>
      Cc: Daniel Vetter <daniel.vetter@intel.com>
      Signed-off-by: NShashank Sharma <shashank.sharma@intel.com>
      Link: http://patchwork.freedesktop.org/patch/msgid/1499960000-9232-9-git-send-email-shashank.sharma@intel.com
      [vsyrjala: Fix sparse indentation warn]
      Signed-off-by: NVille Syrjälä <ville.syrjala@linux.intel.com>
      2570fe25
    • S
      drm/edid: parse ycbcr 420 deep color information · e6a9a2c3
      Shashank Sharma 提交于
      CEA-861-F spec adds ycbcr420 deep color support information
      in hf-vsdb block. This patch extends the existing hf-vsdb parsing
      function by adding parsing of ycbcr420 deep color support from the
      EDID and adding it into display information stored.
      
      V2: Rebase
      V3: Rebase
      V4: Moved definition of y420_dc_modes into this patch, where its used
          (Ville)
      V5: Optimize function, if(conditions) not reqd (Ville)
      V6: Rebase
      V7: Rebase
      
      Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
      Cc: Jose Abreu <joabreu@synopsys.com>
      Signed-off-by: NShashank Sharma <shashank.sharma@intel.com>
      Link: http://patchwork.freedesktop.org/patch/msgid/1499960000-9232-8-git-send-email-shashank.sharma@intel.com
      [vsyrjala: Fix sparse indentation warn]
      Signed-off-by: NVille Syrjälä <ville.syrjala@linux.intel.com>
      e6a9a2c3
    • S
      drm/edid: parse YCBCR420 videomodes from EDID · 832d4f2f
      Shashank Sharma 提交于
      HDMI 2.0 spec adds support for YCBCR420 sub-sampled output.
      CEA-861-F adds two new blocks in EDID's CEA extension blocks,
      to provide information about sink's YCBCR420 output capabilities.
      
      These blocks are:
      
      - YCBCR420vdb(YCBCR 420 video data block):
      This block contains VICs of video modes, which can be sopported only
      in YCBCR420 output mode (Not in RGB/YCBCR444/422. Its like a normal
      SVD block, valid for YCBCR420 modes only.
      
      - YCBCR420cmdb(YCBCR 420 capability map data block):
      This block gives information about video modes which can support
      YCBCR420 output mode also (along with RGB,YCBCR444/422 etc) This
      block contains a bitmap index of normal svd videomodes, which can
      support YCBCR420 output too.
      So if bit 0 from first vcb byte is set, first video mode in the svd
      list can support YCBCR420 output too. Bit 1 means second video mode
      from svd list can support YCBCR420 output too, and so on.
      
      This patch adds two bitmaps in display's hdmi_info structure, one each
      for VCB and VDB modes. If the source is HDMI 2.0 capable, this patch
      adds:
      - VDB modes (YCBCR 420 only modes) in connector's mode list, also makes
        an entry in the vdb_bitmap per vic.
      - VCB modes (YCBCR 420 also modes) only entry in the vcb_bitmap.
      
      Cc: Ville Syrjala <ville.syrjala@linux.intel.com>
      Cc: Jose Abreu <joabreu@synopsys.com>
      Cc: Emil Velikov <emil.l.velikov@gmail.com>
      
      V2: Addressed
          Review comments from Emil:
          - Use 1ULL<<i instead of 1<<i to make sure the output is 64bit.
          - Use the suggested method for updating dbmap.
          - Add documentation for YCBCR420_vcb_map to fix kbuild warning.
      
          Review comments from Ville:
          - Do not expose the YCBCR420 flags in uabi layer, keep it internal.
          - Save a map of YCBCR420 modes for future reference.
          - Check db length before trying to parse extended tag.
          - Add a warning if there are > 64 modes in capability map block.
          - Use y420cmdb in function names and macros while dealing with vcb
            to be aligned with spec.
          - Move the display information parsing block ahead of mode parsing
            blocks.
      
      V3: Addressed design/review comments from Ville
          - Do not add flags in video modes, else we have to expose them to user
          - There should not be a UABI change, and kernel should detect the
            choice of the output based on type of mode, and the bitmaps.
          - Use standard bitops from kernel bitmap header, instead of calculating
            bit positions manually.
      
      V4: Addressed review comments from Ville:
          - s/ycbcr_420_vdb/y420vdb
          - s/ycbcr_420_vcb/y420cmdb
          - Be less verbose on description of do_y420vdb_modes
          - Move newmode variable in the loop scope.
          - Use svd_to_vic() to get a VIC, instead of 0x7f
          - Remove bitmap description for CMDB modes & VDB modes
          - Dont add connector->ycbcr_420_allowed check for cmdb modes
          - Remove 'len' variable, in is_y420cmdb function, which is used
            only once
          - Add length check in is_y420vdb function
          - Remove unnecessary if (!db) check in function parse_y420cmdb_bitmap
          - Do not add print about YCBCR 420 modes
          - Fix indentation in few places
          - Move ycbcr420_dc_modes in next patch, where its used
          - Add a separate patch for movement of drm_add_display_info()
      
      V5: Addressed review comments from Ville:
          - Add the patch which cleans up the current EXTENDED_TAG usage
          - Make y420_cmdb_map u64
          - Do not block ycbcr420 modes while parsing the EDID, rather
            add a separate helper function to prune ycbcr420-only modes from
            connector's probed modes.
      
      V6: Rebase
      V7: Move this patch after the 420_only validation patch (Ville)
      V8: Addressed review comments from Ville
          - use cea_vic_valid check before adding cmdb/vdb modes
          - add check for i < 64 while adding cmdb modes
          - use 1ULL while checking bitmap
      Signed-off-by: NShashank Sharma <shashank.sharma@intel.com>
      Link: http://patchwork.freedesktop.org/patch/msgid/1500028426-14883-1-git-send-email-shashank.sharma@intel.com
      [vsyrjala: Fix checkpatch complaints and indentation]
      Signed-off-by: NVille Syrjälä <ville.syrjala@linux.intel.com>
      832d4f2f
    • S
      drm: add helper to validate YCBCR420 modes · d8523153
      Shashank Sharma 提交于
      YCBCR420 modes are supported only on HDMI 2.0 capable sources.
      This patch adds:
      - A drm helper to validate YCBCR420-only mode on a particular
        connector. This function will help pruning the YCBCR420-only
        modes from the connector's modelist.
      - A bool variable (ycbcr_420_allowed) in the drm connector structure.
        While handling the EDID from HDMI 2.0 sinks, its important to know
        if the source is capable of handling YCBCR420 output, so that no
        YCBCR 420 modes will be listed for sources which can't handle it.
        A driver should set this variable if it wants to see YCBCR420 modes
        in the modedb.
      
      V5: Introduced the patch in series.
      V6: Squashed two patches (validate YCBCR420 and add YCBCR420
      	   identifier)
      V7: Addressed review comments from Vile:
          - Move this patch before we add 420 modes from EDID.
          - No need for drm_valid_cea_vic() check, function back to non-static.
          - Update MODE_STATUS with NO_420 condition.
          - Introduce y420_vdb_modes variable in this patch
      
      Cc: Ville Syrjala <ville.syrjala@linux.intel.com>
      Signed-off-by: NShashank Sharma <shashank.sharma@intel.com>
      Link: http://patchwork.freedesktop.org/patch/msgid/1499960000-9232-6-git-send-email-shashank.sharma@intel.com
      [vsyrjala: Drop the now bogus EXPORT_SYMBOL(drm_valid_cea_vic)]
      Signed-off-by: NVille Syrjälä <ville.syrjala@linux.intel.com>
      d8523153
    • S
      drm/edid: cleanup patch for CEA extended-tag macro · 87563fc0
      Shashank Sharma 提交于
      CEA-861-F introduces extended tag codes for EDID extension blocks,
      which indicates the actual type of the data block. The code for
      using exteded tag is 0x7, whereas in the existing code, the
      corresponding macro is named as "VIDEO_CAPABILITY_BLOCK"
      
      This patch renames the macro and usages from "VIDEO_CAPABILITY_BLOCK"
      to "USE_EXTENDED_TAG"
      
      V2: Add extended tag code check for video capabilitiy block (ville)
      V3: Ville:
      	- Use suggested names for macros
      	- Check the block length first, before checking the extended tag
      V4: Fix commit message (David)
      V5: Introduced this patch into HDMI-YCBCR-output series
      V6: Rebase
      V7: Rebase
      
      Cc: Ville Syrjala <ville.syrjala@linux.intel.com>
      Signed-off-by: NShashank Sharma <shashank.sharma@intel.com>
      Link: http://patchwork.freedesktop.org/patch/msgid/1499960000-9232-5-git-send-email-shashank.sharma@intel.comSigned-off-by: NVille Syrjälä <ville.syrjala@linux.intel.com>
      87563fc0
    • S
      drm/edid: parse sink information before CEA blocks · 0f0f8708
      Shashank Sharma 提交于
      CEA-861-F adds ycbcr capability map block, for HDMI 2.0 sinks.
      This block contains a map of indexes of CEA modes, which can
      support YCBCR 420 output also. To avoid multiple parsing of same
      CEA block, let's parse the sink information and get this map, before
      parsing CEA modes.
      
      This patch moves the call to drm_add_display_info function, before the
      mode parsing block.
      
      V4: Introduced new patch in the series
      V5: Move this patch before 4:2:0 parsing patch (ville)
          Added r-b from Ville
      V6: Rebase
      V7: Rebase
      Reviewed-by: NVille Syrjälä <ville.syrjala@linux.intel.com>
      Signed-off-by: NShashank Sharma <shashank.sharma@intel.com>
      Link: http://patchwork.freedesktop.org/patch/msgid/1499960000-9232-4-git-send-email-shashank.sharma@intel.comSigned-off-by: NVille Syrjälä <ville.syrjala@linux.intel.com>
      0f0f8708
    • S
      drm/edid: complete CEA modedb(VIC 1-107) · 8ec6e075
      Shashank Sharma 提交于
      CEA-861-F specs defines new video modes to be used with
      HDMI 2.0 EDIDs. The VIC range has been extended from 1-64 to
      1-107.
      
      Our existing CEA modedb contains only 64 modes (VIC=1 to VIC=64). Now
      to be able to parse new CEA modes using the existing methods, we have
      to complete the modedb (VIC=65 onwards).
      
      This patch adds:
      - Timings for existing CEA video modes (from VIC=65 till VIC=92)
      - Newly added 4k modes (from VIC=93 to VIC=107).
      
      The patch was originaly discussed and reviewed here:
      https://patchwork.freedesktop.org/patch/135810/
      
      Cc: Ville Syrjala <ville.syrjala@linux.intel.com>
      Cc: Jose Abreu <Jose.Abreu@synopsys.com>
      Cc: Andrzej Hajda <a.hajda@samsung.com>
      Cc: Alex Deucher <alexander.deucher@amd.com>
      Cc: Harry Wentland <harry.wentland@amd.com>
      
      V2: Rebase
      V3: Rebase
      V4: Added native bit handling as per CEA-861-F spec (Ville)
      V5: Fix timings for VIC 77:1920x1080 and 104:3840x2160p (Ville)
          Remove unnecessary paranthesis from function svd_to_vic (Ville)
          Added r-b (Neil)
      V6: Rebase
      V7: Fix indentation for modes from VIC 80
      Reviewed-by: NJose Abreu <Jose.Abreu@synopsys.com>
      Reviewed-by: NAlex Deucher <alexander.deucher@amd.com>
      Reviewed-by: NNeil Armstrong <narmstrong@baylibre.com>
      Acked-by: NHarry Wentland <harry.wentland@amd.com>
      Signed-off-by: NShashank Sharma <shashank.sharma@intel.com>
      Link: http://patchwork.freedesktop.org/patch/msgid/1499960000-9232-3-git-send-email-shashank.sharma@intel.com
      [vsyrjala: Fix up remaining formatting/indentation issues]
      Signed-off-by: NVille Syrjälä <ville.syrjala@linux.intel.com>
      8ec6e075