the minimum region size (HSA,HBP,HACT,HFP) is 4 pixels
which is the dsi2 ip known issues and limitations.
Signed-off-by: Guochun Huang <hero.huang@rock-chips.com>
Change-Id: I15c4fd942ff5cd0fd8c3ad3590b83b24a0c7dd33
the minimum region size (HSA,HBP,HACT,HFP) is 4 pixels
which is the ip known issues and limitations.
Change-Id: I9069ed1c9b6a44b6da27ec0c11d5940f45f45a1c
Signed-off-by: Guochun Huang <hero.huang@rock-chips.com>
The IEC958 status bit is usually set by the userspace after hw_params
has been called, so in order to use whatever is set by the userspace, we
need to implement the prepare hook. Let's add it to the hdmi_codec_ops,
and mandate that either prepare or hw_params is implemented.
Change-Id: I06ccde5d8185955bb60783b597f0205811460968
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
Acked-by: Mark Brown <broonie@kernel.org>
Link: https://lore.kernel.org/r/20210525132354.297468-6-maxime@cerno.tech
Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
(cherry picked from commit 2fef64eec2)
The IEC958 status bits can be exposed and modified by the userspace
through dedicated ALSA controls.
This patch implements those controls for the hdmi-codec driver. It
relies on a default value being setup at probe time that can later be
overridden by the control put.
The hw_params callback is then called with a buffer filled with the
proper bits for the current parameters being passed on so the underlying
driver can just reuse those bits as is.
Change-Id: I99f37b7e74655687e73a75ba19fd2de8041f8646
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
Acked-by: Mark Brown <broonie@kernel.org>
Link: https://lore.kernel.org/r/20210525132354.297468-5-maxime@cerno.tech
Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
(cherry picked from commit 7a8e1d4421)
In some situations, like a codec probe, we need to provide an IEC status
default but don't have access to the sampling rate and width yet since
no stream has been configured yet.
Each and every driver has its own default, whereas the core iec958 code
also has some buried in the snd_pcm_create_iec958_consumer functions.
Let's split these functions in two to provide a default that doesn't
rely on the sampling rate and width, and another function to fill them
when available.
Change-Id: I277899145367b219b337bc796f2faee8c4917082
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
Reviewed-by: Takashi Iwai <tiwai@suse.de>
Link: https://lore.kernel.org/r/20210525132354.297468-3-maxime@cerno.tech
Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
(cherry picked from commit 9eafc11f92)
The doc currently mentions that the IEC958 Playback Default should be
exposed on the PCM iface, and the Playback Mask on the mixer iface.
It's a bit confusing to advise to have two related controls on two
separate ifaces, and it looks like the drivers that currently expose
those controls use any combination of the mixer and PCM ifaces.
Let's try to clarify the situation a bit, and encourage to at least have
the controls on the same iface.
Change-Id: Ie0fb033564972f74154c378c644c581dc4d06dfa
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
Reviewed-by: Takashi Iwai <tiwai@suse.de>
Link: https://lore.kernel.org/r/20210525132354.297468-2-maxime@cerno.tech
Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
(cherry picked from commit aa7899537a)
Sound is broken on the DragonBoard 410c (apq8016_sbc) since 5.10:
hdmi-audio-codec hdmi-audio-codec.1.auto: ASoC: error at snd_soc_component_set_jack on hdmi-audio-codec.1.auto: -95
qcom-apq8016-sbc 7702000.sound: Failed to set jack: -95
ADV7533: ASoC: error at snd_soc_link_init on ADV7533: -95
hdmi-audio-codec hdmi-audio-codec.1.auto: ASoC: error at snd_soc_component_set_jack on hdmi-audio-codec.1.auto: -95
qcom-apq8016-sbc: probe of 7702000.sound failed with error -95
This happens because apq8016_sbc calls snd_soc_component_set_jack() on
all codec DAIs and attempts to ignore failures with return code -ENOTSUPP.
-ENOTSUPP is also excluded from error logging in soc_component_ret().
However, hdmi_codec_set_jack() returns -E*OP*NOTSUPP if jack detection
is not supported, which is not handled in apq8016_sbc and soc_component_ret().
Make it return -ENOTSUPP instead to fix sound and silence the errors.
Cc: Cheng-Yi Chiang <cychiang@chromium.org>
Cc: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Fixes: 55c5cc63ab ("ASoC: hdmi-codec: Use set_jack ops to set jack")
Signed-off-by: Stephan Gerhold <stephan@gerhold.net>
Acked-by: Nicolin Chen <nicoleotsuka@gmail.com>
Link: https://lore.kernel.org/r/20210107165131.2535-1-stephan@gerhold.net
Signed-off-by: Mark Brown <broonie@kernel.org>
(cherry picked from commit 2a0435df96)
Change-Id: Id38ce1cdfc80daaac7d77212cecd29dd6fa4e877
Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
In plugged callback, ELD should be updated from display driver so that
user space can query information from ELD immediately after receiving jack
plugged event.
When jack is unplugged, clear ELD buffer so that user space does not get
obsolete information of unplugged HDMI.
Change-Id: I2245de6e6f7dbc64863267db864dafdd3af95747
Signed-off-by: Cheng-Yi Chiang <cychiang@chromium.org>
Link: https://lore.kernel.org/r/20201118043852.1338877-1-cychiang@chromium.org
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
(cherry picked from commit 25ce4f2b35)
drivers/gpu/arm/bifrost/mali_kbase_core_linux.c:2955:6: warning: no previous prototype for function 'kbasep_ktrace_dump_wrapper' [-Wmissing-prototypes]
drivers/gpu/arm/bifrost/backend/gpu/mali_kbase_irq_linux.c:182:13: warning: no previous prototype for function 'kbase_gpu_irq_test_handler' [-Wmissing-prototypes]
drivers/gpu/arm/bifrost/backend/gpu/mali_kbase_irq_linux.c:210:5: warning: no previous prototype for function 'kbase_set_custom_irq_handler' [-Wmissing-prototypes]
drivers/gpu/arm/bifrost/platform/rk/mali_kbase_config_rk.c:241:5: warning: no previous prototype for function 'rk_kbase_device_runtime_init' [-Wmissing-prototypes]
drivers/gpu/arm/bifrost/platform/rk/mali_kbase_config_rk.c:246:6: warning: no previous prototype for function 'rk_kbase_device_runtime_disable' [-Wmissing-prototypes]
drivers/gpu/arm/bifrost/platform/rk/mali_kbase_config_rk.c:266:5: warning: no previous prototype for function 'kbase_platform_early_init' [-Wmissing-prototypes]
drivers/gpu/arm/bifrost/platform/rk/mali_kbase_config_rk.c:274:6: warning: no previous prototype for function 'kbase_platform_rk_shutdown' [-Wmissing-prototypes]
drivers/gpu/arm/bifrost/platform/rk/mali_kbase_config_rk.c:460:5: warning: no previous prototype for function 'kbase_platform_rk_init_opp_table' [-Wmissing-prototypes]
drivers/gpu/arm/bifrost/ipa/mali_kbase_ipa.c:399:5: warning: no previous prototype for function 'kbase_scale_static_power' [-Wmissing-prototypes]
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
Change-Id: I47be45c9ac2b7f9eedec1977d358b535f7fbd795
enable ov13855 camera driver used for rk3588s-tablet
Signed-off-by: Jianwei Fan <jianwei.fan@rock-chips.com>
Change-Id: Idd3b50b20fc451c18f57eac337ac58c219f957e4
This patch add UTMI clk from usb2 phy for usb2 host controllers.
Signed-off-by: William Wu <william.wu@rock-chips.com>
Change-Id: I4f7f297ffb09aa1a9d81e625c67933883d98588d
Because the usb3_0 super-speed driver is ready, let
remove the maximum-speed limit.
Signed-off-by: William Wu <william.wu@rock-chips.com>
Change-Id: Iebe2ebdeddb2942f6bb333b2bedf31f7f3c02557
This patch adds usb2_phy0 and usbdp_phy0 for usb3_0 otg,
usb2_phy1 and usbdp_phy1 for usb3_1 otg, usb2_phy2 for
usb2_0 host, usb2_phy3 for usb2_1 host.
Signed-off-by: William Wu <william.wu@rock-chips.com>
Change-Id: I10eff4d7e993c317517f9cf86f6d126238c53f4e
Add below changes to support U3:
- amend registers of the init sequence.
- amend 24MHz refclk registers and add 26MHz refclk support.
- add maximum-speed property for USB.
- cleanup codes and add fault-tolerant process.
Signed-off-by: Frank Wang <frank.wang@rock-chips.com>
Change-Id: I25ca3cb8c81a36691200277d94ac0a21bc9b57cb
RK3588 USB3_2 Host controller require to disable receiver detection
in P3 for correct detection of USB devices. Add this quirk to set
the GUSB3PIPECTL.DISRXDETINP3, then the DWC3 core will change the
PHY power state to P2 and then perform receiver detection. After
receiver detection, the DWC3 core will change the PHY power state
to P3 state.
Signed-off-by: William Wu <william.wu@rock-chips.com>
Change-Id: I4043e022e839c9ebe669d7cb9962448916d928a8
Both dsp_background of two Video Ports should be set in splice mode
Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
Change-Id: Idc8cee79bd590cc944e553e2081cef526b5ea466
The right VP share the same display timing
with left VP.
We must make sure the PRE_SCAN_TIMING of
right VP is configured in splice mode.
Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
Change-Id: I0af0cbdf18580aa1bb8bfe48210278dc61c14fcd
We have a case only use right window(a plane display on right part of
the screen) in splice mode, so we need to only disable the left window
by ourself, but enable the right window.
Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
Change-Id: Iab4ad7b88e89c989eae521faefe2b700a18d913c
The VP(CRTC) and WIN(plane) of right part is invisible for
userspace.
We should disable it when the userspace want to disable
the left part VP and Plane.
Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
Change-Id: I9fa0385e345a699bc13df9b6b65f4f26c5538200
This format is AFBC only, line mode is not supported.
Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
Change-Id: Id7d6449cbdfbc44a3d10e8df8fba511cc3c4f557
This patch assigns PLL_AUPLL as the parent of digital audio
interface default.
Except for:
I2S1_8CH which is fixed bind to PLL_CPLL
PDM0 which is fixed 300M/200M from PLL_GPLL/CPLL.
And Set PLL_AUPLL to 786.432M(48k group) default to achieve
better jitter performance.
Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
Change-Id: I1f06a7a37691803b41768ac329917912c377a9e7