Thomas Zimmermann
efaa418fd7
drm/udl: Remove udl_simple_display_pipe_mode_valid()
...
Remove the empty function udl_simple_display_pipe_mode_valid() and
let simple-KMS helpers accept the modes. No functional changes.
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de >
Reviewed-by: Javier Martinez Canillas <javierm@redhat.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20221006095355.23579-7-tzimmermann@suse.de
2022-10-07 13:45:58 +02:00
Thomas Zimmermann
0862cfd3e2
drm/udl: Move connector to modesetting code
...
Move the connector next to the rest of the modesetting code. No
functional changes.
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de >
Reviewed-by: Javier Martinez Canillas <javierm@redhat.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20221006095355.23579-6-tzimmermann@suse.de
2022-10-07 13:45:47 +02:00
Thomas Zimmermann
43858eb41e
drm/udl: Various improvements to the connector
...
Add style fixes, better error handling and reporting, and minor
clean-up changes to the connector code before moving the code to
the rest of the modesetting pipeline.
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de >
Reviewed-by: Javier Martinez Canillas <javierm@redhat.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20221006095355.23579-5-tzimmermann@suse.de
2022-10-07 13:45:37 +02:00
Thomas Zimmermann
2c1eafc40e
drm/udl: Use USB timeout constant when reading EDID
...
Set the USB control-message timeout to the USB default of 5 seconds.
Done for consistency with other uses of usb_control_msg() in udl and
other drivers.
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de >
Reviewed-by: Javier Martinez Canillas <javierm@redhat.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20221006095355.23579-4-tzimmermann@suse.de
2022-10-07 13:45:27 +02:00
Thomas Zimmermann
c020f66013
drm/udl: Test pixel limit in mode-config's mode-valid function
...
The sku_pixel_limit is a per-device property, similar to the amount
of available video memory. Move the respective mode-valid test from
the connector to the mode-config structure.
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de >
Reviewed-by: Javier Martinez Canillas <javierm@redhat.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20221006095355.23579-3-tzimmermann@suse.de
2022-10-07 13:45:17 +02:00
Thomas Zimmermann
59a811faa7
drm/udl: Rename struct udl_drm_connector to struct udl_connector
...
Remove the _drm_ infix from struct udl_drm_connector and introduce a
macro for upcasting from struct drm_connector. No functional changes.
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de >
Reviewed-by: Javier Martinez Canillas <javierm@redhat.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20221006095355.23579-2-tzimmermann@suse.de
2022-10-07 13:45:06 +02:00
Lucas Stach
43d3f3b94e
drm/fourcc: add Vivante tile status modifiers
...
The tile status modifiers can be combined with all of the usual
color buffer modifiers. When they are present an additional plane
is added to the surfaces to share the tile status buffer. The
TS modifiers describe the interpretation of the tag bits in this
buffer.
Signed-off-by: Lucas Stach <l.stach@pengutronix.de >
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Reviewed-by: Guido Günther <agx@sigxcpu.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20220909093000.3458413-1-l.stach@pengutronix.de
2022-10-06 19:04:20 +02:00
Javier Martinez Canillas
fdd0640b63
drm/ssd130x: Iterate over damage clips instead of using a merged rect
...
The drm_atomic_helper_damage_merged() helper merges all the damage clips
into one rectangle. If there are multiple damage clips that aren't close
to each other, the resulting rectangle could be quite big.
Instead of using that function helper, iterate over all the damage clips
and update them one by one.
Suggested-by: Jocelyn Falempe <jfalempe@redhat.com >
Signed-off-by: Javier Martinez Canillas <javierm@redhat.com >
Acked-by: Thomas Zimmermann <tzimmermann@suse.de >
Link: https://patchwork.freedesktop.org/patch/msgid/20220930152944.2584356-1-javierm@redhat.com
2022-10-06 00:27:09 +02:00
Jocelyn Falempe
ce7fcf7003
drm/ast: Add Atomic gamma lut support for aspeed
...
The current ast driver only supports legacy gamma interface.
This also fixes a Gnome3/Wayland error which incorrectly adds
gamma to atomic commit:
"Page flip discarded: CRTC property (GAMMA_LUT) not found"
I only tested remotely, so I wasn't able to check that it had
an effect on the VGA output. But when activating "Night Light"
in Gnome, ast_crtc_load_lut() is called.
v2: use the same functions as mgag200.
handle 16bits color mode.
v3: Check gamma_lut size in atomic check.
v4: revert 16bits mode, v1 was correct.
make sure gamma table are set when primary plane format
changes.
remove rgb888 format that is not used.
Signed-off-by: Jocelyn Falempe <jfalempe@redhat.com >
Tested-by: Thomas Zimmermann <tzimmermann@suse.de >
Reviewed-by: Thomas Zimmermann <tzimmermann@suse.de >
Link: https://patchwork.freedesktop.org/patch/msgid/20220930094754.745626-1-jfalempe@redhat.com
2022-10-05 17:52:26 +02:00
Jason Yen
562d2dd870
drm/bridge: ps8640: Add software to support aux defer
...
This chip can not handle aux defer if the host directly program
its aux registers to access edid/dpcd. So we need let software
to handle the aux defer situation.
Signed-off-by: Jason Yen <jason.yen@paradetech.corp-partner.google.com >
Reviewed-by: Douglas Anderson <dianders@chromium.org >
Signed-off-by: Douglas Anderson <dianders@chromium.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20220930042506.2529522-1-jason.yen@paradetech.corp-partner.google.com
2022-10-05 08:09:52 -07:00
Christian König
65b698bf40
drm/sched: add missing NULL check in drm_sched_get_cleanup_job v2
...
Otherwise we would crash if the job is not resubmitted.
v2: fix second usage of s_fence->parent as well.
Signed-off-by: Christian König <christian.koenig@amd.com >
Reviewed-by: Steven Price <steven.price@arm.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20221004132831.134986-1-christian.koenig@amd.com
2022-10-05 12:38:00 +02:00
Christian König
7c022f516f
drm/scheduler: fix fence ref counting
...
We leaked dependency fences when processes were beeing killed.
Additional to that grab a reference to the last scheduled fence.
Signed-off-by: Christian König <christian.koenig@amd.com >
Reviewed-by: Andrey Grodzovsky <andrey.grodzovsky@amd.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20220929180151.139751-1-christian.koenig@amd.com
2022-10-05 12:36:20 +02:00
Ville Syrjälä
dd3abfe4e6
drm/edid: Make version checks less convoluted
...
Get rid of the confusing version_greater() stuff and
simply compare edid->revision directly everwhere. Half
the places already did it this way, and since we actually
reject any EDID with edid->version!=1 it's a perfectly
sane thing to do.
Reviewed-by: Jani Nikula <jani.nikula@intel.com >
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20220927170006.27855-9-ville.syrjala@linux.intel.com
2022-10-05 01:18:11 +03:00
Ville Syrjälä
f72f9529b0
drm/edid: Unconfuse preferred timing stuff a bit
...
For EDID 1.4 the first detailed timing is always preferred,
for older EDIDs there was a feature flag to indicate the same.
While correct, the code setting that up is rather confusing.
Restate it in a slightly more straightforward manner.
Reviewed-by: Jani Nikula <jani.nikula@intel.com >
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20220927170006.27855-8-ville.syrjala@linux.intel.com
2022-10-05 01:18:11 +03:00
Ville Syrjälä
bf72b5ef6e
drm/edid: Use the correct formula for standard timings
...
Prefer the timing formula indicated by the range
descriptor for generating the non-DMT standard timings.
Previously we just used CVT for all EDID 1.4 continuous
frequency displays without even checking if the range
descriptor indicates otherwise. Now we check the range
descriptor first, and fall back to CVT if nothing else
was indicated. EDID 1.4 more or less deprecates GTF/GTF2
but there are still a lot of 1.4 EDIDs out there that
don't advertise CVT support, so seems safer to use the
formula the EDID actually reports as supported.
For EDID 1.3 we use GTF2 if indicated (as before), and for
EDID 1.2+ we now just use GTF without even checking the
feature flag. There seem to be quite a few EDIDs out there that
don't set the GTF feature flag but still include a GTF range
descriptor and non-DMT standard timings.
This to me seems to be roughly what appendix B of EDID 1.4
suggests should be done.
Reviewed-by: Jani Nikula <jani.nikula@intel.com >
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20220927170006.27855-7-ville.syrjala@linux.intel.com
2022-10-05 01:18:11 +03:00
Ville Syrjälä
9ed15f9131
drm/edid: Use GTF2 for inferred modes
...
For some reason we only use the secondary GTF curve for the
standard timings. Use it for inferred modes as well.
Reviewed-by: Jani Nikula <jani.nikula@intel.com >
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20220927170006.27855-6-ville.syrjala@linux.intel.com
2022-10-05 01:18:04 +03:00
Ville Syrjälä
86101bb7e0
drm/edid: Extract drm_gtf2_mode()
...
Extract the GTF vs. GTF2 logic into a separate function.
We'll have a second user soon.
Reviewed-by: Jani Nikula <jani.nikula@intel.com >
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20220927170006.27855-5-ville.syrjala@linux.intel.com
2022-10-04 22:44:38 +03:00
Ville Syrjälä
ca2582c66b
drm/edid: Only parse VRR range for continuous frequency displays
...
Since we only use the parsed vrefresh range to determine
if VRR should be supported we should only accept continuous
frequency displays here.
Cc: Manasi Navare <manasi.d.navare@intel.com >
Cc: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com >
Cc: Harry Wentland <harry.wentland@amd.com >
Cc: Leo Li <sunpeng.li@amd.com >
Cc: Rodrigo Siqueira <Rodrigo.Siqueira@amd.com >
Cc: amd-gfx@lists.freedesktop.org
Reviewed-by: Jani Nikula <jani.nikula@intel.com >
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20220927170006.27855-4-ville.syrjala@linux.intel.com
2022-10-04 22:44:33 +03:00
Ville Syrjälä
afd4429eba
drm/edid: Define more flags
...
Replace a bunch of hex constants with proper definitions.
Reviewed-by: Jani Nikula <jani.nikula@intel.com >
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20220927170006.27855-3-ville.syrjala@linux.intel.com
2022-10-04 22:43:53 +03:00
Ville Syrjälä
67d7469a17
drm/edid: Clarify why we only accept the "range limits only" descriptor
...
The current comment fails to clarify why we only accept
the "range limits only" variant of the range descriptor.
Reword it to make some actual sense.
Cc: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com >
Cc: Harry Wentland <harry.wentland@amd.com >
Cc: Leo Li <sunpeng.li@amd.com >
Cc: Rodrigo Siqueira <Rodrigo.Siqueira@amd.com >
Cc: amd-gfx@lists.freedesktop.org
Reviewed-by: Manasi Navare <manasi.d.navare@intel.com >
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20220927170006.27855-2-ville.syrjala@linux.intel.com
2022-10-04 22:42:11 +03:00
Ankit Nautiyal
5e931c88b6
drm/edid: Avoid multiple log lines for HFVSDB parsing
...
Replace multiple log lines with a single log line at the end of
parsing HF-VSDB. Also use drm_dbg_kms instead of DRM_DBG_KMS, and
add log for DSC1.2 support.
v2: Fixed the formatting issues in the logging (Jani).
Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com >
Reviewed-by: Jani Nikula <jani.nikula@intel.com >
Signed-off-by: Jani Nikula <jani.nikula@intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20220916100551.2531750-5-ankit.k.nautiyal@intel.com
2022-10-04 20:35:51 +03:00
Ankit Nautiyal
a07e6f56b3
drm/edid: Refactor HFVSDB parsing for DSC1.2
...
DSC capabilities are given in bytes 11-13 of VSDB (i.e. bytes 8-10 of
SCDS). Since minimum length of Data block is 7, all bytes greater than 7
must be read only after checking the length of the data block.
This patch adds check for data block length before reading relavant DSC
bytes.
Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com >
Reviewed-by: Jani Nikula <jani.nikula@intel.com >
Signed-off-by: Jani Nikula <jani.nikula@intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20220916100551.2531750-4-ankit.k.nautiyal@intel.com
2022-10-04 20:35:49 +03:00
Ankit Nautiyal
5e706c4db9
drm/edid: Split DSC parsing into separate function
...
Move the DSC parsing logic into separate function.
v2: Rebase.
Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com >
Reviewed-by: Jani Nikula <jani.nikula@intel.com >
Signed-off-by: Jani Nikula <jani.nikula@intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20220916100551.2531750-3-ankit.k.nautiyal@intel.com
2022-10-04 20:35:47 +03:00
Ankit Nautiyal
18feaf6d07
drm/edid: Fix minimum bpc supported with DSC1.2 for HDMI sink
...
HF-VSDB/SCDB has bits to advertise support for 16, 12 and 10 bpc.
If none of the bits are set, the minimum bpc supported with DSC is 8.
This patch corrects the min bpc supported to be 8, instead of 0.
Fixes: 76ee7b9056 ("drm/edid: Parse DSC1.2 cap fields from HFVSDB block")
Cc: Ankit Nautiyal <ankit.k.nautiyal@intel.com >
Cc: Uma Shankar <uma.shankar@intel.com >
Cc: Jani Nikula <jani.nikula@intel.com >
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com >
v2: s/DSC1.2/DSC 1.2
Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com >
Reviewed-by: Jani Nikula <jani.nikula@intel.com >
Signed-off-by: Jani Nikula <jani.nikula@intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20220916100551.2531750-2-ankit.k.nautiyal@intel.com
2022-10-04 20:35:43 +03:00
Simon Ser
f633a206ca
drm: document uAPI page-flip flags
...
Document flags accepted by the page-flip and atomic IOCTLs.
v2 (Pekka):
- Mention DRM_EVENT_FLIP_COMPLETE in DRM_MODE_PAGE_FLIP_EVENT docs.
- Expand DRM_MODE_ATOMIC_NONBLOCK and DRM_MODE_ATOMIC_ALLOW_MODESET
description.
v3:
- Fix struct field ref syntax (Daniel)
- Clarify when artifacts are no longer displayed (Daniel)
- Add note about sinks deciding to show artifacts on their own (Pekka, Daniel)
v4:
- Fix typo (Pekka)
Signed-off-by: Simon Ser <contact@emersion.fr >
Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.com >
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch >
Cc: Ville Syrjala <ville.syrjala@linux.intel.com >
Link: https://patchwork.freedesktop.org/patch/505107/
2022-10-04 14:47:35 +02:00
Jilin Yuan
96c92551b5
drm/edid: fix repeated words in comments
...
Delete the redundant word 'on'.
Signed-off-by: Jilin Yuan <yuanjilin@cdjrlc.com >
Signed-off-by: Jani Nikula <jani.nikula@intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20220907113644.32831-1-yuanjilin@cdjrlc.com
2022-10-04 12:03:45 +03:00
Pin-yen Lin
439adf7272
drm/bridge: it6505: Add pre_enable/post_disable callback
...
Add atomic_pre_enable and atomic_post_disable callback to make sure the
bridge is not powered off until atomic_post_disable is called. This
prevents a power leakage when it6505 is powered off, but the upstream
DRM bridge is still sending display signals.
Fixes: b5c84a9edc ("drm/bridge: add it6505 driver")
Signed-off-by: Pin-yen Lin <treapking@chromium.org >
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com >
Signed-off-by: Robert Foss <robert.foss@linaro.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20221004044943.2407781-3-treapking@chromium.org
2022-10-04 10:54:09 +02:00
Pin-yen Lin
10517777d3
drm/bridge: it6505: Adapt runtime power management framework
...
Use pm_runtime_(get|put)_sync to control the bridge power, and add
SET_SYSTEM_SLEEP_PM_OPS with pm_runtime_force_(suspend|resume) to it6505
driver. Without SET_SYSTEM_SLEEP_PM_OPS, the bridge will be powered on
unnecessarily when no external display is connected.
Fixes: b5c84a9edc ("drm/bridge: add it6505 driver")
Signed-off-by: Pin-yen Lin <treapking@chromium.org >
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com >
Signed-off-by: Robert Foss <robert.foss@linaro.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20221004044943.2407781-2-treapking@chromium.org
2022-10-04 10:54:07 +02:00
Wei Yongjun
353b6bf2c4
drm/panel: ws2401: Silent no spi_device_id warning
...
Add spi_device_id entries to silent following SPI warning:
SPI driver ws2401-panel has no spi_device_id for samsung,lms380kf01
Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com >
Signed-off-by: Linus Walleij <linus.walleij@linaro.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20220915163437.2519754-1-weiyongjun@huaweicloud.com
2022-10-03 21:50:53 +02:00
Wei Yongjun
b4c1b4ce5d
drm/panel: tpg110: Silent no spi_device_id warning
...
Add spi_device_id entries to silent following SPI warning:
SPI driver tpo-tpg110-panel has no spi_device_id for tpo,tpg110
Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com >
Signed-off-by: Linus Walleij <linus.walleij@linaro.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20220915163431.2519736-1-weiyongjun@huaweicloud.com
2022-10-03 21:49:50 +02:00
Wei Yongjun
bd8eb08661
drm/panel: db7430: Silent no spi_device_id warning
...
Add spi_device_id entries to silent following SPI warning:
SPI driver db7430-panel has no spi_device_id for samsung,lms397kf04
Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com >
Signed-off-by: Linus Walleij <linus.walleij@linaro.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20220915163156.2519577-1-weiyongjun@huaweicloud.com
2022-10-03 21:48:41 +02:00
Andrey Grodzovsky
08fb97de03
drm/sched: Add FIFO sched policy to run queue
...
When many entities are competing for the same run queue
on the same scheduler, we observe an unusually long wait
times and some jobs get starved. This has been observed on GPUVis.
The issue is due to the Round Robin policy used by schedulers
to pick up the next entity's job queue for execution. Under stress
of many entities and long job queues within entity some
jobs could be stuck for very long time in it's entity's
queue before being popped from the queue and executed
while for other entities with smaller job queues a job
might execute earlier even though that job arrived later
then the job in the long queue.
Fix:
Add FIFO selection policy to entities in run queue, chose next entity
on run queue in such order that if job on one entity arrived
earlier then job on another entity the first job will start
executing earlier regardless of the length of the entity's job
queue.
v2:
Switch to rb tree structure for entities based on TS of
oldest job waiting in the job queue of an entity. Improves next
entity extraction to O(1). Entity TS update
O(log N) where N is the number of entities in the run-queue
Drop default option in module control parameter.
v3:
Various cosmetical fixes and minor refactoring of fifo update function. (Luben)
v4:
Switch drm_sched_rq_select_entity_fifo to in order search (Luben)
v5: Fix up drm_sched_rq_select_entity_fifo loop (Luben)
v6: Add missing drm_sched_rq_remove_fifo_locked
v7: Fix ts sampling bug and more cosmetic stuff (Luben)
v8: Fix module parameter string (Luben)
Cc: Luben Tuikov <luben.tuikov@amd.com >
Cc: Christian König <christian.koenig@amd.com >
Cc: Direct Rendering Infrastructure - Development <dri-devel@lists.freedesktop.org >
Cc: AMD Graphics <amd-gfx@lists.freedesktop.org >
Signed-off-by: Andrey Grodzovsky <andrey.grodzovsky@amd.com >
Tested-by: Yunxiang Li (Teddy) <Yunxiang.Li@amd.com >
Signed-off-by: Luben Tuikov <luben.tuikov@amd.com >
Reviewed-by: Luben Tuikov <luben.tuikov@amd.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20220930041258.1050247-1-luben.tuikov@amd.com
2022-09-30 09:12:08 -04:00
Yuan Can
c9b48b91e2
drm/panel: simple: Use dev_err_probe() to simplify code
...
In the probe path, dev_err() can be replaced with dev_err_probe()
which will check if error code is -EPROBE_DEFER and prints the
error name. It also sets the defer probe reason which can be
checked later through debugfs.
Signed-off-by: Yuan Can <yuancan@huawei.com >
Reviewed-by: Douglas Anderson <dianders@chromium.org >
Signed-off-by: Douglas Anderson <dianders@chromium.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20220929015503.17301-3-yuancan@huawei.com
2022-09-29 14:04:25 -07:00
Yuan Can
b28d204a7c
drm/panel: panel-edp: Use dev_err_probe() to simplify code
...
In the probe path, dev_err() can be replaced with dev_err_probe()
which will check if error code is -EPROBE_DEFER and prints the
error name. It also sets the defer probe reason which can be
checked later through debugfs.
Signed-off-by: Yuan Can <yuancan@huawei.com >
Reviewed-by: Douglas Anderson <dianders@chromium.org >
Signed-off-by: Douglas Anderson <dianders@chromium.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20220929015503.17301-2-yuancan@huawei.com
Link: https://patchwork.freedesktop.org/patch/msgid/20220929015503.17301-2-yuancan@huawei.com
2022-09-29 14:04:24 -07:00
Christoph Niedermaier
b55002b9b5
drm/panel: simple: Add Multi-Inno Technology MI0800FT-9
...
Add Multi-Inno Technology MI0800FT-9 8" 800x600 DPI panel support.
Signed-off-by: Christoph Niedermaier <cniedermaier@dh-electronics.com >
Cc: Sam Ravnborg <sam@ravnborg.org >
To: dri-devel@lists.freedesktop.org
Signed-off-by: Marek Vasut <marex@denx.de >
Link: https://patchwork.freedesktop.org/patch/msgid/20220812114832.4946-1-cniedermaier@dh-electronics.com
2022-09-29 16:05:23 +02:00
Christoph Niedermaier
dec015f135
dt-bindings: display: simple: Add Multi-Inno Technology MI0800FT-9 panel
...
Add Multi-Inno Technology MI0800FT-9 8" 800x600 DPI panel
compatible string.
Signed-off-by: Christoph Niedermaier <cniedermaier@dh-electronics.com >
Cc: Rob Herring <robh+dt@kernel.org >
Cc: Sam Ravnborg <sam@ravnborg.org >
Cc: devicetree@vger.kernel.org
To: dri-devel@lists.freedesktop.org
Acked-by: Rob Herring <robh@kernel.org >
Signed-off-by: Marek Vasut <marex@denx.de >
Link: https://patchwork.freedesktop.org/patch/msgid/20220812114600.4895-1-cniedermaier@dh-electronics.com
2022-09-29 16:05:23 +02:00
Francesco Dolcini
2ab6973920
drm/bridge: lt8912b: fix corrupted image output
...
Correct I2C address for the register list in lt8912_write_lvds_config(),
these registers are on the first I2C address (0x48), the current
function is just writing garbage to the wrong registers and this creates
multiple issues (artifacts and output completely corrupted) on some HDMI
displays.
Correct I2C address comes from Lontium documentation and it is the one
used on other out-of-tree LT8912B drivers [1].
[1] https://github.com/boundarydevices/linux/blob/boundary-imx_5.10.x_2.0.0/drivers/video/lt8912.c#L296
Fixes: 30e2ae943c ("drm/bridge: Introduce LT8912B DSI to HDMI bridge")
Signed-off-by: Francesco Dolcini <francesco.dolcini@toradex.com >
Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com >
Acked-by: Adrien Grassein <adrien.grassein@gmail.com >
Signed-off-by: Robert Foss <robert.foss@linaro.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20220922124306.34729-4-dev@pschenker.ch
Link: https://patchwork.freedesktop.org/patch/msgid/20220922124306.34729-5-dev@pschenker.ch
2022-09-28 16:19:57 +02:00
Philippe Schenker
d25404a359
drm/bridge: lt8912b: set hdmi or dvi mode
...
The Lontium LT8912 does have a setting for DVI or HDMI. This patch reads
from EDID what the display needs and sets it accordingly.
Fixes: 30e2ae943c ("drm/bridge: Introduce LT8912B DSI to HDMI bridge")
Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com >
Acked-by: Adrien Grassein <adrien.grassein@gmail.com >
Signed-off-by: Robert Foss <robert.foss@linaro.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20220922124306.34729-3-dev@pschenker.ch
2022-09-28 16:19:55 +02:00
Philippe Schenker
e3e7f178d4
drm/bridge: lt8912b: add vsync hsync
...
Currently the bridge driver does not take care whether or not the display
needs positive/negative vertical/horizontal syncs. Pass these two flags
to the bridge from the EDID that was read out from the display.
Fixes: 30e2ae943c ("drm/bridge: Introduce LT8912B DSI to HDMI bridge")
Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com >
Acked-by: Adrien Grassein <adrien.grassein@gmail.com >
Signed-off-by: Robert Foss <robert.foss@linaro.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20220922124306.34729-2-dev@pschenker.ch
2022-09-28 16:19:53 +02:00
Khaled Almahallawy
7b4d8db657
drm/dp: Don't rewrite link config when setting phy test pattern
...
The sequence for Source DP PHY CTS automation is [2][1]:
1- Emulate successful Link Training(LT)
2- Short HPD and change link rates and number of lanes by LT.
(This is same flow for Link Layer CTS)
3- Short HPD and change PHY test pattern and swing/pre-emphasis
levels (This step should not trigger LT)
The problem is with DP PHY compliance setup as follow:
[DPTX + on board LTTPR]------Main Link--->[Scope]
^ |
| |
| |
----------Aux Ch------>[Aux Emulator]
At step 3, before writing TRAINING_LANEx_SET/LINK_QUAL_PATTERN_SET
to declare the pattern/swing requested by scope, we write link
config in LINK_BW_SET/LANE_COUNT_SET on a port that has LTTPR.
As LTTPR snoops aux transaction, LINK_BW_SET/LANE_COUNT_SET writes
indicate a LT will start [Check DP 2.0 E11 -Sec 3.6.8.2 & 3.6.8.6.3],
and LTTPR will reset the link and stop sending DP signals to
DPTX/Scope causing the measurements to fail. Note that step 3 will
not trigger LT and DP link will never recovered by the
Aux Emulator/Scope.
The reset of link can be tested with a monitor connected to LTTPR
port simply by writing to LINK_BW_SET or LANE_COUNT_SET as follow
igt/tools/dpcd_reg write --offset=0x100 --value 0x14 --device=2
OR
printf '\x14' | sudo dd of=/dev/drm_dp_aux2 bs=1 count=1 conv=notrunc
seek=$((0x100))
This single aux write causes the screen to blank, sending short HPD to
DPTX, setting LINK_STATUS_UPDATE = 1 in DPCD 0x204, and triggering LT.
As stated in [1]:
"Before any TX electrical testing can be performed, the link between a
DPTX and DPRX (in this case, a piece of test equipment), including all
LTTPRs within the path, shall be trained as defined in this Standard."
In addition, changing Phy pattern/Swing/Pre-emphasis (Step 3) uses the
same link rate and lane count applied on step 2, so no need to redo LT.
The fix is to not rewrite link config in step 3, and just writes
TRAINING_LANEx_SET and LINK_QUAL_PATTERN_SET
[1]: DP 2.0 E11 - 3.6.11.1 LTTPR DPTX_PHY Electrical Compliance
[2]: Configuring UnigrafDPTC Controller - Automation Test Sequence
https://www.keysight.com/us/en/assets/9922-01244/help-files/
D9040DPPC-DisplayPort-Test-Software-Online-Help-latest.chm
Cc: Imre Deak <imre.deak@intel.com >
Cc: Jani Nikula <jani.nikula@intel.com >
Cc: Or Cochvi <or.cochvi@intel.com >
Signed-off-by: Khaled Almahallawy <khaled.almahallawy@intel.com >
Signed-off-by: Jani Nikula <jani.nikula@intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20220916054900.415804-1-khaled.almahallawy@intel.com
2022-09-28 12:22:31 +03:00
Simon Ser
019d157e5b
drm/framebuffer: convert to drm_dbg_kms()
...
Replace DRM_DEBUG_KMS() with drm_dbg_kms() which allows specifying
the DRM device to provide more context.
Signed-off-by: Simon Ser <contact@emersion.fr >
Reviewed-by: Jani Nikula <jani.nikula@intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20220905103559.118561-1-contact@emersion.fr
2022-09-28 10:43:30 +02:00
José Expósito
45eb009f8d
drm/format-helper: Add KUnit tests for drm_fb_xrgb8888_to_gray8()
...
Extend the existing test cases to test the conversion from XRGB8888 to
grayscale.
Tested-by: Maíra Canal <mairacanal@riseup.net >
Reviewed-by: David Gow <davidgow@google.com >
Acked-by: Maxime Ripard <maxime@cerno.tech >
Signed-off-by: José Expósito <jose.exposito89@gmail.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20220926080837.65734-4-jose.exposito89@gmail.com
2022-09-27 19:41:52 +02:00
José Expósito
4531143196
drm/format-helper: Add KUnit tests for drm_fb_xrgb8888_to_xrgb2101010()
...
Extend the existing test cases to test the conversion from XRGB8888 to
XRGB2101010.
In order to be able to call drm_fb_xrgb8888_to_xrgb2101010() when
compiling CONFIG_DRM_KMS_HELPER as a module export the symbol.
Tested-by: Maíra Canal <mairacanal@riseup.net >
Reviewed-by: David Gow <davidgow@google.com >
Acked-by: Maxime Ripard <maxime@cerno.tech >
Signed-off-by: José Expósito <jose.exposito89@gmail.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20220926080837.65734-3-jose.exposito89@gmail.com
2022-09-27 19:41:51 +02:00
José Expósito
f3f716ae5d
drm/format-helper: Add KUnit tests for drm_fb_xrgb8888_to_rgb888()
...
Extend the existing test cases to test the conversion from XRGB8888 to
RGB888.
Tested-by: Maíra Canal <mairacanal@riseup.net >
Reviewed-by: David Gow <davidgow@google.com >
Acked-by: Maxime Ripard <maxime@cerno.tech >
Signed-off-by: José Expósito <jose.exposito89@gmail.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20220926080837.65734-2-jose.exposito89@gmail.com
2022-09-27 19:41:50 +02:00
Sean Hong
2f24fe8c54
drm/panel-edp: Add BOE NT116WHM-N4C (HW: V8.1)
...
Add support for the BOE - NT116WHM-N4C (HW: V8.1) panel.
Signed-off-by: Sean Hong <sean.hong@quanta.corp-partner.google.com >
Reviewed-by: Douglas Anderson <dianders@chromium.org >
Signed-off-by: Douglas Anderson <dianders@chromium.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20220927063524.493591-1-sean.hong@quanta.corp-partner.google.com
2022-09-27 08:17:11 -07:00
Sean Hong
43113fd4c5
drm/panel-edp: Fix delays for INX N116BCA-EA2 (HW: C1)
...
This panel has the same delay timing as N116BCA-EA1. So, fix the
delay timing from delay_200_500_p2e80 to delay_200_500_e80_d50.
Fixes: c7bcc1056c ("drm/panel-edp: Add INX N116BCA-EA2")
Signed-off-by: Sean Hong <sean.hong@quanta.corp-partner.google.com >
Reviewed-by: Douglas Anderson <dianders@chromium.org >
Signed-off-by: Douglas Anderson <dianders@chromium.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20220927021835.488803-1-sean.hong@quanta.corp-partner.google.com
2022-09-27 08:08:20 -07:00
Sean Hong
8397d29845
drm/panel-edp: Fix delays for INX N116BCN-EA1 (HW: C4)
...
This panel has the same delay timing as N116BCA-EA1. So, fix the
delay timing from delay_200_500_p2e80 to delay_200_500_e80_d50.
Fixes: 9f4a571481 ("drm/panel-edp: Add INX N116BCN-EA1")
Signed-off-by: Sean Hong <sean.hong@quanta.corp-partner.google.com >
Reviewed-by: Douglas Anderson <dianders@chromium.org >
Signed-off-by: Douglas Anderson <dianders@chromium.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20220927021021.488295-1-sean.hong@quanta.corp-partner.google.com
2022-09-27 08:07:30 -07:00
Javier Martinez Canillas
09d6838f37
drm/ssd130x: Synchronize access to dma-buf imported GEM BOs
...
Synchronize CPU access to GEM BOs with other drivers when updating the
screen buffer. Imported DMA buffers might otherwise contain stale data.
Suggested-by: Thomas Zimmermann <tzimmermann@suse.de >
Signed-off-by: Javier Martinez Canillas <javierm@redhat.com >
Reviewed-by: Thomas Zimmermann <tzimmermann@suse.de >
Link: https://patchwork.freedesktop.org/patch/msgid/20220927095249.1919385-1-javierm@redhat.com
2022-09-27 13:26:39 +02:00
Javier Martinez Canillas
30b1a0797e
drm/ssd130x: Use drm_atomic_get_new_plane_state()
...
The struct drm_plane .state shouldn't be accessed directly but instead the
drm_atomic_get_new_plane_state() helper function should be used.
This is based on a similar patch from Thomas Zimmermann for the simpledrm
driver. No functional changes.
Suggested-by: Ville Syrjälä <ville.syrjala@linux.intel.com >
Signed-off-by: Javier Martinez Canillas <javierm@redhat.com >
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com >
Reviewed-by: Thomas Zimmermann <tzimmermann@suse.de >
Link: https://patchwork.freedesktop.org/patch/msgid/20220923083447.1679780-1-javierm@redhat.com
2022-09-27 13:26:38 +02:00
Thomas Zimmermann
4b5a51e45f
drm/simpledrm: Synchronize access to GEM BOs
...
Synchronize CPU access to GEM BOs with other drivers when updating the
screen buffer. Imported buffers might otherwise contain stale data.
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de >
Reviewed-by: Javier Martinez Canillas <javierm@redhat.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20220922130944.27138-6-tzimmermann@suse.de
2022-09-27 10:27:00 +02:00