Sam Ravnborg
f91831274e
drm/radeon: drop use of drmP.h (1/2)
...
Drop use of drmP.h in all .c files named radeon*c.
To ease review a little drmP.h removal was divided in two commits.
Signed-off-by: Sam Ravnborg <sam@ravnborg.org >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Cc: "Christian König" <christian.koenig@amd.com >
Cc: "David (ChunMing) Zhou" <David1.Zhou@amd.com >
Cc: David Airlie <airlied@linux.ie >
Cc: Daniel Vetter <daniel@ffwll.ch >
Link: https://patchwork.freedesktop.org/patch/msgid/20190608080241.4958-7-sam@ravnborg.org
2019-06-10 22:30:24 +02:00
Ville Syrjälä
1581b2df4c
drm/edid: Add display_info.rgb_quant_range_selectable
...
Move the CEA-861 QS bit handling entirely into the edid code. No
need to bother the drivers with this.
Cc: Alex Deucher <alexander.deucher@amd.com >
Cc: "Christian König" <christian.koenig@amd.com >
Cc: "David (ChunMing) Zhou" <David1.Zhou@amd.com >
Cc: amd-gfx@lists.freedesktop.org
Cc: Eric Anholt <eric@anholt.net > (supporter:DRM DRIVERS FOR VC4)
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com >
Acked-by: Alex Deucher <alexander.deucher@amd.com >
Acked-by: Eric Anholt <eric@anholt.net >
Link: https://patchwork.freedesktop.org/patch/msgid/20190108172828.15184-4-ville.syrjala@linux.intel.com
2019-01-10 19:01:06 +02:00
Ville Syrjälä
8ee491b4d2
drm/radeon: Use drm_hdmi_avi_infoframe_quant_range()
...
Fill out the AVI infoframe quantization range bits using
drm_hdmi_avi_infoframe_quant_range() instead of hand rolling it.
This changes the behaviour slightly as
drm_hdmi_avi_infoframe_quant_range() will set a non-zero Q bit
even when QS==0 iff the Q bit matched the default quantization
range for the given mode. This matches the recommendation in
HDMI 2.0 and is allowed even before that.
Cc: Alex Deucher <alexander.deucher@amd.com >
Cc: "Christian König" <christian.koenig@amd.com >
Cc: "David (ChunMing) Zhou" <David1.Zhou@amd.com >
Cc: amd-gfx@lists.freedesktop.org
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com >
Acked-by: Alex Deucher <alexander.deucher@amd.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20190108172828.15184-3-ville.syrjala@linux.intel.com
2019-01-10 19:01:06 +02:00
Ville Syrjälä
13d0add333
drm/edid: Pass connector to AVI infoframe functions
...
Make life easier for drivers by simply passing the connector
to drm_hdmi_avi_infoframe_from_display_mode() and
drm_hdmi_avi_infoframe_quant_range(). That way drivers don't
need to worry about is_hdmi2_sink mess.
v2: Make is_hdmi2_sink() return true for sil-sii8620
Adapt to omap/vc4 changes
Cc: Alex Deucher <alexander.deucher@amd.com >
Cc: "Christian König" <christian.koenig@amd.com >
Cc: "David (ChunMing) Zhou" <David1.Zhou@amd.com >
Cc: Archit Taneja <architt@codeaurora.org >
Cc: Andrzej Hajda <a.hajda@samsung.com >
Cc: Laurent Pinchart <Laurent.pinchart@ideasonboard.com >
Cc: Inki Dae <inki.dae@samsung.com >
Cc: Joonyoung Shim <jy0922.shim@samsung.com >
Cc: Seung-Woo Kim <sw0312.kim@samsung.com >
Cc: Kyungmin Park <kyungmin.park@samsung.com >
Cc: Russell King <linux@armlinux.org.uk >
Cc: CK Hu <ck.hu@mediatek.com >
Cc: Philipp Zabel <p.zabel@pengutronix.de >
Cc: Rob Clark <robdclark@gmail.com >
Cc: Ben Skeggs <bskeggs@redhat.com >
Cc: Tomi Valkeinen <tomi.valkeinen@ti.com >
Cc: Sandy Huang <hjc@rock-chips.com >
Cc: "Heiko Stübner" <heiko@sntech.de >
Cc: Benjamin Gaignard <benjamin.gaignard@linaro.org >
Cc: Vincent Abriou <vincent.abriou@st.com >
Cc: Thierry Reding <thierry.reding@gmail.com >
Cc: Eric Anholt <eric@anholt.net >
Cc: Shawn Guo <shawnguo@kernel.org >
Cc: Ilia Mirkin <imirkin@alum.mit.edu >
Cc: amd-gfx@lists.freedesktop.org
Cc: linux-arm-msm@vger.kernel.org
Cc: freedreno@lists.freedesktop.org
Cc: nouveau@lists.freedesktop.org
Cc: linux-tegra@vger.kernel.org
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com >
Acked-by: Thierry Reding <treding@nvidia.com >
Acked-by: Russell King <rmk+kernel@armlinux.org.uk >
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com >
Reviewed-by: Jani Nikula <jani.nikula@intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20190108172828.15184-1-ville.syrjala@linux.intel.com
2019-01-10 19:01:06 +02:00
Shashank Sharma
0c1f528cb1
drm: handle HDMI 2.0 VICs in AVI info-frames
...
HDMI 1.4b support the CEA video modes as per range of CEA-861-D (VIC 1-64).
For any other mode, the VIC filed in AVI infoframes should be 0.
HDMI 2.0 sinks, support video modes range as per CEA-861-F spec, which is
extended to (VIC 1-107).
This patch adds a bool input variable, which indicates if the connected
sink is a HDMI 2.0 sink or not. This will make sure that we don't pass a
HDMI 2.0 VIC to a HDMI 1.4 sink.
This patch touches all drm drivers, who are callers of this function
drm_hdmi_avi_infoframe_from_display_mode but to make sure there is
no change in current behavior, is_hdmi2 is kept as false.
In case of I915 driver, this patch:
- checks if the connected display is HDMI 2.0.
- HDMI infoframes carry one of this two type of information:
- VIC for 4K modes for HDMI 1.4 sinks
- S3D information for S3D modes
As CEA-861-F has already defined VICs for 4K videomodes, this
patch doesn't allow sending HDMI infoframes for HDMI 2.0 sinks,
until the mode is 3D.
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: Daniel Vetter <daniel.vetter@intel.com >
PS: This patch touches a few lines in few files, which were
already above 80 char, so checkpatch gives 80 char warning again.
- gpu/drm/omapdrm/omap_encoder.c
- gpu/drm/i915/intel_sdvo.c
V2: Rebase, Added r-b from Andrzej
V3: Addressed review comment from Ville:
- Do not send VICs in both AVI-IF and HDMI-IF
send only one of it.
V4: Rebase
V5: Added r-b from Neil.
Addressed review comments from Ville
- Do not block HDMI vendor IF, instead check for VIC while
handling AVI infoframes
V6: Rebase
V7: Rebase
Reviewed-by: Andrzej Hajda <a.hajda@samsung.com >
Reviewed-by: Neil Armstrong <narmstrong@baylibre.com >
Signed-off-by: Shashank Sharma <shashank.sharma@intel.com >
Link: http://patchwork.freedesktop.org/patch/msgid/1499960000-9232-2-git-send-email-shashank.sharma@intel.com
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com >
2017-07-14 21:23:54 +03:00
Joe Perches
7ca85295d8
gpu: drm: amd/radeon: Convert printk(KERN_<LEVEL> to pr_<level>
...
Use a more common logging style.
Miscellanea:
o Coalesce formats and realign arguments
o Neaten a few macros now using pr_<level>
Signed-off-by: Joe Perches <joe@perches.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-03-29 23:53:24 -04:00
Slava Grigorev
a64c9dab1c
drm/radeon: Add a common function for DFS handling
...
Move encoding of DFS (digital frequency synthesizer) divider into a
separate function and improve calculation precision.
Signed-off-by: Slava Grigorev <slava.grigorev@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Reviewed-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
Cc: stable@vger.kernel.org
2016-01-27 12:48:32 -05:00
Slava Grigorev
c9a392eac1
drm/radeon: cleaned up VCO output settings for DP audio
...
This is preparation for the fixes in the following patches.
Signed-off-by: Slava Grigorev <slava.grigorev@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Reviewed-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
Cc: stable@vger.kernel.org
2016-01-27 12:47:28 -05:00
Alex Deucher
86b7709d48
drm/radeon: fix HDMI quantization_range for pre-DCE5 asics
...
Support for output_csc is only available on DCE5 and newer so
don't mess with the HDMI quantization_range on pre-DCE5 asics.
bug:
https://bugs.freedesktop.org/show_bug.cgi?id=83226
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
Cc: stable@vger.kernel.org
2015-08-28 15:04:16 -04:00
Alex Deucher
7726e72b3d
drm/radeon: rework audio modeset to handle non-audio hdmi features
...
Need to setup the deep color and avi packets regardless of
audio setup.
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2015-07-29 15:50:28 -04:00
Alex Deucher
d0ea397e22
drm/radeon: rework audio detect (v4)
...
1. Always assign audio function pointers even if the display does
not support audio. We need to properly disable the audio stream
when when using a non-audio capable monitor. Fixes purple line
on some hdmi monitors.
2. Check if a pin is in use by another encoder before disabling
it.
v2: make sure we've fetched the edid before checking audio and
look up the encoder before calling audio_detect since
connector->encoder may not be assigned yet. Separate
pin and afmt. They are allocated at different times and
have no dependency on eachother.
v3: fix connector fetching in encoder functions
v4: fix missed dig->pin check in dce6_afmt_write_latency_fields
bugs:
https://bugzilla.kernel.org/show_bug.cgi?id=93701
https://bugzilla.redhat.com/show_bug.cgi?id=1236337
https://bugs.freedesktop.org/show_bug.cgi?id=91041
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
Cc: stable@vger.kernel.org
2015-07-29 15:48:05 -04:00
Alex Deucher
479e9a9512
drm/radeon: only check the sink type on DP connectors
...
Avoids a crash on pre-DP asics that support HDMI.
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
Cc: stable@vger.kernel.org
2015-06-30 09:30:01 -04:00
Dave Airlie
a8a50fce60
Merge tag 'v4.1-rc6' into drm-next
...
Linux 4.1-rc6
backmerge 4.1-rc6 as some of the later pull reqs are based on newer bases
and I'd prefer to do the fixup myself.
2015-06-04 09:23:51 +10:00
Alex Deucher
0106219361
drm/radeon: clean up radeon_audio_enable
...
- make it static
- fix mask/bool handling for last param
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
Cc: stable@vger.kernel.org
2015-05-28 00:03:39 -04:00
Alex Deucher
2d1c18bba1
Revert "drm/radeon: only mark audio as connected if the monitor supports it (v3)"
...
This breaks too many things.
bugs:
https://bugzilla.kernel.org/show_bug.cgi?id=99041
https://bugs.freedesktop.org/show_bug.cgi?id=90681
This reverts commit 0f55db36d4
.
Cc: stable@vger.kernel.org
2015-05-27 12:08:29 -04:00
Alex Deucher
d73a824acc
drm/radeon: don't setup audio on asics that don't support it
...
bug: https://bugzilla.kernel.org/show_bug.cgi?id=97701
Reported-by: Mikael Pettersson <mikpelinux@gmail.com >
Tested-by: Mikael Pettersson <mikpelinux@gmail.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
Cc: stable@vger.kernel.org
2015-05-05 09:46:10 -04:00
Alex Deucher
0f55db36d4
drm/radeon: only mark audio as connected if the monitor supports it (v3)
...
Otherwise the driver may try and send audio which may confuse the
monitor.
v2: set pin to NULL if no audio
v3: avoid crash with analog encoders
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
Cc: stable@vger.kernel.org
2015-04-27 09:54:55 -04:00
Alex Deucher
12428327bb
drm/radeon: drop dce6_dp_enable
...
It's mostly duplicated with evergreen_dp_enable. This
is a prerequisite for fix implemented in another patch.
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
Cc: stable@vger.kernel.org
2015-04-27 09:54:53 -04:00
Alex Deucher
a1dcc2778b
drm/radeon: setup quantization_range in AVI infoframe
...
If the display supports selectable range, set the range
based on what the user has selected for output csc.
bug:
https://bugs.freedesktop.org/show_bug.cgi?id=83226
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2015-03-19 12:26:26 -04:00
Alex Deucher
aeefd07e90
drm/radeon: properly set dto for dp on DCE4/5
...
If DCPLL or ext PLL is used, use the disp clk. If
PPLL is used, use the dp clock.
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2015-03-03 17:28:24 -05:00
Alex Deucher
b20932dd62
drm/radeon/audio: update EDID derived fields in modeset
...
We don't necessarily have an EDID at this point when
audio detect gets called. Ideally we'd update these
fields in detect, but that requires a larger rework
of the display detect code.
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2015-03-03 17:28:23 -05:00
Alex Deucher
3ed7ceeabf
drm/radeon: don't toggle audio state in modeset
...
Should be done only at detect time to avoid spurious
state changes on the audio side.
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2015-03-03 17:28:22 -05:00
Alex Deucher
88af339f9f
drm/radeon/audio: set mute around state setup
...
To avoid possible sound artifacts while setting up audio.
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2015-03-03 17:28:22 -05:00
Alex Deucher
d3c34d2c73
drm/radeon: assign pin in detect
...
We need the pin from detect on, it's too late in dpms.
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2015-03-03 17:28:21 -05:00
Alex Deucher
add7d75966
drm/radeon: fix the audio dpms callbacks
...
Don't touch the audio enable bits as these are already
handled in display detection. Enable the hdmi secondary
streams in hdmi enable to match dp. Rename dp dpms
callback to be consistent with hdmi.
bug:
https://bugs.freedesktop.org/show_bug.cgi?id=89327
https://bugzilla.kernel.org/show_bug.cgi?id=93921
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2015-03-03 17:28:20 -05:00
Alex Deucher
308de41ba3
drm/radeon: use NULL rather then 0 in audio detect
...
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2015-01-22 10:42:20 -05:00
Alex Deucher
f4c6c08182
drm/radeon: whitespace clean up in radeon_audio.c
...
Clean up some formatting in radeon_audio.c to be
more consistent with the rest of the driver.
Reviewed-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2015-01-22 10:42:19 -05:00
Slava Grigorev
e55bca2618
radeon/audio: enable DP audio
...
Reviewed-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Slava Grigorev <slava.grigorev@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2015-01-22 10:42:19 -05:00
Slava Grigorev
ccd4be7eb7
radeon/audio: moved audio caps programming to audio_hotplug() function
...
Reviewed-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Slava Grigorev <slava.grigorev@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2015-01-22 10:42:18 -05:00
Slava Grigorev
6f945693be
radeon/audio: applied audio_dpms() and audio_mode_set() calls
...
Reviewed-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Slava Grigorev <slava.grigorev@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2015-01-22 10:42:17 -05:00
Slava Grigorev
6e72376dcc
radeon/audio: consolidate audio_mode_set() functions
...
Reviewed-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Slava Grigorev <slava.grigorev@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2015-01-22 10:42:17 -05:00
Slava Grigorev
3be2e7d0e7
radeon/audio: moved mute programming to a separate function
...
Reviewed-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Slava Grigorev <slava.grigorev@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2015-01-22 10:42:15 -05:00
Slava Grigorev
1852c9a09a
radeon/audio: moved audio packet programming to a separate function
...
Reviewed-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Slava Grigorev <slava.grigorev@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2015-01-22 10:42:14 -05:00
Slava Grigorev
baa7d8e451
radeon/audio: set_avi_packet() function cleanup
...
Reviewed-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Slava Grigorev <slava.grigorev@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2015-01-22 10:42:14 -05:00
Slava Grigorev
be273e58f0
radeon: moved HDMI color depth programming to a separate function
...
Reviewed-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Slava Grigorev <slava.grigorev@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2015-01-22 10:42:12 -05:00
Alex Deucher
930a978512
radeon/audio: moved VBI packet programming to separate functions
...
Reviewed-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Slava Grigorev <slava.grigorev@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2015-01-22 10:42:12 -05:00
Slava Grigorev
64424d6e45
radeon/audio: consolidate update_acr() functions (v2)
...
V2: fix missing dce6 callback
Signed-off-by: Slava Grigorev <slava.grigorev@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2015-01-22 10:42:11 -05:00
Slava Grigorev
96ea7afbc2
radeon/audio: consolidate update_avi_infoframe() functions
...
Reviewed-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Slava Grigorev <slava.grigorev@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2015-01-22 10:42:10 -05:00
Slava Grigorev
a85d682a65
radeon/audio: consolidate audio_set_dto() functions
...
Reviewed-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Slava Grigorev <slava.grigorev@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2015-01-22 10:42:10 -05:00
Slava Grigorev
7991d66501
radeon/audio: consolidate audio_fini() functions
...
Reviewed-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Slava Grigorev <slava.grigorev@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2015-01-22 10:42:09 -05:00
Slava Grigorev
8bf598207e
radeon/audio: consolidate audio_enable() functions
...
Reviewed-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Slava Grigorev <slava.grigorev@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2015-01-22 10:42:08 -05:00
Slava Grigorev
88252d7728
radeon/audio: consolidate select_pin() functions
...
Reviewed-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Slava Grigorev <slava.grigorev@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2015-01-22 10:42:07 -05:00
Slava Grigorev
3cdde027aa
radeon/audio: consolidate audio_get_pin() functions
...
Reviewed-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Slava Grigorev <slava.grigorev@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2015-01-22 10:42:07 -05:00
Slava Grigorev
87654f87af
radeon/audio: consolidate write_latency_fields() functions
...
Signed-off-by: Slava Grigorev <slava.grigorev@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2015-01-22 10:42:06 -05:00
Slava Grigorev
00a9d4bcf8
radeon/audio: consolidate write_speaker_allocation() functions
...
Reviewed-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Slava Grigorev <slava.grigorev@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2015-01-22 10:42:05 -05:00
Alex Deucher
070a2e63f6
radeon/audio: consolidate write_sad_regs() functions
...
Reviewed-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Slava Grigorev <slava.grigorev@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2015-01-22 10:41:55 -05:00
Slava Grigorev
1a626b68fb
radeon/audio: defined initial audio interface that gets initialized via detect() call
...
Reviewed-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Slava Grigorev <slava.grigorev@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2015-01-22 10:39:00 -05:00
Slava Grigorev
bfc1f97d8a
radeon/audio: consolidate audio_init() functions
...
Reviewed-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Slava Grigorev <slava.grigorev@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2015-01-22 10:38:59 -05:00