Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ctm matrix #47

Open
wants to merge 25 commits into
base: main
Choose a base branch
from
Open

Ctm matrix #47

wants to merge 25 commits into from

Commits on Aug 11, 2022

  1. Revert "drm_hwcomposer: Add non-blocking commit support"

    In SRIOV mode, enabling nonblock will cause the device to stop running,
    so revert the related patch of nonblock.
    This reverts commit 59bb481.
    
    Tracked-On: OAM-103400
    Signed-off-by: wei, wushuangx wushuangx.wei@intel.com
    weiwushx authored and sysopenci committed Aug 11, 2022
    Configuration menu
    Copy the full SHA
    b6355cc View commit details
    Browse the repository at this point in the history

Commits on Sep 13, 2022

  1. Shouldn't call AddFB2 in HWC for every commit

    Cache framebuffer object into drm_fb_id_handle_cache_
    (std::map<GemHandle, std::weak_ptr<DrmFbIdHandle>>),can find
    framebuffer from cache at next time. Unfortunately framebuffer
    will be closed after composition, in order to make framebuffer
    long-time valid, so change weak_ptr to shared_ptr.
    
    Tracked-On: OAM-103822
    Signed-off-by: wei, wushuangx <wushuangx.wei@intel.com>
    weiwushx authored and sysopenci committed Sep 13, 2022
    Configuration menu
    Copy the full SHA
    3869186 View commit details
    Browse the repository at this point in the history
  2. Add DP training failure handling

    Handle DP training failure at userland.
    Check for link status when recv KMS uevent and current and prev
    status is connected. If link is bad, retrigger modeset to trigger
    DP retraining.
    
    Tracked-On: OAM-103822
    Signed-off-by: wei, wushuangx <wushuangx.wei@intel.com>
    weiwushx authored and sysopenci committed Sep 13, 2022
    Configuration menu
    Copy the full SHA
    1a1c02b View commit details
    Browse the repository at this point in the history
  3. Fix display flickering issue occurred in clock alarming UI

    In alarming UI, only one layer presented, then it was set as "DEVICE"
    rendering type, while there is sychronization issue, just force setting
    all layers as "CLIENT" type as workaroud solution.
    
    Tracked-On: OAM-103822
    Signed-off-by: wei, wushuangx <wushuangx.wei@intel.com>
    weiwushx authored and sysopenci committed Sep 13, 2022
    Configuration menu
    Copy the full SHA
    ea183cd View commit details
    Browse the repository at this point in the history
  4. Fix drm-hwc import buffer failure issue

    Set format is DRM_FORMAT_NV12 if DRM_FORMAT_NV12_Y_TILED_INTEL.
    
    Tracked-On: OAM-103822
    Signed-off-by: wei, wushuangx <wushuangx.wei@intel.com>
    weiwushx authored and sysopenci committed Sep 13, 2022
    Configuration menu
    Copy the full SHA
    bb39481 View commit details
    Browse the repository at this point in the history
  5. Add some properties

    Multi-plane support
    1. Multi-plane can be enabled by property
       vendor.hwcomposer.planes.enabling.
       By default, only one plane is used if the property is not set.
       vendor.hwcomposer.planes.enabling=1 #support all planes
       vendor.hwcomposer.planes.enabling=0 #only support PRIMARY by default
    2. Select preferred mode
       If the property 'vendor.hwcomposer.preferred.mode.limit' does not
       exist, or set to '1' then only support preferred mode.
       If the property 'vendor.hwcomposer.preferred.mode.limit' is set to
       '0', support all modes.
       vendor.hwcomposer.preferred.mode.limit=1#only support preferred mode
       vendor.hwcomposer.preferred.mode.limit=0#support all modes
    3. Select specific mode
       This function is controlled by 2 properties.
          vendor.hwcomposer.connector.id
          vendor.hwcomposer.mode.id
       If the properties 'vendor.hwcomposer.connector.id' and
       'vendor.hwcomposer.mode.id' are all set, then only support the
       selected mode indicated by 'vendor.hwcomposer.mode.id'.
       If any one of the properties 'vendor.hwcomposer.connector.id' and
       'vendor.hwcomposer.mode.id' is not set, then to check the property
       'vendor.hwcomposer.preferred.mode.limit'.
          vendor.hwcomposer.connector.id=117
          vendor.hwcomposer.mode.id=2
    4. With these properties, hwc can provide flexibility for performance
       tuning and bug triage.
    5. Find mode id
    cat /sys/kernel/debug/dri/0/i915_display_info.The output like below:
    [CONNECTOR:117:DP-4]: status: connected
    modes:
    "1920x1080": 62 144500 1920 1968 2000 2080 1080 1083 1088 1112 0x48 0x9
    "1920x1080": 60 148500 1920 2008 2052 2200 1080 1084 1089 1125 0x40 0xa
    "1680x1050": 60 146250 1680 1784 1960 2240 1050 1053 1059 1089 0x40 0x6
    "1680x945": 60 131481 1680 1784 1960 2240 945 946 949 978 0x0 0x6
    mode id starts from 1, and increases with a step of 1 in order.
    mode id is 1:
    "1920x1080": 62 144500 1920 1968 2000 2080 1080 1083 1088 1112 0x48 0x9
    mode id is 2:
    "1920x1080": 60 148500 1920 2008 2052 2200 1080 1084 1089 1125 0x40 0xa
    mode id is 3:
    "1680x1050": 60 146250 1680 1784 1960 2240 1050 1053 1059 1089 0x40 0x6
    mode id is 4:
    "1680x945": 60 131481 1680 1784 1960 2240 945 946 949 978 0x0 0x6
    6. The property can be set in /vendor/build.prop.
    
    Tracked-On: OAM-103822
    Signed-off-by: wei, wushuangx <wushuangx.wei@intel.com>
    weiwushx authored and sysopenci committed Sep 13, 2022
    Configuration menu
    Copy the full SHA
    2fa36a4 View commit details
    Browse the repository at this point in the history
  6. Fix hotplug issue

    When unplug monitor from Port 1 then plug to Port 2, hwc will
    receive hotplug event and handle it by invoking callback
    ResourceManager::UpdateFrontendDisplays().
    If monitor is disconnected hwc will unbind display, this is no
    any problem, otherwise if monitor is connected hwc will create
    pipeline, and try to find a possible crtc which will work,
    but the crtc has been already bound to connector 1(Port 1),
    this will cause monitor can't display. So add a field
    connector_id_ in class DrmCrtc indicated if crtc has been bound,
    hwc can check whether the crtc can bind to current connector
    when handling pluging event.
    
    Tracked-On: OAM-103822
    Signed-off-by: Li, HaihongX <haihongx.li@intel.com>
    HaihongxLi authored and sysopenci committed Sep 13, 2022
    Configuration menu
    Copy the full SHA
    1f14eb5 View commit details
    Browse the repository at this point in the history

Commits on Sep 15, 2022

  1. Revert "Revert "drm_hwcomposer: Add non-blocking commit support""

    This reverts commit b6355cc.
    
    Enable non-blocking atomic commit in drm-hwc for performance
    consideration
    
    Tracked-On: OAM-103937
    Signed-off-by: Li, HaihongX <haihongx.li@intel.com>
    HaihongxLi authored and sysopenci committed Sep 15, 2022
    Configuration menu
    Copy the full SHA
    c506c06 View commit details
    Browse the repository at this point in the history
  2. Fix SRIOV crash problem

    If device name is i915,enable non-blocking commit,
    otherwise blocking commit.
    
    Tracked-On: OAM-103937
    Signed-off-by: Li, HaihongX <haihongx.li@intel.com>
    HaihongxLi authored and sysopenci committed Sep 15, 2022
    Configuration menu
    Copy the full SHA
    0a90e63 View commit details
    Browse the repository at this point in the history

Commits on Oct 31, 2022

  1. Fixed hotplug failed to work for 1to2 display convertor

    set crtc active/modeid property to 0 and
    set connector crtcid property to 0 when
    HDMI is unpluged.
    
    Tracked-On: OAM-104276
    Signed-off-by: manxiaoliang <xiaoliangx.man@intel.com>
    manxiaoliang authored and sysopenci committed Oct 31, 2022
    Configuration menu
    Copy the full SHA
    9c9d097 View commit details
    Browse the repository at this point in the history

Commits on Nov 11, 2022

  1. Enable multiple planes counter with property in HWC

    Add propery 'vendor.hwcomposer.planes.num', can save to
    /vendor/build.prop. Only the property
    'vendor.hwcomposer.planes.enabling' is set to '1', hwc
    will limit planes number up to
    'vendor.hwcomposer.planes.num'.
    
    Tracked-On: OAM-104385
    Signed-off-by: Li, HaihongX <haihongx.li@intel.com>
    HaihongxLi authored and sysopenci committed Nov 11, 2022
    Configuration menu
    Copy the full SHA
    662a06d View commit details
    Browse the repository at this point in the history

Commits on Nov 18, 2022

  1. Revert "Fix display flickering issue occurred in clock alarming UI"

    This reverts commit ea183cd.
    Then can support multi planes.
    
    Tracked-On: OAM-104881
    Signed-off-by: Li, HaihongX <haihongx.li@intel.com>
    HaihongxLi authored and sysopenci committed Nov 18, 2022
    Configuration menu
    Copy the full SHA
    14f431c View commit details
    Browse the repository at this point in the history

Commits on Mar 14, 2023

  1. Add hdr support

    only tested on BT.2020.PQ hdr playback.
    
    2022/10/12
    Shuang: Rebased the patch to latest S mr0 branch.
    
    2023/01/11
    Shuang: Make the composer works in SRIOV environment with HDR patch
    integrated.
    
    2023/02/17
    Shuang: Fixed the black screen flash during SDR video playback.
    
    2023/02/24
    Shuang: Source code revision based on review feedback from Fei:
    use the hdr_output_metadata structure defined in drm/drm_mode.h
    
    2023/03/02
    Shuang: Source code revision based on reviews from Fei.
    
    Change-Id: I81c74f0eeaf1007fbd0fc944a0d2709d787a9991
    Tracked-On: OAM-105431
    Signed-off-by: Liu, Yuanzhe <yuanzhe.liu@intel.com>
    Signed-off-by: Wan, Shuang <shuang.wan@intel.com>
    yuanzhel authored and sysopenci committed Mar 14, 2023
    Configuration menu
    Copy the full SHA
    50b21ad View commit details
    Browse the repository at this point in the history

Commits on Apr 25, 2023

  1. Added Github Workflows

    xshahbazintel committed Apr 25, 2023
    Configuration menu
    Copy the full SHA
    2d0e338 View commit details
    Browse the repository at this point in the history

Commits on Apr 29, 2023

  1. Refine the init function

    To support different case.
    
    Tracked-On: OAM-108938
    Signed-off-by: HeYue <yue.he@intel.com>
    yhe39 authored and sysopenci committed Apr 29, 2023
    Configuration menu
    Copy the full SHA
    8446d12 View commit details
    Browse the repository at this point in the history
  2. Fixed the HDR playback black screen issue

    The EDID parsed from Dell U3219Q with ADL NUC HDMI ports is not
    correct and this results in the HDR video playback as black
    screen. The fix is to parsing the HDR capability at connector
    initialization stage and reports the HDR capabilities to SF
    corectly in later HWC API calls.
    
    Signed-off-by: Wan Shuang <shuang.wan@intel.com>
    Tracked-On: OAM-108930
    shuangwan01 authored and sysopenci committed Apr 29, 2023
    Configuration menu
    Copy the full SHA
    19b38cb View commit details
    Browse the repository at this point in the history

Commits on Jun 2, 2023

  1. Added Github Workflows

    xshahbazintel committed Jun 2, 2023
    Configuration menu
    Copy the full SHA
    19c8eba View commit details
    Browse the repository at this point in the history
  2. Added Github Workflows

    xshahbazintel committed Jun 2, 2023
    Configuration menu
    Copy the full SHA
    1332357 View commit details
    Browse the repository at this point in the history

Commits on Jul 11, 2023

  1. Fix crash issue when hot-plugout primary display

    Tracked-On: OAM-108926
    Yanfeng-Mi authored and sysopenci committed Jul 11, 2023
    Configuration menu
    Copy the full SHA
    97d8f8b View commit details
    Browse the repository at this point in the history

Commits on Jul 31, 2023

  1. Fix surfaceflinger died with HWC crash issue

    Tracked-On: OAM-110612
    Yanfeng-Mi authored and sysopenci committed Jul 31, 2023
    Configuration menu
    Copy the full SHA
    049cdaf View commit details
    Browse the repository at this point in the history

Commits on Sep 18, 2023

  1. Change headless display with 2560x1600 display mode.

    Tracked-On: OAM-112210
    Signed-off-by: manxiaoliang <xiaoliangx.man@intel.com>
    manxiaoliang authored and sysopenci committed Sep 18, 2023
    Configuration menu
    Copy the full SHA
    56ac17b View commit details
    Browse the repository at this point in the history

Commits on Nov 13, 2023

  1. Enable hw planes by default in HWC

    property_get read
    'vendor.hwcomposer.planes.enabling' with default
    value '1', so can enable hw planes by default.
    
    Tracked-On: OAM-113291
    Signed-off-by: Li, HaihongX <haihongx.li@intel.com>
    HaihongxLi authored and sysopenci committed Nov 13, 2023
    Configuration menu
    Copy the full SHA
    96645c2 View commit details
    Browse the repository at this point in the history

Commits on Dec 18, 2023

  1. Add display color adjustment function

    Enable Hue/Saturation/Brightness/Contrast
    adjustment function in HWC for setprop
    
    Test-done:
    Android boot and navigation tested with panel EF1E-A1
    
    Tracked-On: OAM-113088
    Signed-off-by: Jialin <lin.a.jia@intel.com>
    ljia5 authored and sysopenci committed Dec 18, 2023
    Configuration menu
    Copy the full SHA
    5b4a496 View commit details
    Browse the repository at this point in the history

Commits on Jan 3, 2024

  1. Get CM properties only when required

    Currently, initialization of drm device would fail if there is no color
    management properties (CTM, gamma_lut and gamma_lut_size), which is the
    case for virtio-GPU.  But actually these properties are not required when
    color adjustment is disabled.
    
    Only try to get these properties when color adjustment is required.
    
    Tracked-On: OAM-114541
    Signed-off-by: Weifeng Liu <weifeng.liu@intel.com>
    phreer authored and sysopenci committed Jan 3, 2024
    Configuration menu
    Copy the full SHA
    ef08e46 View commit details
    Browse the repository at this point in the history

Commits on Feb 1, 2024

  1. Add color matrix libdrm interfaces

    Add color matrix and matrix offset libdrm interfaces to
    enable saturation/hue/contrast/brightness adjustment.
    
    Tracked-On: OAM-113088
    Signed-off-by: Jialin <lin.a.jia@intel.com>
    ljia5 committed Feb 1, 2024
    Configuration menu
    Copy the full SHA
    739d261 View commit details
    Browse the repository at this point in the history