Luben Tuikov
5aea5327ea
drm/amdgpu: No sysfs, not an error condition
...
Not being able to create amdgpu sysfs attributes
is not a fatal error warranting not to continue
to try to bring up the display. Thus, if we get
an error trying to create amdgpu sysfs attrs,
report it and continue on to try to bring up
a display.
Signed-off-by: Luben Tuikov <luben.tuikov@amd.com >
Acked-by: Slava Abramov <slava.abramov@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2020-09-17 17:56:31 -04:00
Jiansong Chen
24b763d0fb
drm/amdgpu: declare ta firmware for navy_flounder
...
The firmware provided via MODULE_FIRMWARE appears in the
module information. External tools(eg. dracut) may use the
list of fw files to include them as appropriate in an initramfs,
thus missing declaration will lead to request firmware failure
in boot time.
Signed-off-by: Jiansong Chen <Jiansong.Chen@amd.com >
Reviewed-by: Tianci Yin <tianci.yin@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2020-09-17 17:56:17 -04:00
Shirish S
0eaa801242
amdgpu/gmc_v9: Warn if SDPIF_MMIO_CNTRL_0 is not set
...
With IOMMU enabled, if SDPIF_MMIO_CNTRL_0 is not set
appropriately the system hangs without any trace
during S3.
To ease debug and to ensure that the failure, if any,
was caused by a race conditions that disabled write access to
SDPIF_MMIO_CNTRL_0 register, warn the user about it.
Signed-off-by: Shirish S <shirish.s@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2020-09-17 17:49:04 -04:00
Evan Quan
92e005936e
drm/amd/pm: correct Renoir UMD Stable Pstate settings
...
Update the UMD stable Pstate settings with correct clocks.
Signed-off-by: Evan Quan <evan.quan@amd.com >
Acked-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2020-09-17 17:48:58 -04:00
Evan Quan
abf6b7c78e
drm/amd/pm: lower Raven UMD Stable Pstate VCN values
...
SMU FCLK,SOCCLK have dependency on VCN CLKs. Lower VCN values so that
FCLK, SOCCLK reflect values set by UMD Stable Pstate.
Signed-off-by: Evan Quan <evan.quan@amd.com >
Acked-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2020-09-17 17:48:51 -04:00
Evan Quan
1653a179c8
drm/amd/pm: move NAVI1X power mode switching workaround to post_init
...
Since that should be the correct place to put ASIC specific
workarounds.
Signed-off-by: Evan Quan <evan.quan@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2020-09-17 17:48:40 -04:00
Evan Quan
236b156f73
drm/amd/pm: apply no power source workaround if dc reported by gpio
...
If dc reported by gpio is supported, the power source switching will
be performed by pmfw automatically. Thus the power source setting
workaround for Navi1x will be not needed.
Signed-off-by: Evan Quan <evan.quan@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2020-09-17 17:48:32 -04:00
Evan Quan
71f9404f19
drm/amd/pm: process pending AC/DC switch interrupt
...
Process any pending interrupt that occured before driver register
for interrupt from GPIO/SMU.
Signed-off-by: Evan Quan <evan.quan@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2020-09-17 17:48:25 -04:00
Evan Quan
911779e3fc
drm/amd/pm: add Raven2 watermark WmType setting
...
Which tells it's a normal pstate change or memory retraining.
Signed-off-by: Evan Quan <evan.quan@amd.com >
Tested-by: Changfeng Zhu <Changfeng.Zhu@amd.com >
Acked-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2020-09-17 17:48:18 -04:00
Evan Quan
ce2c00061b
drm/amd/pm: add Renoir watermark WmType setting
...
Which tells it's a normal pstate change or memory retraining.
Signed-off-by: Evan Quan <evan.quan@amd.com >
Tested-by: Changfeng Zhu <Changfeng.Zhu@amd.com >
Acked-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2020-09-17 17:48:11 -04:00
Evan Quan
7b9c7e30ab
drm/amd/pm: drop unnecessary wrappers around watermark setting
...
The convertion to "struct dm_pp_clock_range_for_mcif_wm_set_soc15"
is totally unnecessary and can be dropped.
Signed-off-by: Evan Quan <evan.quan@amd.com >
Tested-by: Changfeng Zhu <Changfeng.Zhu@amd.com >
Acked-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2020-09-17 17:48:00 -04:00
Evan Quan
12684c665f
drm/amd/pm: drop dead code
...
Raven never goes to swsmu path. So "adev->smu.ppt_funcs" will be
always false.
Signed-off-by: Evan Quan <evan.quan@amd.com >
Tested-by: Changfeng Zhu <Changfeng.Zhu@amd.com >
Acked-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2020-09-17 17:47:52 -04:00
Evan Quan
6c20f1573c
drm/amd/pm: minor cleanups
...
Drop unneeded "ret".
Signed-off-by: Evan Quan <evan.quan@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Acked-by: Nirmoy Das <nirmoy.das@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2020-09-17 17:47:42 -04:00
Evan Quan
38d11e0249
drm/amd/pm: drop unnecessary table existence and dpm enablement check
...
Either this was already performed in parent API. Or the table is
confirmed to exist.
Signed-off-by: Evan Quan <evan.quan@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Acked-by: Nirmoy Das <nirmoy.das@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2020-09-17 17:47:33 -04:00
Evan Quan
7ee98e1b34
drm/amd/pm: drop unnecessary smu_baco->mutex lock protections(V2)
...
As these operations are performed in hardware setup and there
is actually no race conditions during this period considering:
1. the hardware setup is serial and cannot be in parallel
2. all other operations can be performed only after hardware
setup complete.
V2: rich the commit log description
Signed-off-by: Evan Quan <evan.quan@amd.com >
Acked-by: Nirmoy Das <nirmoy.das@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2020-09-17 17:47:25 -04:00
Evan Quan
b66effb18a
drm/amd/pm: drop unnecessary feature->mutex lock protections(V2)
...
As these operations are performed in hardware setup and there
is actually no race conditions during this period considering:
1. the hardware setup is serial and cannot be in parallel
2. all other operations can be performed only after hardware
setup complete.
V2: rich the commit log description
Signed-off-by: Evan Quan <evan.quan@amd.com >
Acked-by: Nirmoy Das <nirmoy.das@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2020-09-17 17:47:09 -04:00
Evan Quan
12f04120d3
drm/amd/pm: make namings and comments more readable
...
And to fit more accurately what the cod does.
Signed-off-by: Evan Quan <evan.quan@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2020-09-17 17:47:03 -04:00
Evan Quan
eb5f69e766
drm/amd/pm: correct the requirement for umc cdr workaround
...
The workaround can be applied only with UCLK DPM enabled.
And expand the workaround to more Navi10 SKUs and also
Navi14.
Signed-off-by: Evan Quan <evan.quan@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2020-09-17 17:46:56 -04:00
Evan Quan
bb7257b5a8
drm/amd/pm: apply the CDR workarounds only with some specific UMC firmwares(V2)
...
And different workaround will be applied based on hybrid cdr bit.
V2: add pmfw version guard to make sure the new workaround applied only
with pmfw >= 42.53.0
Signed-off-by: Evan Quan <evan.quan@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2020-09-17 17:46:47 -04:00
Evan Quan
665945eb49
drm/amd/pm: implement a new umc cdr workaround
...
By uploading dummy pstate tables.
Signed-off-by: Evan Quan <evan.quan@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2020-09-17 17:46:40 -04:00
Evan Quan
2379be2faf
drm/amd/pm: allocate a new buffer for pstate dummy reading
...
This dummy reading buffer will be used for the new Navi1x
UMC CDR workaround.
Signed-off-by: Evan Quan <evan.quan@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2020-09-17 17:46:34 -04:00
Evan Quan
3646c00e74
drm/amd/pm: revise the umc hybrid cdr workaround
...
Drop the unused message(SMU_MSG_DAL_DISABLE_DUMMY_PSTATE_CHANGE).
And do not apply this workaround when the max uclk frequency
is greater than 750Mhz.
Signed-off-by: Evan Quan <evan.quan@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2020-09-17 17:46:27 -04:00
Evan Quan
82cac71c1b
drm/amd/pm: put Navi1X umc cdr workaround in post_smu_init
...
That's where the uclk dpm get enabled and then the
uclk cdr workaround can be applied.
Signed-off-by: Evan Quan <evan.quan@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2020-09-17 17:46:20 -04:00
Evan Quan
10144762e2
drm/amd/pm: postpone SOCCLK/UCLK enablement after DAL initialization(V2)
...
This is needed for Navi1X only. And it may help for display missing
or hang issue seen on some high resolution monitors.
V2: no UCLK DPM enablement for Navi10 A0 secure SKU
Signed-off-by: Evan Quan <evan.quan@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2020-09-17 17:46:13 -04:00
Evan Quan
4bdd4d25ed
drm/amd/pm: wrapper for postponing some setup job after DAL initializatioa(V2)
...
So that ASIC specific actions can be added.
V2: better namings
Signed-off-by: Evan Quan <evan.quan@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2020-09-17 17:45:57 -04:00
Rodrigo Vivi
8fea92536e
drm/i915: Update DRIVER_DATE to 20200917
...
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com >
2020-09-17 16:43:57 -04:00
Dave Airlie
4856e5aa0e
drm/ttm: drop evicted from ttm_bo.
...
This was unused.
Signed-off-by: Dave Airlie <airlied@redhat.com >
Reviewed-by: Christian König <christian.koenig@amd.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20200917064132.148521-3-airlied@gmail.com
2020-09-18 06:23:38 +10:00
Dave Airlie
e46f468fef
drm/ttm: drop special pipeline accel cleanup function.
...
The two accel cleanup paths were mostly the same once refactored.
Just pass a bool to say if the evictions are to be pipelined.
Signed-off-by: Dave Airlie <airlied@redhat.com >
Reviewed-by: Christian König <christian.koenig@amd.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20200917064132.148521-2-airlied@gmail.com
2020-09-18 06:23:06 +10:00
Dave Airlie
92afce9095
drm/ttm: make common function for wait/free node path.
...
The pipeline and accel cleansups has similiar paths here.
Signed-off-by: Dave Airlie <airlied@redhat.com >
Reviewed-by: Christian König <christian.koenig@amd.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20200917043040.146575-8-airlied@gmail.com
2020-09-18 06:21:29 +10:00
Dave Airlie
13a8f46d80
drm/ttm: move ghost object creation to a common function
...
Both accel cleanup and pipeline move had the same code, make
a single function for it.
Signed-off-by: Dave Airlie <airlied@redhat.com >
Reviewed-by: Christian König <christian.koenig@amd.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20200917043040.146575-7-airlied@gmail.com
2020-09-18 06:21:25 +10:00
Dave Airlie
2ee476f77f
drm/ttm: add a simple assign mem to bo wrapper
...
This pattern is called in a few places, just clean it up.
Reviewed-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Dave Airlie <airlied@redhat.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20200917043040.146575-6-airlied@gmail.com
2020-09-18 06:16:39 +10:00
Dave Airlie
cae515f4a5
drm/ttm/drivers: call the bind function directly.
...
Now the bind functions have all the protection explicitly the
drivers can just call them directly, and the api can be unexported
Reviewed-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Dave Airlie <airlied@redhat.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20200917043040.146575-5-airlied@gmail.com
2020-09-18 06:16:03 +10:00
Dave Airlie
37bff6542c
drm/ttm: move unbind into the tt destroy.
...
This moves unbind into the driver side on destroy paths.
Reviewed-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Dave Airlie <airlied@redhat.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20200917043040.146575-4-airlied@gmail.com
2020-09-18 06:15:24 +10:00
Dave Airlie
7626168fd1
drm/ttm: flip tt destroy ordering.
...
Call the driver first and have it call the common code cleanup.
This is useful later to fix unbind.
Reviewed-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Dave Airlie <airlied@redhat.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20200917043040.146575-3-airlied@gmail.com
2020-09-18 06:14:41 +10:00
Dave Airlie
0b988ca1c7
drm/ttm: protect against reentrant bind in the drivers
...
This moves the generic tracking into the drivers and protects
against reentrancy in the drivers. It fixes up radeon and agp
to be able to query the bound status as that is required.
Reviewed-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Dave Airlie <airlied@redhat.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20200917043040.146575-2-airlied@gmail.com
2020-09-18 06:14:00 +10:00
Swathi Dhanavanthri
dc6798a520
drm/i915/tgl, rkl: Make Wa_1606700617/22010271021 permanent
...
This workaround applies to all TGL and RKL steppings.
Signed-off-by: Swathi Dhanavanthri <swathi.dhanavanthri@intel.com >
Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20200911221158.4700-1-swathi.dhanavanthri@intel.com
2020-09-17 12:42:08 -07:00
Fenghua Yu
c7b6bac9c7
drm, iommu: Change type of pasid to u32
...
PASID is defined as a few different types in iommu including "int",
"u32", and "unsigned int". To be consistent and to match with uapi
definitions, define PASID and its variations (e.g. max PASID) as "u32".
"u32" is also shorter and a little more explicit than "unsigned int".
No PASID type change in uapi although it defines PASID as __u64 in
some places.
Suggested-by: Thomas Gleixner <tglx@linutronix.de >
Signed-off-by: Fenghua Yu <fenghua.yu@intel.com >
Signed-off-by: Borislav Petkov <bp@suse.de >
Reviewed-by: Tony Luck <tony.luck@intel.com >
Reviewed-by: Lu Baolu <baolu.lu@linux.intel.com >
Acked-by: Felix Kuehling <Felix.Kuehling@amd.com >
Acked-by: Joerg Roedel <jroedel@suse.de >
Link: https://lkml.kernel.org/r/1600187413-163670-2-git-send-email-fenghua.yu@intel.com
2020-09-17 19:21:16 +02:00
Ville Syrjälä
dc98f50fa5
drm/i915: Nuke force_min_cdclk_changed
...
Since we now have proper old and new cdclk state we no longer
need to keep this flag to indicate that the force min cdclk has
changed. Instead just check if the old vs. new value are different.
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20200714152626.380-4-ville.syrjala@linux.intel.com
Reviewed-by: Stanislav Lisovskiy <stanislav.lisovskiy@intel.com >
2020-09-17 20:10:21 +03:00
Ville Syrjälä
e161da3316
drm/i915: Remove the old global state stuff
...
With the dbuf code mostly converted over to the new global state
handling we can remove the leftovers of the old global state
stuff.
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20200902122141.15181-1-ville.syrjala@linux.intel.com
Reviewed-by: Stanislav Lisovskiy <stanislav.lisovskiy@intel.com >
2020-09-17 20:08:08 +03:00
Jim Quinlan
e0d072782c
dma-mapping: introduce DMA range map, supplanting dma_pfn_offset
...
The new field 'dma_range_map' in struct device is used to facilitate the
use of single or multiple offsets between mapping regions of cpu addrs and
dma addrs. It subsumes the role of "dev->dma_pfn_offset" which was only
capable of holding a single uniform offset and had no region bounds
checking.
The function of_dma_get_range() has been modified so that it takes a single
argument -- the device node -- and returns a map, NULL, or an error code.
The map is an array that holds the information regarding the DMA regions.
Each range entry contains the address offset, the cpu_start address, the
dma_start address, and the size of the region.
of_dma_configure() is the typical manner to set range offsets but there are
a number of ad hoc assignments to "dev->dma_pfn_offset" in the kernel
driver code. These cases now invoke the function
dma_direct_set_offset(dev, cpu_addr, dma_addr, size).
Signed-off-by: Jim Quinlan <james.quinlan@broadcom.com >
[hch: various interface cleanups]
Signed-off-by: Christoph Hellwig <hch@lst.de >
Reviewed-by: Mathieu Poirier <mathieu.poirier@linaro.org >
Tested-by: Mathieu Poirier <mathieu.poirier@linaro.org >
Tested-by: Nathan Chancellor <natechancellor@gmail.com >
2020-09-17 18:43:56 +02:00
Ville Syrjälä
181567aa9f
drm/i915: Do YCbCr 444->420 conversion via DP protocol converters
...
For platforms that can't do native 4:2:0 outout we may still be
able to do it by getting the DP->HDMI protocol converter to
perform the 4:4:4->4:2:0 downsamling for us. In this case we
have to configure our hardware to output YCbCr 4:4:4, which we've
already hooked up so all we need to do is flip the switch.
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20200904115354.25336-19-ville.syrjala@linux.intel.com
Reviewed-by: Lyude Paul <lyude@redhat.com >
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch >
2020-09-17 18:43:09 +03:00
Ville Syrjälä
2ef8d0f7de
drm/dp: Add helpers for DFP YCbCr 4:2:0 handling
...
Add helpers to determine whether the DFP supports
YCbCr 4:2:0 passthrough or YCbCr 4:4:4->4:2:0 conversion.
v2: Add kdocs (Lyude)
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20200904115354.25336-18-ville.syrjala@linux.intel.com
Reviewed-by: Lyude Paul <lyude@redhat.com >
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch >
2020-09-17 18:39:01 +03:00
Ville Syrjälä
bc7ca6a647
drm/i915: DP->HDMI TMDS clock limits vs. deep color
...
Account for the TMDS clock limits declared by the DFP
when determining what color depth we're going to use.
v2: Drop the reference to DP++ dongle since it's not handled here
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20200904115354.25336-17-ville.syrjala@linux.intel.com
Reviewed-by: Lyude Paul <lyude@redhat.com >
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch >
2020-09-17 18:38:39 +03:00
Ville Syrjälä
04e18e01b3
drm/i915: Extract intel_hdmi_has_audio()
...
Pull the "do we want to enable audio?" computation into a small helper
to make intel_hdmi_compute_config() less messy. Will make it easier to
add more checks for this later (eg. we should actually be checking
at the hblank is long enough for audio transmission).
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20200904115354.25336-16-ville.syrjala@linux.intel.com
Reviewed-by: Lyude Paul <lyude@redhat.com >
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch >
2020-09-17 18:38:26 +03:00
Ville Syrjälä
4b3bb83987
drm/i915: Handle downstream facing ports w/o EDID
...
Use drm_dp_downstream_mode() to get a suitable mode for downstream
facing ports which don't have an EDID.
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20200904115354.25336-15-ville.syrjala@linux.intel.com
Reviewed-by: Lyude Paul <lyude@redhat.com >
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch >
2020-09-17 18:38:14 +03:00
Ville Syrjälä
7af655bce2
drm/dp: Add drm_dp_downstream_mode()
...
The downstream facing port caps in the DPCD can give us a hint
as to what kind of display mode the sink can use if it doesn't
have an EDID. Use that information to pick a suitable mode.
v2: Use Returns: for kdoc (Lyude)
Add kdocs for drm_display_mode_from_cea_vic() (Lyude)
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20200904115354.25336-14-ville.syrjala@linux.intel.com
Reviewed-by: Lyude Paul <lyude@redhat.com >
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch >
2020-09-17 18:33:22 +03:00
Ville Syrjälä
b7feffd584
drm/i915: Configure DP 1.3+ protocol converted HDMI mode
...
DP 1.3 adds some extra control knobs for DP->HDMI protocol conversion.
Let's use that to configure the "HDMI mode" (ie. infoframes vs. not)
based on the capabilities of the sink.
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20200904115354.25336-13-ville.syrjala@linux.intel.com
Reviewed-by: Lyude Paul <lyude@redhat.com >
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch >
2020-09-17 18:33:01 +03:00
Ville Syrjälä
3977cd1c1d
drm/i915: Deal with TMDS DFP clock limits
...
Use the new helpers to extract the TMDS clock limits from
the downstream facing port and check them in .mode_valid().
TODO: we should check these in .compute_config() too to eg.
determine if we can do deep color on the HDMI side or not
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20200904115354.25336-12-ville.syrjala@linux.intel.com
Reviewed-by: Lyude Paul <lyude@redhat.com >
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch >
2020-09-17 18:32:05 +03:00
Ville Syrjälä
6509ca051a
drm/dp: Add drm_dp_downstream_{min,max}_tmds_clock()
...
Add helpers to get the TMDS clock limits for HDMI/DVI downstream
facing ports.
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20200904115354.25336-11-ville.syrjala@linux.intel.com
Reviewed-by: Lyude Paul <lyude@redhat.com >
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch >
2020-09-17 18:27:49 +03:00
Ville Syrjälä
fe7cf496e5
drm/i915: Reworkd DP DFP clock handling
...
Move the downstream facing port dotclock check into a new function
(intel_dp_mode_valid_downstream()) so that we have a nice future
place where we can collect other related checks.
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20200904115354.25336-10-ville.syrjala@linux.intel.com
Reviewed-by: Lyude Paul <lyude@redhat.com >
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch >
2020-09-17 18:26:46 +03:00