Jonas Karlman
7cea855922
drm/bridge: dw-hdmi: Add Dynamic Range and Mastering InfoFrame support
...
Add support for configuring Dynamic Range and Mastering InfoFrame from
the hdr_output_metadata connector property.
This patch adds a use_drm_infoframe flag to dw_hdmi_plat_data that platform
drivers use to signal when Dynamic Range and Mastering infoframes is supported.
This flag is needed because Amlogic GXBB and GXL report same DW-HDMI version,
and only GXL support DRM InfoFrame.
These changes were based on work done by Zheng Yang <zhengyang@rock-chips.com >
to support DRM InfoFrame on the Rockchip 4.4 BSP kernel at [1] and [2]
[1] https://github.com/rockchip-linux/kernel/tree/develop-4.4
[2] d1943fde81
Cc: Zheng Yang <zhengyang@rock-chips.com >
Signed-off-by: Jonas Karlman <jonas@kwiboo.se >
Reviewed-by: Neil Armstrong <narmstrong@baylibre.com >
Reviewed-by: Andrzej Hajda <a.hajda@samsung.com >
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com >
Link: https://patchwork.freedesktop.org/patch/msgid/HE1PR06MB4011D7B916CBF8B740ACC45FAC9B0@HE1PR06MB4011.eurprd06.prod.outlook.com
2019-10-10 12:50:00 +02:00
Yakir Yang
3250cdf938
drm: bridge/dw_hdmi: add audio sample channel status setting
...
When transmitting IEC60985 linear PCM audio, we configure the
Aduio Sample Channel Status information in the IEC60958 frame.
The status bit is already available in iec.status of hdmi_codec_params.
This fix the issue that audio does not come out on some monitors
(e.g. LG 22CV241)
Note that these registers are only for interfaces:
I2S audio interface, General Purpose Audio (GPA), or AHB audio DMA
(AHBAUDDMA).
For S/PDIF interface this information comes from the stream.
Currently this function dw_hdmi_set_channel_status is only called
from dw-hdmi-i2s-audio in I2S setup.
Signed-off-by: Yakir Yang <ykk@rock-chips.com >
Signed-off-by: Cheng-Yi Chiang <cychiang@chromium.org >
Reviewed-by: Jonas Karlman <jonas@kwiboo.se >
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20190911082646.134347-1-cychiang@chromium.org
2019-09-13 10:43:51 +02:00
Jerome Brunet
43e88f670a
drm/bridge: dw-hdmi-i2s: enable only the required i2s lanes
...
Enable the i2s lanes depending on the number of channel in the stream
Reviewed-by: Jonas Karlman <jonas@kwiboo.se >
Signed-off-by: Jerome Brunet <jbrunet@baylibre.com >
Reviewed-by: Neil Armstrong <narmstrong@baylibre.com >
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20190812120726.1528-8-jbrunet@baylibre.com
2019-08-14 15:03:33 +02:00
Jerome Brunet
46cecde310
drm/bridge: dw-hdmi-i2s: reset audio fifo before applying new params
...
When changing the audio hw params, reset the audio fifo to make sure
any old remaining data is flushed.
The databook mentions that such reset should be followed by a reset of
the i2s block to make sure the samples stay aligned
Reviewed-by: Jonas Karlman <jonas@kwiboo.se >
Signed-off-by: Jerome Brunet <jbrunet@baylibre.com >
Reviewed-by: Neil Armstrong <narmstrong@baylibre.com >
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20190812120726.1528-7-jbrunet@baylibre.com
2019-08-14 15:03:28 +02:00
Jerome Brunet
8067f62bcc
drm/bridge: dw-hdmi-i2s: support more i2s format
...
The dw-hdmi-i2s supports more formats than just regular i2s.
Add support for left justified, right justified and dsp modes
A and B.
Reviewed-by: Jonas Karlman <jonas@kwiboo.se >
Signed-off-by: Jerome Brunet <jbrunet@baylibre.com >
Reviewed-by: Neil Armstrong <narmstrong@baylibre.com >
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20190812120726.1528-2-jbrunet@baylibre.com
2019-08-14 15:03:06 +02:00
Thomas Gleixner
2874c5fd28
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152
...
Based on 1 normalized pattern(s):
this program is free software you can redistribute it and or modify
it under the terms of the gnu general public license as published by
the free software foundation either version 2 of the license or at
your option any later version
extracted by the scancode license scanner the SPDX license identifier
GPL-2.0-or-later
has been chosen to replace the boilerplate/reference in 3029 file(s).
Signed-off-by: Thomas Gleixner <tglx@linutronix.de >
Reviewed-by: Allison Randal <allison@lohutok.net >
Cc: linux-spdx@vger.kernel.org
Link: https://lkml.kernel.org/r/20190527070032.746973796@linutronix.de
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2019-05-30 11:26:32 -07:00
Neil Armstrong
264fce6cc2
drm/bridge: dw-hdmi: Add SCDC and TMDS Scrambling support
...
Add support for SCDC Setup for TMDS Clock > 3.4GHz and enable TMDS
Scrambling when supported or mandatory.
This patch also adds an helper to setup the control bit to support
the high TMDS Bit Period/TMDS Clock-Period Ratio as required with
TMDS Clock > 3.4GHz for HDMI2.0 3840x2160@60/50 modes.
These changes were based on work done by Huicong Xu <xhc@rock-chips.com >
and Nickey Yang <nickey.yang@rock-chips.com > to support HDMI2.0 modes
on the Rockchip 4.4 BSP kernel at [1]
[1] https://github.com/rockchip-linux/kernel/tree/release-4.4
Cc: Nickey Yang <nickey.yang@rock-chips.com >
Cc: Huicong Xu <xhc@rock-chips.com >
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com >
Tested-by: Heiko Stuebner <heiko@sntech.de >
Reviewed-by: Andrzej Hajda <a.hajda@samsung.com >
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com >
Link: https://patchwork.freedesktop.org/patch/msgid/1549022873-40549-2-git-send-email-narmstrong@baylibre.com
2019-02-01 13:15:07 +01:00
Russell King
2356c573ba
drm/bridge: dw-hdmi: remove CEC engine register definitions
...
We don't need the CEC engine register definitions, so let's remove them.
Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk >
Acked-by: Hans Verkuil <hans.verkuil@cisco.com >
Tested-by: Hans Verkuil <hans.verkuil@cisco.com >
Tested-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com >
Signed-off-by: Archit Taneja <architt@codeaurora.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20170802184108.7913-5-hverkuil@xs4all.nl
2017-08-07 16:19:13 +05:30
Russell King
a616e63c56
drm/bridge: dw-hdmi: add cec driver
...
Add a CEC driver for the dw-hdmi hardware.
Reviewed-by: Neil Armstrong <narmstrong@baylibre.com >
Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk >
[hans.verkuil: unsigned -> unsigned int]
[hans.verkuil: cec_transmit_done -> cec_transmit_attempt_done]
[hans.verkuil: add missing CEC_CAP_PASSTHROUGH]
Acked-by: Hans Verkuil <hans.verkuil@cisco.com >
Tested-by: Hans Verkuil <hans.verkuil@cisco.com >
Tested-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com >
Signed-off-by: Archit Taneja <architt@codeaurora.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20170802184108.7913-4-hverkuil@xs4all.nl
2017-08-07 16:18:53 +05:30
Nickey Yang
9aa1eca095
drm: bridge: dw-hdmi: add HDMI vendor specific infoframe config
...
Vendor specific infoframe is mandatory for 4K2K resolution.
Without this, the HDMI protocol compliance fails.
Signed-off-by: Nickey Yang <nickey.yang@rock-chips.com >
Reviewed-by: Jose Abreu <joabreu@synopsys.com >
Signed-off-by: Archit Taneja <architt@codeaurora.org >
Link: http://patchwork.freedesktop.org/patch/msgid/1490081777-2232-1-git-send-email-nickey.yang@rock-chips.com
2017-03-21 13:16:32 +05:30
Laurent Pinchart
35dc8aabc8
drm: bridge: dw-hdmi: Move the driver to a separate directory.
...
The driver is already made of 5 separate source files. Move it to a
newly created directory named synopsys where more Synopsys bridge
drivers can be added later (for the DisplayPort controller for
instance).
Suggested-by: Jose Abreu <Jose.Abreu@synopsys.com >
Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com >
Reviewed-by: Jose Abreu <joabreu@synopsys.com >
Signed-off-by: Archit Taneja <architt@codeaurora.org >
Link: http://patchwork.freedesktop.org/patch/msgid/20170303172007.26541-10-laurent.pinchart+renesas@ideasonboard.com
2017-03-10 16:32:54 +05:30