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

Conversation

ljia5
Copy link

@ljia5 ljia5 commented Jan 25, 2024

No description provided.

weiwushx and others added 24 commits August 11, 2022 23:38
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
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
This reverts commit ea183cd.
Then can support multi planes.

Tracked-On: OAM-104881
Signed-off-by: Li, HaihongX <haihongx.li@intel.com>
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>
To support different case.

Tracked-On: OAM-108938
Signed-off-by: HeYue <yue.he@intel.com>
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
Tracked-On: OAM-112210
Signed-off-by: manxiaoliang <xiaoliangx.man@intel.com>
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>
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>
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>
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>
@sysopenci sysopenci added the Stale Stale label for inactive open prs label Sep 5, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Stale Stale label for inactive open prs
Projects
None yet
Development

Successfully merging this pull request may close these issues.