firefly-linux-kernel-4.4.55.git
8 years agoarm64: dts: rockchip: add HDMI DDC pinctrl for RK3399 HDMI
Yakir Yang [Thu, 11 Aug 2016 06:24:41 +0000 (14:24 +0800)]
arm64: dts: rockchip: add HDMI DDC pinctrl for RK3399 HDMI

Default to enable the HDMI DDC internal module.

Change-Id: I14e4e3f0b5abb37eb0bb4451e2fcf48bceb3e3b2
Signed-off-by: Yakir Yang <ykk@rock-chips.com>
8 years agoCHROMIUM: drm: bridge/dw_hdmi: Reorg hdmi_unmute_interrupts()
Douglas Anderson [Wed, 16 Sep 2015 16:06:08 +0000 (09:06 -0700)]
CHROMIUM: drm: bridge/dw_hdmi: Reorg hdmi_unmute_interrupts()

Reorganize hdmi_unmute_interrupts() to put all the HPD-related config
together.  This also eliminates an extra clearning of the HPD
interrupt.

BUG=chrome-os-partner:44922
TEST=HDMI still works fine.

Change-Id: I9d3cd847a00f9c887e2d054ff2b5671b0eeb8a42
Signed-off-by: Douglas Anderson <dianders@chromium.org>
Signed-off-by: Yakir Yang <ykk@rock-chips.com>
Reviewed-on: https://chromium-review.googlesource.com/299777
Reviewed-by: Yakir Yang <ykk@rock-chips.com>
8 years agoCHROMIUM: drm: bridge/dw_hdmi: Eliminate dw_hdmi_fb_registered()
Douglas Anderson [Wed, 16 Sep 2015 15:49:33 +0000 (08:49 -0700)]
CHROMIUM: drm: bridge/dw_hdmi: Eliminate dw_hdmi_fb_registered()

This is a no-op change that eliminates the dw_hdmi_fb_registered()
function and just folds the code into the one caller of the function:
hdmi_unmute_interrupts().

Eliminated because:

* The name and comment of the function implied that it was to be called
  after the frame buffer was registered.  ...but it wasn't called when
  that happened, at least not directly.

* The function does some parts of enabling the HPD interrupt but not all
  parts.  Other parts are done by the calling function, and the calling
  function also duplicates some bits (like clearing existing HPD).  The
  split doesn't make sense.

A future change will reorganize hdmi_unmute_interrupts() a little.

BUG=chrome-os-partner:44922
TEST=HDMI still works fine.

Change-Id: Ib77c03dd8f4791bc7276ccab184ff5b766de5ddd
Signed-off-by: Douglas Anderson <dianders@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/299776
Reviewed-by: Yakir Yang <ykk@rock-chips.com>
Signed-off-by: Yakir Yang <ykk@rock-chips.com>
8 years agoCHROMIUM: drm: bridge/dw_hdmi: fix i2cm standard mode setting error
Yakir Yang [Mon, 28 Sep 2015 08:58:24 +0000 (16:58 +0800)]
CHROMIUM: drm: bridge/dw_hdmi: fix i2cm standard mode setting error

I have uploaded a patch to switch DDC to standard mode in
(https://chromium-review.googlesource.com/298270), but that change
have influence the "spare register" in I2CM_DIV, I know this haven't
cause some know bug, but we need to fix it.

BUG=chrome-os-partner:34741
TEST=None

Change-Id: Iff678fb49828db9b8026422e302a03f687a7c862
Signed-off-by: Yakir Yang <ykk@rock-chips.com>
Reviewed-on: https://chromium-review.googlesource.com/302751
Commit-Ready: Douglas Anderson <dianders@chromium.org>
Tested-by: Douglas Anderson <dianders@chromium.org>
Reviewed-by: Douglas Anderson <dianders@chromium.org>
8 years agoCHROMIUM: drm: bridge/dw_hdmi: Reorder soft reset of i2c
Douglas Anderson [Mon, 28 Sep 2015 16:26:04 +0000 (09:26 -0700)]
CHROMIUM: drm: bridge/dw_hdmi: Reorder soft reset of i2c

We should really do the reset of i2c before we set the speed.  There are
no actual known problems fixed by this, but it seems like a good idea
and the latest upstream patch does this.

BUG=chrome-os-partner:34741
TEST=HDMI vs. suspend/resume, broken monitor, HDCP, etc.

Change-Id: I5207f39e074b7ab0d56d945bd1ae74d06f89c74b
Signed-off-by: Douglas Anderson <dianders@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/302629
Commit-Ready: Yakir Yang <ykk@rock-chips.com>
Reviewed-by: Yakir Yang <ykk@rock-chips.com>
Signed-off-by: Yakir Yang <ykk@rock-chips.com>
8 years agoCHROMIUM: drm: bridge/dw_hdmi: switch ddc mode to standard mode
Yakir Yang [Wed, 9 Sep 2015 02:13:53 +0000 (21:13 -0500)]
CHROMIUM: drm: bridge/dw_hdmi: switch ddc mode to standard mode

DDC have two modes: fast mode, standard mode. The previous ddc support
patch(https://chromium-review.googlesource.com/#/c/292012/) configure
the ddc to fast mode.

It works rightly in most HDTV case, but I found that ddc would always
failed if I used the VGA->HDMI adapter. And after I switch ddc to
standard mode, no failed anymore. I believe the standard mode could
provide better compatibility.

BUG=chrome-os-partner:34741
TEST=My VGA->HDMI adapter can read edid now

Change-Id: Ia33ade0a4fda998483baf454b9ccb9f31802f6bc
Signed-off-by: Yakir Yang <ykk@rock-chips.com>
Reviewed-on: https://chromium-review.googlesource.com/298270
Commit-Ready: Douglas Anderson <dianders@chromium.org>
Tested-by: Douglas Anderson <dianders@chromium.org>
Reviewed-by: Douglas Anderson <dianders@chromium.org>
Reviewed-by: Tomasz Figa <tfiga@chromium.org>
8 years agoCHROMIUM: drm: bridge/dw_hdmi: Provide an of_node to DDC i2c bus
Douglas Anderson [Wed, 2 Sep 2015 18:04:11 +0000 (11:04 -0700)]
CHROMIUM: drm: bridge/dw_hdmi: Provide an of_node to DDC i2c bus

In (3b9ba9a FROMLIST: drm: bridge/dw_hdmi: add dw hdmi i2c bus adapter
support) we added a new i2c bus adapter but no of_node was provided to
the adapter.  This made it difficult to assign a bus number to the
adapter in the device tree.

Because of the fact that dynamic bus numbering of i2c starts at 0 and
the fact that i2c busses are no longer allowed to be loaded extra-early
at boot (because deferred probe solves the boot order problem), it's
possible that this could cause the DDC i2c bus to get ID 0 and could
cause later SoC i2c busses to fail to probe because they're expecting to
get ID 0.

Note that probe ordering of mickey is slightly different than probe
ordering of other veyron devices, which is why this only shows up on
mickey.

BUG=chrome-os-partner:44802
TEST=With dts patch can now boot mickey again

Change-Id: I8f971a967f398ab58a6713a2b6471a4a2fe61dc6
Signed-off-by: Douglas Anderson <dianders@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/297040
Reviewed-by: Alexandru Stan <amstan@chromium.org>
Signed-off-by: Yakir Yang <ykk@rock-chips.com>
8 years agoFROMLIST: drm: bridge/dw_hdmi: add dw hdmi i2c bus adapter support
Vladimir Zapolskiy [Sun, 30 Aug 2015 21:34:30 +0000 (00:34 +0300)]
FROMLIST: drm: bridge/dw_hdmi: add dw hdmi i2c bus adapter support

The change adds support of internal HDMI I2C master controller, this
subdevice is used by default, if "ddc-i2c-bus" DT property is omitted.

The main purpose of this functionality is to support reading EDID from
an HDMI monitor on boards, which don't have an I2C bus connected to
DDC pins.

The current implementation does not support "I2C Master Interface
Extended Read Mode" to read data addressed by non-zero segment
pointer, this means that if EDID has more than 1 extension blocks,
EDID reading operation won't succeed, in my practice all tested HDMI
monitors have at maximum one extension block.
(am from https://patchwork.kernel.org/patch/7098101)

Change-Id: Ic3abe878a02f89bda15f39676164803b467c62a1
Signed-off-by: Vladimir Zapolskiy <vladimir_zapolskiy@mentor.com>
Signed-off-by: Yakir Yang <ykk@rock-chips.com>
Reviewed-on: https://chromium-review.googlesource.com/292012
Reviewed-by: Tomasz Figa <tfiga@chromium.org>
8 years agodt-bindings: screen-timing: add AUO mipi screen H381DLN01
Andy Yan [Thu, 11 Aug 2016 09:16:02 +0000 (17:16 +0800)]
dt-bindings: screen-timing: add AUO mipi screen H381DLN01

H381DLN01 is a 3.81" signle channel MIPI SCREEN with resolution 1080x1200,
it can connect to RK3399 via one DSI channel or dual channel with two panels.

Change-Id: Ib6b5e021b65ac5d24f32ef4a6c0e3fdf5aa4cf08
Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
8 years agoarm64: rockchip_defconfig: enable console thread
Huibin Hong [Tue, 16 Aug 2016 01:24:03 +0000 (09:24 +0800)]
arm64: rockchip_defconfig: enable console thread

Change-Id: Id8b01e7379fda8de10997bb32a24640665b95b9f
Signed-off-by: Huibin Hong <huibin.hong@rock-chips.com>
8 years agofiq_debugger: print log by console thread
Huibin Hong [Fri, 12 Aug 2016 03:19:48 +0000 (11:19 +0800)]
fiq_debugger: print log by console thread

Change-Id: Id664cdfe02f87b1f8bb37b9a4e3985c1eafef226
Signed-off-by: Huibin Hong <huibin.hong@rock-chips.com>
8 years agoARM: configs: rockchip: enable configfs usb gadget and dw2 otg in rockchip_linux_defc...
Jacob Chen [Sun, 14 Aug 2016 05:39:29 +0000 (13:39 +0800)]
ARM: configs: rockchip: enable configfs usb gadget and dw2 otg in rockchip_linux_defconfig

Required by ADB

Change-Id: I2f0b85131839bfb62402a7fa8b36e5be2b360b29
Signed-off-by: Jacob Chen <jacob2.chen@rock-chips.com>
8 years agoARM: dts: rk3288: enable usb otg for evb-board
Jacob Chen [Sun, 14 Aug 2016 05:40:10 +0000 (13:40 +0800)]
ARM: dts: rk3288: enable usb otg for evb-board

Required by ADB

Change-Id: I80bd0205aabd03978c8070cf6c4eca2359386219
Signed-off-by: Jacob Chen <jacob2.chen@rock-chips.com>
8 years agoARM: dts: rk3288: support AP6212 bt for rk3288-Fennec
Nickey Yang [Mon, 8 Aug 2016 07:07:56 +0000 (15:07 +0800)]
ARM: dts: rk3288: support AP6212 bt for rk3288-Fennec

This patch add and enable AP6212 bt node for rk3288-Fennec

Change-Id: I71b7c3a59cad92c6867d3b9f4bcfb44fe560c39c
Signed-off-by: Nickey Yang <nickey.yang@rock-chips.com>
8 years agodt-bindings: screen-timing: lcd-LP097Qx2: add cabc-lut for cabc
Zhou weixin [Mon, 15 Aug 2016 02:50:44 +0000 (10:50 +0800)]
dt-bindings: screen-timing: lcd-LP097Qx2: add cabc-lut for cabc

Change-Id: I836780fd37f4623c5ee23be1594a75f838aae645
Signed-off-by: Zhou weixin <zwx@rock-chips.com>
8 years agoarm64: dts: rockchip: rename RK3399 Excavator files name
Yakir Yang [Thu, 11 Aug 2016 06:45:31 +0000 (14:45 +0800)]
arm64: dts: rockchip: rename RK3399 Excavator files name

Let Sapphire SoC board name at the front of Excavator Main board.

Change-Id: Ie6bcd411900b43a1412197927238337e3a7ae5b0
Signed-off-by: Yakir Yang <ykk@rock-chips.com>
8 years agoarm64: dts: rockchip: resort RK3399 Excavator boards by alpha
Yakir Yang [Thu, 11 Aug 2016 06:42:14 +0000 (14:42 +0800)]
arm64: dts: rockchip: resort RK3399 Excavator boards by alpha

Resort the RK3399 Excavator and Sapphire dts files by alpha.

Change-Id: I1942144c20d25c6776c5a28132a3ea961cf4ac0f
Signed-off-by: Yakir Yang <ykk@rock-chips.com>
8 years agopwm: rockchip: fix ioremap failed for voppwm
David Wu [Tue, 5 Apr 2016 18:26:29 +0000 (02:26 +0800)]
pwm: rockchip: fix ioremap failed for voppwm

Change-Id: I3df7e2ee2b8cb24c4c8aad30cf6d55d11adf0573
Signed-off-by: David Wu <david.wu@rock-chips.com>
8 years agoarm64: dts: rockchip: add voppwm support for rk3399
David Wu [Tue, 5 Apr 2016 13:58:04 +0000 (21:58 +0800)]
arm64: dts: rockchip: add voppwm support for rk3399

Change-Id: I16b4f77083c05ffa71d569e378ea6e3cc9b1ee54
Signed-off-by: David Wu <david.wu@rock-chips.com>
8 years agoarm64: dts: rk3399: add device node for loader display
Mark Yao [Mon, 1 Aug 2016 10:04:30 +0000 (18:04 +0800)]
arm64: dts: rk3399: add device node for loader display

Change-Id: I11e144fa8c7c0dfae70a03c23e392cebc6303177
Signed-off-by: Mark Yao <mark.yao@rock-chips.com>
8 years agodrm/rockchip: support loader display
Mark Yao [Mon, 1 Aug 2016 10:00:50 +0000 (18:00 +0800)]
drm/rockchip: support loader display

Change-Id: Ia3708d4dff638380aa03f83e38248840454e2b70
Signed-off-by: Mark Yao <mark.yao@rock-chips.com>
8 years agoFROMLIST: drm/bridge: dw-hdmi: fix hdmi display lost
Mark Yao [Thu, 11 Aug 2016 07:54:03 +0000 (15:54 +0800)]
FROMLIST: drm/bridge: dw-hdmi: fix hdmi display lost

hdmi->disabled maybe not match to the real hardware status.

->dw_hdmi_bridge_enable()
  hdmi->disabled = false;
-->dw_hdmi_update_power()
   if (hdmi->rxsense)
       force = DRM_FORCE_ON;
   else
       force = DRM_FORCE_OFF;

hdmi->rxsense maybe false on bridge enable path, then hdmi->disabled
is false, but actually hardware is power off, they are not match.

So on dw_hdmi_irq, judge the hardware status with hdmi->disabled is wrong.
This bug would cause display lost, unplug/plug can't recovery display.

Cc: Russell King <rmk+kernel@arm.linux.org.uk>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: Fabio Estevam <fabio.estevam@freescale.com>
Cc: Liu Ying <gnuiyl@gmail.com>
Change-Id: Iaa5c56b5df32c6d3811f4131d63033fbccd005ae
Signed-off-by: Mark Yao <mark.yao@rock-chips.com>
(am from https://patchwork.kernel.org/patch/9274599)

8 years agopd: rockchip: support active_wakeup for rockchip pd
Elaine Zhang [Thu, 11 Aug 2016 05:23:15 +0000 (13:23 +0800)]
pd: rockchip: support active_wakeup for rockchip pd

Register gpd_dev_ops.active_wakeup function to support keep power
during suspend state. And add flag to each power domain to
decide whether keep power during suspend or not.

Change-Id: I00b5111c4703be871180d859993dbea00ec82953
Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
8 years agoARM64: dts: rk3399: fix pwm id for vdd_center
Jianqun Xu [Wed, 10 Aug 2016 03:11:29 +0000 (11:11 +0800)]
ARM64: dts: rk3399: fix pwm id for vdd_center

RK3399 EVB1 and EVB2 use pwm3 for vdd_center, but EVB3 use pwm2.
This patch moved the vdd_center node to each board dtsi file.

Change-Id: I2b46b06b622c30ab65f26663a3628e73733472ad
Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
8 years agodriver,sensor,ak8963: compatible with hardware code
Zorro Liu [Fri, 12 Aug 2016 02:40:07 +0000 (10:40 +0800)]
driver,sensor,ak8963: compatible with hardware code

Change-Id: I18bccedb914cf373188f2e199c6b15b917e0e366
Signed-off-by: Zorro Liu <lyx@rock-chips.com>
8 years agoARM64: rockchip_defconfig: cpufreq: use interactive as default policy
Chen Liang [Fri, 12 Aug 2016 03:48:18 +0000 (11:48 +0800)]
ARM64: rockchip_defconfig: cpufreq: use interactive as default policy

We meet some problem of performance with sched policy, interactive is
better.

Change-Id: Ie62c0e7b82b1c67b5646f6b90d3e4666015c5816
Signed-off-by: Chen Liang <cl@rock-chips.com>
8 years agoUPSTREAM: mmc: mmc: use ops->card_busy() to check card status in __mmc_switch()
Chaotian Jing [Thu, 19 May 2016 08:47:40 +0000 (16:47 +0800)]
UPSTREAM: mmc: mmc: use ops->card_busy() to check card status in __mmc_switch()

some MMC host do not support MMC_CAP_WAIT_WHILE_BUSY but provides
ops->card_busy(), So, add this method to check card status after
switch command.

This patch also fix CMD23 command response timeout which found on
evb-rk3288.

[   13.725563  ] mmcblk0: timed out sending SET_BLOCK_COUNT
command,card status 0x400e00
[   13.733328  ] mmcblk0: command error, retrying timeout
[   13.741792  ] mmcblk0: timed out sending SET_BLOCK_COUNT command,card
status 0x400e00
[   13.749555  ] mmcblk0: command error, retrying timeout
[   13.758246  ] mmcblk0: timed out sending SET_BLOCK_COUNT command,card
status 0x400e00

(cherry picked from commit 87a18a6a565271a886d48df49e5e27ba99e26c60)

Change-Id: I7e1b0f0001639e0b43d4a6951148ed5f625e18dd
Signed-off-by: Chaotian Jing <chaotian.jing@mediatek.com>
Signed-off-by: Ziyuan Xu <xzy.xu@rock-chips.com>
8 years agoUPSTREAM: mmc: mmc: fix switch timeout issue caused by jiffies precision
Chaotian Jing [Thu, 19 May 2016 08:47:42 +0000 (16:47 +0800)]
UPSTREAM: mmc: mmc: fix switch timeout issue caused by jiffies precision

with CONFIG_HZ=100, the precision of jiffies is 10ms, and the
generic_cmd6_time of some card is also 10ms. then, may be current
time is only 5ms, but already timed out caused by jiffies precision.

(cherry picked from commit 987aa5f8059613bf85cbb6f64ffbd34f5cb7a9d1)

Change-Id: I43f1bc93e1100e86b138ec20a37612338a7153c6
Signed-off-by: Chaotian Jing <chaotian.jing@mediatek.com>
Signed-off-by: Ziyuan Xu <xzy.xu@rock-chips.com>
8 years agoUPSTREAM: mmc: sdhci: Fix sdhci_card_busy()
Adrian Hunter [Thu, 23 Jun 2016 11:00:58 +0000 (14:00 +0300)]
UPSTREAM: mmc: sdhci: Fix sdhci_card_busy()

host->card_busy() was introduced for SD voltage switching which checks all
4 data lines.

Increasingly, host->card_busy is being used to poll the the busy signal
which is only data line 0 (DAT[0]).

The current logic in sdhci_card_busy() does not work in that case because
it returns false if any of the data lines is high.  It also ignores
possibilities:
- data lines 1-3 are not connected and could show at any level
- data lines 1-2 can be used by SDIO for other purposes

According to the SD specification, it is OK to check any of the data lines
for voltage switching, so change to use DAT[0] only.

(cherry picked from commit e613cc477c777a175c89d607d1f7a8ef528d2c43)

Change-Id: I11862e4ab67867271caedc01c0e74c5e24daea37
Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
Signed-off-by: Ziyuan Xu <xzy.xu@rock-chips.com>
8 years agoMALI: midgard: rockchip: change devfreq_dvfs_interval to 20 ms
chenzhen [Thu, 11 Aug 2016 08:15:38 +0000 (16:15 +0800)]
MALI: midgard: rockchip: change devfreq_dvfs_interval to 20 ms

Change-Id: I2ba7988bd08bb05661a324b66a27cf2028ebd5db
Signed-off-by: chenzhen <chenzhen@rock-chips.com>
8 years agoARM64: dts: rk3399: vr: set NO_DUAL vop mode
wlq [Wed, 10 Aug 2016 12:37:21 +0000 (20:37 +0800)]
ARM64: dts: rk3399: vr: set NO_DUAL vop mode

Change-Id: I0e951dad9d733e0765e65cb0cb9216e7422b9fbc
Signed-off-by: Wu Liangqing <wlq@rock-chips.com>
8 years agoARM: dts: rk3288: add asoc simple-audio-card for DW-HDMI audio for miniarm
Nickey Yang [Mon, 1 Aug 2016 09:13:38 +0000 (17:13 +0800)]
ARM: dts: rk3288: add asoc simple-audio-card for DW-HDMI audio for miniarm

Change-Id: Iccc88ef5cdc926f79d65b6bcfcf1b4e8c1a84055
Signed-off-by: Nickey Yang <nickey.yang@rock-chips.com>
8 years agopower: rk818-battery: add POWER_SUPPLY_PROP_STATUS report property
Jianhong Chen [Wed, 10 Aug 2016 13:08:13 +0000 (21:08 +0800)]
power: rk818-battery: add POWER_SUPPLY_PROP_STATUS report property

Change-Id: Ie301f934e8f8cf88702d89b733d7006bbf1ed023
Signed-off-by: Jianhong Chen <chenjh@rock-chips.com>
8 years agovideo: rockchip: fb: only open vop one time when switch screen
Huang Jiachai [Mon, 8 Aug 2016 06:26:32 +0000 (14:26 +0800)]
video: rockchip: fb: only open vop one time when switch screen

Change-Id: I7c95d25d80e303aae41dd9bec0e3eb326c4baba7
Signed-off-by: Huang Jiachai <hjc@rock-chips.com>
8 years agodrm/rockchip: add plane feature scale and alpha
Mark Yao [Tue, 2 Aug 2016 07:40:53 +0000 (15:40 +0800)]
drm/rockchip: add plane feature scale and alpha

Change-Id: I64b89e616ff9f2059df38a7f9995ff98e670104a
Signed-off-by: Mark Yao <mark.yao@rock-chips.com>
8 years agovideo: rockchip: vop: 3368: add FBDC_ABGR_888 data format
Huang Jiachai [Wed, 10 Aug 2016 13:35:50 +0000 (21:35 +0800)]
video: rockchip: vop: 3368: add FBDC_ABGR_888 data format

Change-Id: I6e0ae64c988038d65eb74be99ccfdd170fd61320
Signed-off-by: Huang Jiachai <hjc@rock-chips.com>
8 years agodrm/rockchip: fix compile warning when build as modules
Mark Yao [Thu, 11 Aug 2016 01:19:52 +0000 (09:19 +0800)]
drm/rockchip: fix compile warning when build as modules

rockchip_drm_fb.c:In function 'rockchip_drm_fb_destroy':
rockchip_drm_fb.c:51:21: warning: unused variable 'dev' [-Wunused-variable]

Change-Id: I4b9f976c71b310c411a4d1fb9990743d7109b45f
Signed-off-by: Mark Yao <mark.yao@rock-chips.com>
8 years agoARM: dts: rockchip: enable vpu for rk3288-firefly
Nickey Yang [Tue, 9 Aug 2016 08:01:38 +0000 (16:01 +0800)]
ARM: dts: rockchip: enable vpu for rk3288-firefly

Change-Id: I551cc01e658228656fed1a423a9dbeee23dbdcd3
Signed-off-by: Nickey Yang <nickey.yang@rock-chips.com>
8 years agoARM: dts: rockchip: bump sd card pin drive strength up on rk3288-firefly
Nickey Yang [Tue, 9 Aug 2016 07:40:02 +0000 (15:40 +0800)]
ARM: dts: rockchip: bump sd card pin drive strength up on rk3288-firefly

This patch fix a corruption when reading card information during probe time.

Change-Id: I3fe1b32db12b7d71f7ae0c724b7c6d70382e3210
Signed-off-by: Nickey Yang <nickey.yang@rock-chips.com>
8 years agoARM: dts: rk3288: support AP6335 bt for rk3288-firefly
Nickey Yang [Mon, 8 Aug 2016 10:18:17 +0000 (18:18 +0800)]
ARM: dts: rk3288: support AP6335 bt for rk3288-firefly

Change-Id: Ib9ea03fe42eecde3bf0292b57a9aa0754f849bf5
Signed-off-by: Nickey Yang <nickey.yang@rock-chips.com>
8 years agoARM: dts: rk3288: support AP6335 wifi for rk3288-firefly
Nickey Yang [Mon, 8 Aug 2016 06:19:17 +0000 (14:19 +0800)]
ARM: dts: rk3288: support AP6335 wifi for rk3288-firefly

This patch add and enable AP6335 wifi node for rk3288-firefly

Change-Id: I5db126aa50b7d83cd50498d487c35383c900b855
Signed-off-by: Nickey Yang <nickey.yang@rock-chips.com>
8 years agovideo: rockchip: vop: 3399: pm_runtime_put_sync will close pd immediately
Huang Jiachai [Thu, 4 Aug 2016 13:22:24 +0000 (21:22 +0800)]
video: rockchip: vop: 3399: pm_runtime_put_sync will close pd immediately

Change-Id: Iba58351d19f5af776897ee95a4e668b192d4631d
Signed-off-by: Huang Jiachai <hjc@rock-chips.com>
8 years agoUPSTREAM: PM / devfreq: add missing of_node_put after calling of_parse_phandle
Peter Chen [Fri, 1 Jul 2016 09:42:00 +0000 (17:42 +0800)]
UPSTREAM: PM / devfreq: add missing of_node_put after calling of_parse_phandle

of_node_put needs to be called when the device node which is got
from of_parse_phandle has finished using.

Change-Id: I59404551678a7e56fe51a1996c9e53b6e935dac9
Cc: MyungJoo Ham <myungjoo.ham@samsung.com>
Cc: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Peter Chen <peter.chen@nxp.com>
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
(cherry picked from commit 3427c6f0b6f5643543f9b6c55f80bee83c0d5ff3)

8 years agoUPSTREAM: PM / devfreq: Send the DEVFREQ_POSTCHANGE notification when target() is...
Chanwoo Choi [Thu, 23 Jun 2016 02:18:43 +0000 (11:18 +0900)]
UPSTREAM: PM / devfreq: Send the DEVFREQ_POSTCHANGE notification when target() is failed

This patch sends the DEVFREQ_POSTCHANGE notification when
devfreq->profile->targer() is failed. The PRECHANGE/POSTCHANGE
should be paired.

Fixes: 0fe3a66410a3 (PM / devfreq: Add new DEVFREQ_TRANSITION_NOTIFIER notifier)
Change-Id: I571fcc0ba95da6f7533d20818dfbd5f628c2f3ee
Reported-by: Lin Huang <hl@rock-chips.com>
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
(cherry picked from commit 0d37189e80163c653771916afe28fae1a8d14daa)

8 years agoUPSTREAM: PM / devfreq: Add new DEVFREQ_TRANSITION_NOTIFIER notifier
Chanwoo Choi [Tue, 26 Jan 2016 04:21:26 +0000 (13:21 +0900)]
UPSTREAM: PM / devfreq: Add new DEVFREQ_TRANSITION_NOTIFIER notifier

This patch adds the new DEVFREQ_TRANSITION_NOTIFIER notifier to send
the notification when the frequency of device is changed.
This notifier has two state as following:
- DEVFREQ_PRECHANGE  : Notify it before chaning the frequency of device
- DEVFREQ_POSTCHANGE : Notify it after changed the frequency of device

And this patch adds the resourced-managed function to release the resource
automatically when error happen.

Change-Id: Id92ce7b9b2fba0e8776b1bc6980996b16a2902f3
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
[m.reichl and linux.amoon: Tested it on exynos4412-odroidu3 board]
Tested-by: Markus Reichl <m.reichl@fivetechno.de>
Tested-by: Anand Moon <linux.amoon@gmail.com>
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
Acked-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
(cherry picked from commit 0fe3a66410a3ba96679be903f1e287d7a0a264a9)

8 years agoUPSTREAM: PM / devfreq: Add devfreq_get_devfreq_by_phandle()
Chanwoo Choi [Tue, 10 Nov 2015 11:31:07 +0000 (20:31 +0900)]
UPSTREAM: PM / devfreq: Add devfreq_get_devfreq_by_phandle()

This patch adds the new devfreq_get_devfreq_by_phandle() OF helper function
which can find the instance of devfreq device by using phandle ("devfreq").

Change-Id: I0d0ed78930811e896215c2b7a9125cad69310407
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
[m.reichl and linux.amoon: Tested it on exynos4412-odroidu3 board]
Tested-by: Markus Reichl <m.reichl@fivetechno.de>
Tested-by: Anand Moon <linux.amoon@gmail.com>
Acked-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
(cherry picked from commit 8f510aeb223b26c4ffbece9fa92e4befea470f57)

8 years agoUPSTREAM: ARM: 8481/2: drivers: psci: replace psci firmware calls
Jens Wiklander [Mon, 4 Jan 2016 14:46:47 +0000 (15:46 +0100)]
UPSTREAM: ARM: 8481/2: drivers: psci: replace psci firmware calls

Switch to use a generic interface for issuing SMC/HVC based on ARM SMC
Calling Convention. Removes now the now unused psci-call.S.

Change-Id: Ifd601acaec79a7c7f7ce2af6c5b8e8661e26508a
Acked-by: Will Deacon <will.deacon@arm.com>
Reviewed-by: Mark Rutland <mark.rutland@arm.com>
Tested-by: Mark Rutland <mark.rutland@arm.com>
Acked-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Tested-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
(cherry picked from commit e679660dbb8347f275fe5d83a5dd59c1fb6c8e63)

8 years agoUPSTREAM: ARM: 8480/2: arm64: add implementation for arm-smccc
Jens Wiklander [Mon, 4 Jan 2016 14:44:32 +0000 (15:44 +0100)]
UPSTREAM: ARM: 8480/2: arm64: add implementation for arm-smccc

Adds implementation for arm-smccc and enables CONFIG_HAVE_SMCCC.

Change-Id: I066b36d31a1ff5411e3bca49588402d5c7b3f4bc
Acked-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
(cherry picked from commit 14457459f9ca2ff8521686168ea179edc3a56a44)

8 years agoUPSTREAM: ARM: 8479/2: add implementation for arm-smccc
Jens Wiklander [Mon, 4 Jan 2016 14:42:55 +0000 (15:42 +0100)]
UPSTREAM: ARM: 8479/2: add implementation for arm-smccc

Adds implementation for arm-smccc and enables CONFIG_HAVE_SMCCC for
architectures that may support arm-smccc. It's the responsibility of the
caller to know if the SMC instruction is supported by the platform.

Change-Id: Ic7fd73fb040a900cfaa783f70c29b1d984da558b
Reviewed-by: Lars Persson <lars.persson@axis.com>
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
(cherry picked from commit b329f95d70f3f955093e9a2b18ac1ed3587a8f73)

8 years agoUPSTREAM: ARM: 8478/2: arm/arm64: add arm-smccc
Jens Wiklander [Mon, 4 Jan 2016 14:37:32 +0000 (15:37 +0100)]
UPSTREAM: ARM: 8478/2: arm/arm64: add arm-smccc

Adds helpers to do SMC and HVC based on ARM SMC Calling Convention.
CONFIG_HAVE_ARM_SMCCC is enabled for architectures that may support the
SMC or HVC instruction. It's the responsibility of the caller to know if
the SMC instruction is supported by the platform.

This patch doesn't provide an implementation of the declared functions.
Later patches will bring in implementations and set
CONFIG_HAVE_ARM_SMCCC for ARM and ARM64 respectively.

Change-Id: I7b403bb56c05a52e248cb02f154e2ab31c62fddf
Reviewed-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
(cherry picked from commit 98dd64f34f47ce19b388d9015f767f48393a81eb)

8 years agoarm64: dts: rockchip: add gsl3673 node for rk3399-evb
buluess.li [Tue, 9 Aug 2016 08:55:44 +0000 (16:55 +0800)]
arm64: dts: rockchip: add gsl3673 node for rk3399-evb

Change-Id: Ie2af9afdef987924a94fad3b65adf0ccd7c8001d
Signed-off-by: buluess.li <buluess.li@rock-chips.com>
8 years agoarm64: dts: rk3399-mid: update backlight brightness-levels
Bin Yang [Tue, 9 Aug 2016 03:49:29 +0000 (11:49 +0800)]
arm64: dts: rk3399-mid: update backlight brightness-levels

Change-Id: I4416f3f53347e8efa5452777cf0c918961a6f5f3
Signed-off-by: Bin Yang <yangbin@rock-chips.com>
8 years agoARM64: dts: rk3399: add 3399 sapphire&excavator box and edp board support
Huang zhibao [Tue, 9 Aug 2016 06:56:50 +0000 (14:56 +0800)]
ARM64: dts: rk3399: add 3399 sapphire&excavator box and edp board support

Change-Id: I14fd6d2e49eee6852625241cfd9ef22b549588c0
Signed-off-by: Huang zhibao <hzb@rock-chips.com>
8 years agoMerge tag 'lsk-v4.4-16.07-android'
Huang, Tao [Wed, 10 Aug 2016 07:15:47 +0000 (15:15 +0800)]
Merge tag 'lsk-v4.4-16.07-android'

LSK 16.07 v4.4-android

* tag 'lsk-v4.4-16.07-android': (160 commits)
  arm64: kaslr: increase randomization granularity
  arm64: relocatable: deal with physically misaligned kernel images
  arm64: don't map TEXT_OFFSET bytes below the kernel if we can avoid it
  arm64: kernel: replace early 64-bit literal loads with move-immediates
  arm64: introduce mov_q macro to move a constant into a 64-bit register
  arm64: kernel: perform relocation processing from ID map
  arm64: kernel: use literal for relocated address of __secondary_switched
  arm64: kernel: don't export local symbols from head.S
  arm64: simplify kernel segment mapping granularity
  arm64: cover the .head.text section in the .text segment mapping
  arm64: move early boot code to the .init segment
  arm64: use 'segment' rather than 'chunk' to describe mapped kernel regions
  arm64: mm: Mark .rodata as RO
  Linux 4.4.16
  ovl: verify upper dentry before unlink and rename
  drm/i915: Revert DisplayPort fast link training feature
  tmpfs: fix regression hang in fallocate undo
  tmpfs: don't undo fallocate past its last page
  crypto: qat - make qat_asym_algs.o depend on asn1 headers
  xen/acpi: allow xen-acpi-processor driver to load on Xen 4.7
  ...

8 years agodrm/panel: Don't init gpio value at probe
Mark Yao [Tue, 2 Aug 2016 07:19:27 +0000 (15:19 +0800)]
drm/panel: Don't init gpio value at probe

When enable display on loader, init gpio would change gpio status,
that would make screen flash,

Change-Id: I4b69a8d3d83c5bef09014c2134abaee6522a7046
Signed-off-by: Mark Yao <mark.yao@rock-chips.com>
8 years agoarm64: dts: rk3399: enable hdmi node for android-next
Mark Yao [Tue, 2 Aug 2016 09:21:10 +0000 (17:21 +0800)]
arm64: dts: rk3399: enable hdmi node for android-next

Change-Id: I4a6542592adb2b0fd947aa368c1714b33a2eb4bc
Signed-off-by: Mark Yao <mark.yao@rock-chips.com>
8 years agoUPSTREAM: drm/rockchip: allocate correct crtc state structure on reset
John Keeping [Thu, 14 Jul 2016 15:29:15 +0000 (16:29 +0100)]
UPSTREAM: drm/rockchip: allocate correct crtc state structure on reset

Because we are using a custom crtc_state structure, we must override the
reset helper to allocate the correct amount of memory.

Cc: stable@vger.kernel.org
Change-Id: I1895dbe994232991c1659cf2f4d63c4aa957b794
Fixes: 4e257d9eee23 ("drm/rockchip: get rid of rockchip_drm_crtc_mode_config")
Signed-off-by: John Keeping <john@metanate.com>
Signed-off-by: Mark Yao <mark.yao@rock-chips.com>
Reviewed-by: Sean Paul <seanpaul@chromium.org>
(cherry picked from dc0b408f5a87cce3ea3f81a6800244fb7d395435)

8 years agodrm/rockchip: fix compile error when build as modules
Mark Yao [Wed, 10 Aug 2016 02:24:42 +0000 (10:24 +0800)]
drm/rockchip: fix compile error when build as modules

Build fail with:
  ERROR: "memblock_free" [drivers/gpu/drm/rockchip/rockchipdrm.ko] undefined!

memblok_free fuction not export symbol, and use the flag __init, so it
can't be used on modules.

the memblock_free function only used for loader memory manager, not use
on modules context, so just use it when build-in drm/rockchip.

Change-Id: Ib88b6ca6c61f7ef85b4126d705a4911e207b57e5
Signed-off-by: Mark Yao <mark.yao@rock-chips.com>
8 years agoARM64: dts: rk3399: support fusb302 for box rev1/2
Meng Dongyang [Tue, 9 Aug 2016 04:17:37 +0000 (12:17 +0800)]
ARM64: dts: rk3399: support fusb302 for box rev1/2

Change-Id: Iea3f9e673a08bc959b3f57d169fff738ce746645
Signed-off-by: Meng Dongyang <daniel.meng@rock-chips.com>
8 years agoFROMLIST: Documentation: bindings: add dt documentation for cdn DP controller
Chris Zhong [Fri, 29 Jul 2016 07:48:22 +0000 (15:48 +0800)]
FROMLIST: Documentation: bindings: add dt documentation for cdn DP controller

This patch adds a binding that describes the cdn DP controller for
rk3399.

(am from https://patchwork.kernel.org/patch/9256921/)

Change-Id: Ibf5ed51f9b049b2b310ea049f30d237ee4f9e6aa
Signed-off-by: Chris Zhong <zyw@rock-chips.com>
Acked-by: Rob Herring <robh@kernel.org>
8 years agoFROMLIST: arm64: dts: rockchip: add Type-C phy for RK3399
Chris Zhong [Fri, 29 Jul 2016 07:48:21 +0000 (15:48 +0800)]
FROMLIST: arm64: dts: rockchip: add Type-C phy for RK3399

There are 2 Type-C phy on RK3399, they are almost same, except the
address of register. They support USB3.0 Type-C and DisplayPort1.3
Alt Mode on USB Type-C. Register a phy, supply it to USB3 controller
and DP controller.

(am from https://patchwork.kernel.org/patch/9256949/)

Change-Id: I840fbb0cc5e9b95e4d2fa88409ef1a98990dffb7
Signed-off-by: Chris Zhong <zyw@rock-chips.com>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
8 years agoFROMLIST: phy: Add USB Type-C PHY driver for rk3399
Chris Zhong [Fri, 29 Jul 2016 07:48:20 +0000 (15:48 +0800)]
FROMLIST: phy: Add USB Type-C PHY driver for rk3399

Add a PHY provider driver for the rk3399 SoC Type-c PHY. The USB
Type-C PHY is designed to support the USB3 and DP applications. The
PHY basically has two main components: USB3 and DisplyPort. USB3
operates in SuperSpeed mode and the DP can operate at RBR, HBR and
HBR2 data rates. Hence, create 2 PHY deivces, the phy[0] for DP,
and phy[1] for USB3.

(am from https://patchwork.kernel.org/patch/9260745/)

Change-Id: I0cd851a59c00a1249415da109598007a09088591
Signed-off-by: Chris Zhong <zyw@rock-chips.com>
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
8 years agoFROMLIST: Documentation: bindings: add dt doc for Rockchip USB Type-C PHY
Chris Zhong [Fri, 29 Jul 2016 07:48:19 +0000 (15:48 +0800)]
FROMLIST: Documentation: bindings: add dt doc for Rockchip USB Type-C PHY

This patch adds a binding that describes the Rockchip USB Type-C PHY
for rk3399

(am from https://patchwork.kernel.org/patch/9256943/)

Change-Id: I91d9451126e37ac1786e19f269f547fc0d0df96e
Signed-off-by: Chris Zhong <zyw@rock-chips.com>
Reviewed-by: Tomasz Figa <tfiga@chromium.org>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
Acked-by: Rob Herring <robh@kernel.org>
8 years agoARM64: dts: rk3399: support fusb302 for evb1/2/3
Zain Wang [Thu, 7 Apr 2016 10:05:32 +0000 (18:05 +0800)]
ARM64: dts: rk3399: support fusb302 for evb1/2/3

Change-Id: I27d3c4848466a672b42446cc2b208fed067c4417
Signed-off-by: Zain Wang <wzz@rock-chips.com>
8 years agoarm64: dts: rk3399-mid: add support for new hardware
Bin Yang [Tue, 2 Aug 2016 02:58:26 +0000 (10:58 +0800)]
arm64: dts: rk3399-mid: add support for new hardware

Change-Id: Id832c96aec605f38dfe7639271becdf83740e9f3
Signed-off-by: Bin Yang <yangbin@rock-chips.com>
8 years agoARM64: dts: rk3399: adjust box temperature patameters
buluess.li [Mon, 8 Aug 2016 02:17:00 +0000 (10:17 +0800)]
ARM64: dts: rk3399: adjust box temperature patameters

Change-Id: I24982ee8ccb0fc9cbc92f357661d3b07ca275920
Signed-off-by: buluess.li <buluess.li@rock-chips.com>
8 years agoarm64: dts: rockchip: rk3399: fix pd_sd as sub domain of pd_perihp
Elaine Zhang [Mon, 8 Aug 2016 11:05:30 +0000 (19:05 +0800)]
arm64: dts: rockchip: rk3399: fix pd_sd as sub domain of pd_perihp

Change-Id: I62e53b85444f0f4bbb1d2e786a23ff1f91c89000
Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
8 years agoRevert "driver, iio, mpuxxx: do nothing when fifo count is zero"
Zorro Liu [Fri, 5 Aug 2016 08:54:59 +0000 (16:54 +0800)]
Revert "driver, iio, mpuxxx: do nothing when fifo count is zero"

This reverts commit 98827e305e4c13add79acbfc58f15bd96c09cc92.

Change-Id: I603799406f380fc649083e2ef66e8e78608f378c
Signed-off-by: Zorro Liu <lyx@rock-chips.com>
8 years agoFROMLIST: drm/rockchip: fix fbdev crash when not use DRM_FBDEV_EMULATION
Mark Yao [Thu, 4 Aug 2016 01:40:51 +0000 (09:40 +0800)]
FROMLIST: drm/rockchip: fix fbdev crash when not use DRM_FBDEV_EMULATION

[    1.162571] Unable to handle kernel NULL pointer dereference at virtual address 00000200
[    1.165656] Modules linked in:
[    1.165941] CPU: 5 PID: 143 Comm: kworker/5:2 Not tainted 4.4.15 #237
[    1.166506] Hardware name: Rockchip RK3399 Evaluation Board v1 (Android) (DT)
[    1.167153] Workqueue: events output_poll_execute
[    1.168231] PC is at mutex_lock+0x14/0x44
[    1.168586] LR is at drm_fb_helper_hotplug_event+0x28/0xcc
[    1.172192] [<ffffff8008982110>] mutex_lock+0x14/0x44
[    1.172196] [<ffffff80084025a4>] drm_fb_helper_hotplug_event+0x28/0xcc
[    1.172201] [<ffffff8008427ae4>] rockchip_drm_output_poll_changed+0x14/0x1c
[    1.172204] [<ffffff80083f7c4c>] drm_kms_helper_hotplug_event+0x28/0x34
[    1.172207] [<ffffff80083f7ddc>] output_poll_execute+0x150/0x198
[    1.172212] [<ffffff80080b0ea8>] process_one_work+0x218/0x3dc
[    1.172215] [<ffffff80080b1578>] worker_thread+0x24c/0x374
[    1.172217] [<ffffff80080b5bcc>] kthread+0xdc/0xe4
[    1.172222] [<ffffff8008084cd0>] ret_from_fork+0x10/0x40

Change-Id: I681b9260ad7f2e3cae5cd08a109dad89b3575c2c
Signed-off-by: Mark Yao <mark.yao@rock-chips.com>
(am from https://patchwork.kernel.org/patch/9262523)

8 years agoUPSTREAM: drm/rockchip: Use atomic PM helpers
Tomeu Vizoso [Mon, 6 Jun 2016 14:53:32 +0000 (16:53 +0200)]
UPSTREAM: drm/rockchip: Use atomic PM helpers

This driver was still using the old legacy helpers and that caused a few
NULL dereferences when trying to call empty callbacks.

Change-Id: I9656aed34892260dbf9b571b95befd6af4d9b70f
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Cc: Caesar Wang <wxt@rock-chips.com>
Cc: Douglas Anderson <dianders@chromium.org>
Cc: Heiko Stuebner <heiko@sntech.de>
Cc: Yakir Yang <ykk@rock-chips.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Link: http://patchwork.freedesktop.org/patch/msgid/1465224813-7359-1-git-send-email-tomeu.vizoso@collabora.com
Signed-off-by: Mark Yao <mark.yao@rock-chips.com>
(cherry picked from 5a5873830972e7d8983dd205b3686f728047d556)

8 years agoUPSTREAM: drm/atomic-helper: Implement subsystem-level suspend/resume
Thierry Reding [Wed, 2 Dec 2015 16:50:04 +0000 (17:50 +0100)]
UPSTREAM: drm/atomic-helper: Implement subsystem-level suspend/resume

Provide subsystem-level suspend and resume helpers that can be used to
implement suspend/resume on atomic mode-setting enabled drivers.

v2: simplify locking, enhance kerneldoc comments
v3: pass lock acquisition context by parameter, improve kerneldoc
v4: - remove redundant code (already provided by atomic helpers)
      (Maarten Lankhorst)
    - move backoff dance from drm_modeset_lock_all_ctx() into suspend
      helper (Daniel Vetter)
v5: handle potential EDEADLK from drm_atomic_helper_duplicate_state()
    and drm_atomic_helper_disable_all() (Daniel Vetter)

Change-Id: I58c5b794cdafa6c9f2594376fc2e98918156e409
Signed-off-by: Thierry Reding <treding@nvidia.com>
Link: http://patchwork.freedesktop.org/patch/msgid/1449075005-13937-2-git-send-email-thierry.reding@gmail.com
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: Mark Yao <mark.yao@rock-chips.com>
(cherry picked from 1494276000db789c6d2acd85747be4707051c801)

8 years agoUPSTREAM: drm: Implement drm_modeset_lock_all_ctx()
Thierry Reding [Wed, 2 Dec 2015 16:50:03 +0000 (17:50 +0100)]
UPSTREAM: drm: Implement drm_modeset_lock_all_ctx()

This function is like drm_modeset_lock_all(), but it takes the lock
acquisition context as a parameter rather than storing it in the DRM
device's mode_config structure.

Implement drm_modeset_{,un}lock_all() in terms of the new function for
better code reuse, and add a note to the kerneldoc that new code should
use the new functions.

v2: improve kerneldoc
v4: rename drm_modeset_lock_all_crtcs() to drm_modeset_lock_all_ctx()
    and take mode_config's .connection_mutex instead of .mutex lock to
    avoid lock inversion (Daniel Vetter), use drm_modeset_drop_locks()
    which is now the equivalent of drm_modeset_unlock_all_ctx()
v5: do not take the dev->mode_config.connection_mutex in
    drm_atomic_legacy_backoff() since drm_modeset_lock_all_ctx()
    already keeps it, enhance kerneldoc for drm_modeset_lock_all_ctx()
    (Daniel Vetter)

Change-Id: I1f16f686f77139b749b38c7a3a0dbc0b5d25f6fd
Signed-off-by: Thierry Reding <treding@nvidia.com>
Link: http://patchwork.freedesktop.org/patch/msgid/1449075005-13937-1-git-send-email-thierry.reding@gmail.com
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: Mark Yao <mark.yao@rock-chips.com>
(cherry picked from commit 06eaae46381737a6236ad6fe81e5358fad3bbbe5)

8 years agoARM: dts: rockchip: add supports-sd for rk3288 sdmmc property
Nickey Yang [Mon, 8 Aug 2016 03:30:15 +0000 (11:30 +0800)]
ARM: dts: rockchip: add supports-sd for rk3288 sdmmc property

Change-Id: Iecd1bb362c1437cd9d5d72c4f6ddc7aaad8b5282
Signed-off-by: Nickey Yang <nickey.yang@rock-chips.com>
8 years agoarm64: dts: rockchip: add pd_gmac support for rk3399 gmac
Elaine Zhang [Mon, 8 Aug 2016 02:58:29 +0000 (10:58 +0800)]
arm64: dts: rockchip: add pd_gmac support for rk3399 gmac

Change-Id: Ib26b4364cf9133d04ba252c48e48a157ac8b02eb
Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
8 years agoarm64: dts: rockchip: add pd_usb3 support for rk3399 usb3
Elaine Zhang [Mon, 8 Aug 2016 02:53:32 +0000 (10:53 +0800)]
arm64: dts: rockchip: add pd_usb3 support for rk3399 usb3

Change-Id: Ic0e123b3657039cf3cc7a36589091bf741fffecb
Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
8 years agoarm64: dts: rockchip: add pd_perihp support for rk3399 usb2
Elaine Zhang [Mon, 8 Aug 2016 02:50:28 +0000 (10:50 +0800)]
arm64: dts: rockchip: add pd_perihp support for rk3399 usb2

Change-Id: I3a46d7dfb2846b332c81a5879a12853ce7423180
Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
8 years agoarm64: dts: rockchip: Provide power-domains for sd/sdio/emmc/pcie
Shawn Lin [Mon, 1 Aug 2016 07:26:26 +0000 (15:26 +0800)]
arm64: dts: rockchip: Provide power-domains for sd/sdio/emmc/pcie

The PM domain will be "powered on" once we have registered our PM domain
with genpd and when the device (dw_mmc etc) gets attached to the domain.
The attach occurs when the platform bus'->probe() function get invoked
for the device.

Genpd monitors each device within the domain. To allow it to "power
off", all devices in same domain needs to be runtime PM enabled and
runtime PM suspended.

Due to this, we should be able to deploy genpd support+an updated
DTB, without first having to deploying runtime PM support in the
related drivers. In other words, we could be able to work on these
things almost independently of each other。

So let's only provide power-domains to each devices' node to make
power policy collect the unreferenced ones once avaiable.

But please KEEP IN MIND that this patch doesn't mean we don't support
rpm or any genpd control related stuff on the future, which in other
words means that could be available later.

Change-Id: I1c7b2fdecb7f203d2c35e47892ae5296cfb32884
Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com>
8 years agoarm64: dts: rockchip: add some pd nodes for rk3399 power domain
Elaine Zhang [Mon, 8 Aug 2016 01:59:16 +0000 (09:59 +0800)]
arm64: dts: rockchip: add some pd nodes for rk3399 power domain

add emmc\gmac\usb3\sd\sdioaudio\perihp pd nodes

Change-Id: Ie5f65c19ebd87ef9ca25846674e17cb2018cfbf7
Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
8 years agoarm64: rockchip_defconfig: enable configfs usb gadget rndis
Wu Liang feng [Thu, 4 Aug 2016 12:52:55 +0000 (20:52 +0800)]
arm64: rockchip_defconfig: enable configfs usb gadget rndis

Change-Id: Ie6d90b3dc149a0687776972d8b83023f0c71921b
Signed-off-by: Wu Liang feng <wulf@rock-chips.com>
8 years agoARM64: rockchip_defconfig: enable fusb302 driver
Zain Wang [Thu, 7 Apr 2016 10:35:17 +0000 (18:35 +0800)]
ARM64: rockchip_defconfig: enable fusb302 driver

Change-Id: Iedbf055ff6bef523ed374c7ee265cce703b1702b
Signed-off-by: Zain Wang <wzz@rock-chips.com>
8 years agomfd: add driver for fusb302 Type-C PD
Zain Wang [Fri, 17 Jun 2016 08:51:37 +0000 (16:51 +0800)]
mfd: add driver for fusb302 Type-C PD

New driver only support DRP mode without swap function.
Swap function will be added in later.

Change-Id: I7e0c2c424def069d4be78c3bc8f704c3f7e5be48
Signed-off-by: Zain Wang <wzz@rock-chips.com>
8 years agoDocumentation: bindings: add devicetree bindings for fusb302 drivers
Zain Wang [Thu, 7 Apr 2016 10:29:20 +0000 (18:29 +0800)]
Documentation: bindings: add devicetree bindings for fusb302 drivers

Change-Id: Ifa82d8602d2ee39d43aac6cc98f8a402a0bd67d0
Signed-off-by: Zain Wang <wzz@rock-chips.com>
8 years agoUPSTREAM: nvmem: rockchip-efuse: remove nvmem regmap dependency
Srinivas Kandagatla [Sun, 24 Apr 2016 19:28:11 +0000 (20:28 +0100)]
UPSTREAM: nvmem: rockchip-efuse: remove nvmem regmap dependency

This patch moves to nvmem support in the driver to use callback
instead of regmap.

Change-Id: Ic565b927f985f4ac27367ff0a7042d48716654cc
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
(cherry pick from cc907553ff55dda59c67e09706d3b734d67d0242)

8 years agoUPSTREAM: nvmem: core: remove regmap dependency
Srinivas Kandagatla [Sun, 24 Apr 2016 19:28:05 +0000 (20:28 +0100)]
UPSTREAM: nvmem: core: remove regmap dependency

nvmem uses regmap_raw_read/write apis to read/write data from providers,
regmap raw apis stopped working with recent kernels which removed raw
accessors on mmio bus. This resulted in broken nvmem for providers
which are based on regmap mmio bus. This issue can be fixed temporarly
by moving to other regmap apis, but we might hit same issue in future.
Moving to interfaces based on read/write callbacks from providers would
be more robust.

This patch removes regmap dependency from nvmem and introduces
read/write callbacks from the providers.

Without this patch nvmem providers like qfprom based on regmap mmio
bus would not work.

Change-Id: I510034b1cfe3057ef1e7eb20ad6a4175458f0b2b
Reported-by: Rajendra Nayak <rjendra@qti.qualcomm.com>
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
cherry pick from 795ddd18d38f9762fbfefceab9aa16caef0cf431)

8 years agoUPSTREAM: nvmem: Fix dependencies for !HAS_IOMEM archs
Richard Weinberger [Mon, 22 Feb 2016 11:23:44 +0000 (11:23 +0000)]
UPSTREAM: nvmem: Fix dependencies for !HAS_IOMEM archs

Not every arch has io memory.
So, unbreak the build by fixing the dependencies.

Change-Id: Id5983c06d5b2627516c1622c44231ba426212b9a
Signed-off-by: Richard Weinberger <richard@nod.at>
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
(cherry pick from 5685e24446ab9aa0a529cf87a69ad73f4775888a)

8 years agoUPSTREAM: nvmem: Add backwards compatibility support for older EEPROM drivers.
Andrew Lunn [Fri, 26 Feb 2016 19:59:19 +0000 (20:59 +0100)]
UPSTREAM: nvmem: Add backwards compatibility support for older EEPROM drivers.

Older drivers made an 'eeprom' file available in the /sys device
directory. Have the NVMEM core provide this to retain backwards
compatibility.

Change-Id: I03449b029f7595c291144baea4d5fe9969ad7829
Signed-off-by: Andrew Lunn <andrew@lunn.ch>
Acked-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
(cherry pick from b6c217ab9be6895384cf0b284ace84ad79e5c53b)

8 years agoUPSTREAM: nvmem: Add flag to export NVMEM to root only
Andrew Lunn [Fri, 26 Feb 2016 19:59:18 +0000 (20:59 +0100)]
UPSTREAM: nvmem: Add flag to export NVMEM to root only

Legacy AT24, AT25 EEPROMs are exported in sys so that only root can
read the contents. The EEPROMs may contain sensitive information. Add
a flag so the provide can indicate that NVMEM should also restrict
access to root only.

Change-Id: Ida22fb0ea22aef379e1bd0be241725eb96c31789
Signed-off-by: Andrew Lunn <andrew@lunn.ch>
Acked-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
(cherry pick from 811b0d6538b9f26f3eb0f90fe4e6118f2480ec6f)

8 years agoUPSTREAM: nvmem: core: fix error path in nvmem_add_cells()
Rasmus Villemoes [Mon, 8 Feb 2016 21:04:29 +0000 (22:04 +0100)]
UPSTREAM: nvmem: core: fix error path in nvmem_add_cells()

The current code fails to nvmem_cell_drop(cells[0]) - even worse, if
the loop above fails already at i==0, we'll enter an essentially
infinite loop doing nvmem_cell_drop on cells[-1], cells[-2], ... which
is unlikely to end well.

Also, we're not freeing the temporary backing array cells on the error
path.

Change-Id: I1029a520e86f2c2fd2ad9054037c86b129dde172
Signed-off-by: Rasmus Villemoes <linux@rasmusvillemoes.dk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
(cherry pick from dfdf141429f0895b63c882facc42c86f225033cb)

8 years agoUPSTREAM: nvmem: rockchip: trivial: Make the driver more readability
Caesar Wang [Mon, 14 Dec 2015 09:43:39 +0000 (09:43 +0000)]
UPSTREAM: nvmem: rockchip: trivial: Make the driver more readability

1) Make the include file to sort from order
2) clean up the driver to make more readability

Let's clean up such trivial details.

Change-Id: Ic014bedb7c1ed57a9121afa72eb8c690644ac59f
Signed-off-by: Caesar Wang <wxt@rock-chips.com>
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
(cherry pick from c37ff3fbe06f44e8ec3f8077b3a3c468635a8868)

8 years agoUPSTREAM: nvmem: core: return error for non word aligned access
Srinivas Kandagatla [Tue, 17 Nov 2015 09:12:41 +0000 (09:12 +0000)]
UPSTREAM: nvmem: core: return error for non word aligned access

nvmem providers have restrictions on register strides, so return error
when users attempt to read/write buffers with sizes which are less
than word size.

Without this patch the userspace would continue to try as it does not
get any error from the nvmem core, resulting in a hang or endless loop
in userspace.

Change-Id: Iffb76b5a784a79a008f80281ac64449733b855a6
Reported-by: Ariel D'Alessandro <ariel@vanguardiasur.com.ar>
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
(cherry pick from 2f9ba5b2f8420e0e5712080dafc773f7dd47c3df)

8 years agoarm64: dts: rockchip: Enable rga power domain for rk3399
Zikim,Wei [Thu, 4 Aug 2016 07:06:03 +0000 (15:06 +0800)]
arm64: dts: rockchip: Enable rga power domain for rk3399

Change-Id: Ib75fe7c32b84a210f9e344d37de302888343731a
Signed-off-by: Zikim,Wei <wzq@rock-chips.com>
8 years agoARM: dts: rk3288: support AP6212 wifi for Fennec
Nickey Yang [Thu, 4 Aug 2016 08:13:26 +0000 (16:13 +0800)]
ARM: dts: rk3288: support AP6212 wifi for Fennec

This patch add and enable AP6212 wifi node for rk3288-fennec

Signed-off-by: Nickey Yang <nickey.yang@rock-chips.com>
Change-Id: I0bc77758869665992595c46471fc9bc7f9dff12c

8 years agoARM: configs: enable AP6XXX WiFi in rockchip_linux_defconfig
Nickey Yang [Wed, 3 Aug 2016 12:36:51 +0000 (20:36 +0800)]
ARM: configs: enable AP6XXX WiFi in rockchip_linux_defconfig

This patch enable rkwifi and AP6XXX series wifi chips config

Change-Id: I663df14011ce8402566d62c9e4d9b9a11b274fbe
Signed-off-by: Nickey Yang <nickey.yang@rock-chips.com>
8 years agoARM: dts: rk3288: support AP6335 bt for rk3288-evb
Nickey Yang [Thu, 4 Aug 2016 09:08:02 +0000 (17:08 +0800)]
ARM: dts: rk3288: support AP6335 bt for rk3288-evb

This patch add and enable AP6335 bt node for rk3288-evb

Change-Id: I31fcc8017d9cc52f0394affaba00f1c4c5394b3a
Signed-off-by: Nickey Yang <nickey.yang@rock-chips.com>
8 years agoARM: dts: rk3288: support AP6335 wifi for rk3288-evb
Nickey Yang [Thu, 4 Aug 2016 09:06:32 +0000 (17:06 +0800)]
ARM: dts: rk3288: support AP6335 wifi for rk3288-evb

This patch add and enable AP6335 wifi node for rk3288-evb

Change-Id: I49e7f6a67130a105579627d30db55010967da57a
Signed-off-by: Nickey Yang <nickey.yang@rock-chips.com>
8 years agommc: core: need retune if error value is -EIO
xiaoyao [Thu, 4 Aug 2016 09:02:59 +0000 (17:02 +0800)]
mmc: core: need retune if error value is -EIO

We need to do retune if receiving -EIO, otherwise we
could see debug dump like:

[ 89.057226] bcmsdh_sdmmc: Failed to Read byte F1:@0x1001f=ff, Err: -5
[ 89.058811] bcmsdh_sdmmc: Failed to Read byte F1:@0x1001f=ff, Err: -5
[ 89.059415] bcmsdh_sdmmc: Failed to Read byte F1:@0x1000e=ff, Err: -84
[ 89.254248] dwmmc_rockchip fe310000.dwmmc: Successfully tuned phase to 199
[ 89.273912] dhd_set_suspend: Remove extra suspend setting
[ 89.274478] dhd_enable_packet_filter: enter, value = 0
64 bytes from 112.90.83.112: icmp_seq=24 ttl=53 time=1321 ms
64 bytes from 112.90.83.112: icmp_seq=25 ttl=53 time=319 ms
64 bytes from 112.90.83.112: icmp_seq=26 ttl=53 time=69.8 ms
64 bytes from 112.90.83.112: icmp_seq=27 ttl=53 time=37.5 ms
...

In this case we see dw_mmc finally enter retune process, but
if this patch is applied, we could save more time to make it
work. Also many host drivers will generate -EIO, so this patch
can also prevent them from failing to enter retune process.

Change-Id: Iba59817fc4677a52bacc857bc99088d1f7790450
Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com>
Signed-off-by: xiaoyao <xiaoyao@rock-chips.com>
8 years agoFROMLIST: extcon: Add EXTCON_DISP_DP and the property for USB Type-C
Chris Zhong [Thu, 21 Jul 2016 16:13:02 +0000 (01:13 +0900)]
FROMLIST: extcon: Add EXTCON_DISP_DP and the property for USB Type-C

Add EXTCON_DISP_DP for the Display external connector. For Type-C
connector the DisplayPort can work as an Alternate Mode(VESA DisplayPort
Alt Mode on USB Type-C Standard). The Type-C support both normal
and flipped orientation, so add a property to extcon.

Change-Id: I490f82cdf278aa84db9c21ba8d0b7b0e9dfa4cff
Signed-off-by: Chris Zhong <zyw@rock-chips.com>
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
Tested-by: Chris Zhong <zyw@rock-chips.com>
Tested-by: Guenter Roeck <groeck@chromium.org>
Reviewed-by: Guenter Roeck <groeck@chromium.org>
(cherry picked from commit e49de5133573
 git://git.kernel.org/pub/scm/linux/kernel/git/chanwoo/extcon.git extcon-test)
Signed-off-by: Guenter Roeck <groeck@chromium.org>
8 years agoFROMLIST: extcon: Add the synchronization extcon APIs to support the notification
Chanwoo Choi [Fri, 22 Jul 2016 04:16:34 +0000 (13:16 +0900)]
FROMLIST: extcon: Add the synchronization extcon APIs to support the notification

This patch adds the synchronization extcon APIs to support the notifications
for both state and property. When extcon_*_sync() functions is called,
the extcon informs the information from extcon provider to extcon client.

The extcon driver may need to change the both state and multiple properties
at the same time. After setting the data of a external connector,
the extcon send the notification to client driver with the extcon_*_sync().

The list of new extcon APIs as following:
- extcon_sync() : Send the notification for each external connector to
synchronize the information between extcon provider driver
and extcon client driver.
- extcon_set_state_sync() : Set the state of external connector with noti.
- extcon_set_property_sync() : Set the property of external connector with noti.

For example,
case 1, change the state of external connector and synchronized the data.
extcon_set_state_sync(edev, EXTCON_USB, 1);

case 2, change both the state and property of external connector
and synchronized the data.
extcon_set_state(edev, EXTCON_USB, 1);
extcon_set_property(edev, EXTCON_USB, EXTCON_PROP_USB_ID, 1);
extcon_sync(edev, EXTCON_USB);

case 3, change the property of external connector and synchronized the data.
extcon_set_property(edev, EXTCON_USB, EXTCON_PROP_USB_VBUS, 0);
extcon_set_property(edev, EXTCON_USB, EXTCON_PROP_USB_ID, 1);
extcon_sync(edev, EXTCON_USB);

case 4, change the property of external connector and synchronized the data.
extcon_set_property_sync(edev, EXTCON_USB, EXTCON_PROP_USB_VBUS, 0);

Change-Id: Id8c04a88f28b8f3428afae122a761ff1d27a485f
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
Tested-by: Chris Zhong <zyw@rock-chips.com>
Tested-by: Guenter Roeck <groeck@chromium.org>
Reviewed-by: Guenter Roeck <groeck@chromium.org>
(cherry picked from commit cc3e39670d41
 git://git.kernel.org/pub/scm/linux/kernel/git/chanwoo/extcon.git extcon-test)
Signed-off-by: Guenter Roeck <groeck@chromium.org>
8 years agoFROMLIST: extcon: Rename the extcon_set/get_state() to maintain the function naming...
Chanwoo Choi [Fri, 22 Jul 2016 04:03:17 +0000 (13:03 +0900)]
FROMLIST: extcon: Rename the extcon_set/get_state() to maintain the function naming pattern

This patch just renames the existing extcon_get/set_cable_state_()
as following because of maintaining the function naming pattern
like as extcon APIs for property.
- extcon_set_cable_state_() -> extcon_set_state()
- extcon_get_cable_state_() -> extcon_get_state()

But, this patch remains the old extcon_set/get_cable_state_() functions
to prevent the build break. After altering new APIs, remove the old APIs.

Change-Id: I9dfdf0e254d2f598ca81836ec2a6a136da4fd8ba
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
Tested-by: Chris Zhong <zyw@rock-chips.com>
Tested-by: Guenter Roeck <groeck@chromium.org>
Reviewed-by: Guenter Roeck <groeck@chromium.org>
(cherry picked from commit 1bbc8c29be69
 git://git.kernel.org/pub/scm/linux/kernel/git/chanwoo/extcon.git extcon-test)
Signed-off-by: Guenter Roeck <groeck@chromium.org>
8 years agoFROMLIST: extcon: Add the support for the capability of each property
Chanwoo Choi [Mon, 25 Jul 2016 12:15:19 +0000 (21:15 +0900)]
FROMLIST: extcon: Add the support for the capability of each property

This patch adds the support of the property capability setting. This function
decides the supported properties of each external connector on extcon provider
driver.

Ths list of new extcon APIs to get/set the capability of property as following:
- int extcon_get_property_capability(struct extcon_dev *edev,
unsigned int id, unsigned int prop);
- int extcon_set_property_capability(struct extcon_dev *edev,
unsigned int id, unsigned int prop);

Change-Id: I6b8b41de70f2bccc7b996592ec9a2a008730f45d
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
Tested-by: Chris Zhong <zyw@rock-chips.com>
Tested-by: Guenter Roeck <groeck@chromium.org>
Reviewed-by: Guenter Roeck <groeck@chromium.org>
(cherry picked from commit e4a095473938
 git://git.kernel.org/pub/scm/linux/kernel/git/chanwoo/extcon.git extcon-test)
Signed-off-by: Guenter Roeck <groeck@chromium.org>