Use HDMI connection / disconnection notifications to update an ALSA
jack object. Also make a copy of the ELD block after every change.
Conflicts:
sound/soc/codecs/Kconfig
sound/soc/codecs/hdmi-codec.c
(am from https://patchwork.kernel.org/patch/8887251/)
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
Signed-off-by: Chris Zhong <zyw@rock-chips.com>
Change-Id: I5f4a931c3b91c2b230ce5a61b60f191628d93105
This is Russell's HDMI notification prototype [1], currently waiting
for the HDMI CEC situation to resolve.
The use case for the notifications on MediaTek MT8173 is to let the
(dis)connection notifications control an ALSA jack object.
No Signed-off-by since this is not my code, and still up for discussion.
[1] https://patchwork.kernel.org/patch/8351501/
(am from https://patchwork.kernel.org/patch/8887261/)
Signed-off-by: Chris Zhong <zyw@rock-chips.com>
Change-Id: I87daa156de6cfa7ff8db9df9d8ecc8c42d76798f
If the driver is in suspended mode, the dp block may be disabled, and
chip registers may not be accessible. Yet, the worker may be triggered
in this situation by an extcon event. If that happens, the following crash
will be seen.
cdn-dp fec00000.dp: [drm:cdn_dp_pd_event_work] *ERROR* Enable dp failed -19
cdn-dp fec00000.dp: [drm:cdn_dp_pd_event_work] Connected, not enabled. Enabling cdn
Bad mode in Error handler detected, code 0xbf000002 -- SError
CPU: 1 PID: 10357 Comm: kworker/1:2 Not tainted 4.4.21-05903-ge0514ea #1
Hardware name: Google Kevin (DT)
Workqueue: events cdn_dp_pd_event_work
task: ffffffc0cda67080 ti: ffffffc0b9b80000 task.ti: ffffffc0b9b80000
PC is at cdn_dp_clock_reset+0x30/0xa8
LR is at cdn_dp_enable+0x1e0/0x69c
...
Call trace:
[<ffffffc0005a7e24>] cdn_dp_pd_event_work+0x58/0x3f4
[<ffffffc0002397f0>] process_one_work+0x240/0x424
[<ffffffc00023a28c>] worker_thread+0x2fc/0x424
[<ffffffc00023f5fc>] kthread+0x10c/0x114
[<ffffffc000203dd0>] ret_from_fork+0x10/0x40
Problem is two-fold: The worker should not run while suspended, and the
suspend function should not call cdn_dp_disable() while the worker is
running.
Signed-off-by: Guenter Roeck <groeck@chromium.org>
Signed-off-by: Sean Paul <seanpaul@chromium.org>
(am from https://patchwork.kernel.org/patch/9442149)
Change-Id: Ic01c6f793281a47c36a90c1be34a5e479ebabb3e
If no monitor is connected, suspend/resume cycles result in firmware
load errors because the driver attempts to load the firmware while
the system is in suspend state. This results in a kernel warning and
traceback.
Loading the firmware during boot fixes the problem. Note that we can not
just call schedule_work conditionally in cdn_dp_pd_event() if the insertion
status changed. The problem would still be seen if a monitor is connected
for the first time during suspend.
(am from https://patchwork.kernel.org/patch/9442145)
Signed-off-by: Guenter Roeck <groeck@chromium.org>
Signed-off-by: Sean Paul <seanpaul@chromium.org>
Change-Id: I86eb7c41624be1a8f5952ba7709e623a70941b8c
This commit is for fixing some error, according to the comments from
CL:5442
1. correct the use of rate
2. remove the phy switch from DP driver, it is controlled in PHY driver
3. add some const keyword
4. clear int_mask to 0
5. modify spelling errors
Change-Id: I239a9e7183593b85485abb6d288d6cb1558c65f7
Signed-off-by: Chris Zhong <zyw@rock-chips.com>
Add support for cdn DP controller which is embedded in the rk3399
SoCs. The DP is compliant with DisplayPort Specification,
Version 1.3, This IP is compatible with the rockchip type-c PHY IP.
There is a uCPU in DP controller, it need a firmware to work,
please put the firmware file to /lib/firmware/rockchip/dptx.bin. The
uCPU in charge of aux communication and link training, the host use
mailbox to communicate with the ucpu.
The dclk pin_pol of vop must not be invert for DP.
Change-Id: I64aee564f782db9943a92ca07cb20e2111d7921f
Signed-off-by: Chris Zhong <zyw@rock-chips.com>
[seanpaul fixed up some races between the worker and modeset]
[seanpaul squashed ~15 commits from chromium.org gerrit]
Signed-off-by: Sean Paul <seanpaul@chromium.org>
[groeck fixed compilation errors when building as module]
Signed-off-by: Guenter Roeck <groeck@chromium.org>
(am from https://patchwork.kernel.org/patch/9442143)
We decide to back to old vcodec driver until getting a better v4l2 solution
Change-Id: Iec3f5b3aba86866a0b0fc7aab5b6c2b28bc268d9
Signed-off-by: Jacob Chen <jacob2.chen@rock-chips.com>
we will use rga to speed xserver and wayland.
Change-Id: Ic975b1bbeb6afd8a3a15ba41afc1d8ff10c6d3b4
Signed-off-by: Jacob Chen <jacob2.chen@rock-chips.com>
This patch consolidates all the various log functions/macros into
one uber function, drm_log. It also introduces some new DRM_DEV_*
variants that print the device name to delineate multiple devices
of the same type.
Change-Id: Ic213cce1d775cc7b820473ee5263458a001f9558
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Eric Engestrom <eric.engestrom@imgtec.com>
Signed-off-by: Sean Paul <seanpaul@chromium.org>
Link: http://patchwork.freedesktop.org/patch/msgid/1471303084-3757-1-git-send-email-seanpaul@chromium.org
Signed-off-by: Huang, Tao <huangtao@rock-chips.com>
(cherry picked from commit c4e68a5832)
There's a couple of places where this would be useful for drivers (such
as reporting DP aux transaction timeouts).
Change-Id: I027648bacec5e23890f6743207d66858f91c05df
Signed-off-by: Lyude <cpaul@redhat.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Link: http://patchwork.freedesktop.org/patch/msgid/1470443443-27252-7-git-send-email-cpaul@redhat.com
Signed-off-by: Huang, Tao <huangtao@rock-chips.com>
(cherry picked from commit 27528c667a)
In ehci/ohci-platform, phy_power_on() gets called twice at probe time,
one is at pdata->power_on(); another is in usb_add_hcd(). However,
phy_power_off() is only invoked one time when ehci/ohci-platform goes
to PM suspend. As a result, the phy power count become inconsistent.
This adds assigned phy phandle to hcd-phy at ehci/ohci-platform probe
time to prevent hcd invoking generic phy methods again when phy-cells
is 0 in DT.
Change-Id: I2f0cca622d31a46dea0b805b83b676cc78e4d67c
Signed-off-by: Frank Wang <frank.wang@rock-chips.com>
Per the errata of TRM, rk3399 won't support gen2 from
now on, so let's set max-link-speed to 1 in order not
to doing training for gen2.
Change-Id: I3fd455dc2427f2c67dc2dce8e8fabc4b521a49dd
Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com>
If validity is not checked prior to clock rate change, clk_set_rate(
cpu_clk, unsupported_rate) will return success, but the real clock rate
change operation is prohibited in post clock change event. Alough post
clock change event will report error due to unsupported clock rate is
set, but this error message is ignored by clock framework.
Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
Tested-by: Rocky Hao <rocky.hao@rock-chips.com>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
(am from mmind/linux-rockchip.git branch v4.10-clk/next
commit a554bb5fb0)
Change-Id: I521700f86fe1d9bf2d1bef4ebe0350cd6f558c0a
Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
Edp controller support get timing from edid, so we can simple use
a dummy panel for display, so bootloader and kernel all can use same
timing from edid
Change-Id: I0cf19817aa1c38cae25603814c3605e6c16fe0f6
Signed-off-by: Mark Yao <mark.yao@rock-chips.com>
copy include/uapi/linux/media-bus-format.h to include/dt-bindings/display/media-bus-format.h
So we can use media bus format on device-tree.
Change-Id: I8f63856c4d61c77958c24cd5a4436050b85a093c
Signed-off-by: Mark Yao <mark.yao@rock-chips.com>
between vop big and hdmi/edp/dp connect mode is 10bit, so we disable
pre dither down, otherwise enable pre dither down.
Change-Id: If18ed05647d2eb3c6d5c159dd365ea66e55cd408
Signed-off-by: Huang Jiachai <hjc@rock-chips.com>
This adds support usb remote wakeup both host-port and otg-port,
each port can detect linestate irq then wakeup the whole system.
Change-Id: I5efcf958131827548954deb9360b9e98aa4bd0bc
Signed-off-by: Frank Wang <frank.wang@rock-chips.com>
Fix warning:
drivers/gpu/drm/rockchip/rockchip_drm_fb.c: In function 'rockchip_drm_fb_destroy':
drivers/gpu/drm/rockchip/rockchip_drm_fb.c:50:31:
warning: unused variable 'private' [-Wunused-variable]
Change-Id: Id120d86173823a68b9136a99f17fe5415041e471
Signed-off-by: Mark Yao <mark.yao@rock-chips.com>
The INNOLUX N125HCE-GPA is a 12.5' TFT Liquid Crystal Display NB module
with LED Backlight unit and 30 pins eDP interface. This module supports
1920x1080 FHD mode and can display 16.7M colors.
Change-Id: I72318ac3317cd03e2301a1cab61cf126cd2a401b
Signed-off-by: WeiYong Bi <bivvy.bi@rock-chips.com>
Some platforms (e.g. RK3399 BOX board) otg port connector
interface is not standard, that is a Type-A connector with
vbus always powered on, looks like to work as host mode,
however, the otg port still need to support DRD mode.
In the current code, if otg vbus is always powered on, it
will cause USB2 PHY to detect a floating charger in error
case and power off USB2 PHY. This patch adds a new property
"rockchip,vbus-always-on" to fix this issue. With this patch,
we handle this case as otg host only mode, and avoid to do
charger detection and power off USB2 PHY.
Change-Id: I69e5e87021f3f2d654793e547264aec55ac664ef
Signed-off-by: William Wu <wulf@rock-chips.com>
Afer the "PM / AVS: rockchip-io: make io-domains a child of the GRF",
the pmu-io-domains should be a sub-node of the pmugrf simple-mfd.
Change-Id: Iebfe9041a604580ce3e5b028d7a143fcdbbdff25
Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
Afer the "PM / AVS: rockchip-io: make io-domains a child of the GRF",
the io-domains should be a sub-node of the grf simple-mfd.
Change-Id: Ic2a40726bccee8b795b5249e07f2537fd30b3f7b
Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
Enable isp will cause system to halt on android booting, which
is caused by wrong voltage for vdd_gpu.
isp will set gpio directly, unfortunatly, it sets the enable gpio
of dc-dc for gpu.
There has no good solution for isp to fix this issue, so let's
disable the isp node for rk3399 evb3 firstly to make board works
well.
Change-Id: I5dd8c367a192ce793ed388aaf143125550e90621
Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
The AUO B125HAN03.1 panel is a 12.5' FHD 16:9 Color TFT-LCD
and 30 pins eDP interface.
Change-Id: Ic2be5f1d5a3e25d805e0752c1c1fad0decc4f2d0
Signed-off-by: WeiYong Bi <bivvy.bi@rock-chips.com>
The BOE NV125FHM-N73 panel is a 12.5' FHD 16:9 Color TFT-LCD
and 30 pins eDP interface.
Change-Id: Idc15fb7126bf778fd23a766b01c2d5cf9760d4f3
Signed-off-by: WeiYong Bi <bivvy.bi@rock-chips.com>
Reset isp mmu would failed when attach,just ignore reset operation
Change-Id: Ib323db151e7313635524526d5304e16b9b504201
Signed-off-by: Simon <xxm@rock-chips.com>
Use win->offset for window ext config is wrong,
cause yuv color space display abnormal.
Change-Id: I425c412767ad1014cff0707e549d17534fa8059b
Signed-off-by: Mark Yao <mark.yao@rock-chips.com>
Add devicetree bindings for Rockchip grf which found on
Rockchip SoCs.
Change-Id: Iac0913b71925f7ddc0edd10b34024b049aace964
Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
(cherry picked from commit fe95effb4c)