Star64_linux/drivers/gpu/drm/vc4
Maxime Ripard cd4cb49dc5
drm/vc4: hdmi: Adjust HSM clock rate depending on pixel rate
The HSM clock needs to be setup at around 101% of the pixel rate. This
was done previously by setting the clock rate to 163.7MHz at probe time and
only check in mode_valid whether the mode pixel clock was under the pixel
clock +1% or not.

However, with 4k we need to change that frequency to a higher frequency
than 163.7MHz, and yet want to have the lowest clock as possible to have a
decent power saving.

Let's change that logic a bit by setting the clock rate of the HSM clock
to the pixel rate at encoder_enable time. This would work for the
BCM2711 that support 4k resolutions and has a clock that can provide it,
but we still have to take care of a 4k panel plugged on a BCM283x SoCs
that wouldn't be able to use those modes, so let's define the limit in
the variant.

Signed-off-by: Maxime Ripard <maxime@cerno.tech>
Tested-by: Chanwoo Choi <cw00.choi@samsung.com>
Tested-by: Hoegeun Kwon <hoegeun.kwon@samsung.com>
Tested-by: Stefan Wahren <stefan.wahren@i2se.com>
Reviewed-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
Link: https://patchwork.freedesktop.org/patch/msgid/7e692ddc231d33dd671e70ea04dd1dcf56c1ecb3.1599120059.git-series.maxime@cerno.tech
2020-09-07 18:14:53 +02:00
..
Kconfig
Makefile drm/vc4: hdmi: Add PHY init and disable function 2020-09-07 18:06:04 +02:00
vc4_bo.c
vc4_crtc.c drm/vc4: crtc: Add BCM2711 pixelvalves 2020-09-07 18:04:45 +02:00
vc4_debugfs.c
vc4_dpi.c
vc4_drv.c drm/vc4: drv: Disable the CRTC at boot time 2020-09-07 18:04:36 +02:00
vc4_drv.h drm/vc4: hdmi: Remove vc4_dev hdmi pointer 2020-09-07 18:05:38 +02:00
vc4_dsi.c
vc4_fence.c
vc4_gem.c
vc4_hdmi.c drm/vc4: hdmi: Adjust HSM clock rate depending on pixel rate 2020-09-07 18:14:53 +02:00
vc4_hdmi.h drm/vc4: hdmi: Adjust HSM clock rate depending on pixel rate 2020-09-07 18:14:53 +02:00
vc4_hdmi_phy.c drm/vc4: hdmi: Add PHY RNG enable / disable function 2020-09-07 18:06:09 +02:00
vc4_hdmi_regs.h drm/vc4: hdmi: Implement a register layout abstraction 2020-09-07 18:05:52 +02:00
vc4_hvs.c drm/vc4: hvs: Introduce a function to get the assigned FIFO 2020-09-07 18:04:26 +02:00
vc4_irq.c
vc4_kms.c drm/vc4: crtc: Assign output to channel automatically 2020-09-07 18:02:51 +02:00
vc4_packet.h
vc4_perfmon.c
vc4_plane.c drm/vc4: plane: Create more planes 2020-09-07 18:02:08 +02:00
vc4_qpu_defines.h
vc4_regs.h drm/vc4: hdmi: Implement a register layout abstraction 2020-09-07 18:05:52 +02:00
vc4_render_cl.c
vc4_trace.h
vc4_trace_points.c
vc4_txp.c drm/vc4: crtc: Move the HVS gamma LUT setup to our init function 2020-09-07 18:03:39 +02:00
vc4_v3d.c
vc4_validate.c
vc4_validate_shaders.c
vc4_vec.c