firefly-linux-kernel-4.4.55.git
8 years agodrivers: firmware: psci: notify regulators on system-suspend
Heiko Stuebner [Wed, 16 Mar 2016 11:18:43 +0000 (12:18 +0100)]
drivers: firmware: psci: notify regulators on system-suspend

On some systems regulators need to do special actions on suspend/resume.
These get set from the generic regulator_suspend_prepare and
regulator_suspend_finish functions so these should be called from the
psci suspend ops as well.

Change-Id: I6fbf7b39ceae936ed5bd9df6719ccd3cd360840f
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
Signed-off-by: Shengfei xu <xsf@rock-chips.com>
8 years agoARM64: dts: rk3399: add some properties to config dwc3
Wu Liang feng [Thu, 24 Mar 2016 11:39:15 +0000 (19:39 +0800)]
ARM64: dts: rk3399: add some properties to config dwc3

RK3399 dwc3 has some hardware properties, which is platform
dependent, including the following properties:
1. Set PHYIF to 1 to use 16-bit UTMI+ interface;
2. Clear ENBLSLPM to 0 to disable sleep and l1 suspend;
3. Clear U2_FREECLK_EXITSTS to 0;
4. Clear DEV_FORCE_20_CLK_FOR_30_CLK to 0;
5. Clear DELAYP1TRANS to 0;

Change-Id: I85de326e3c2177c66966f1239bcab838df01492d
Signed-off-by: Wu Liang feng <wulf@rock-chips.com>
8 years agousb: dwc3: add dis_del_phy_power_chg_quirk
Wu Liang feng [Thu, 24 Mar 2016 11:25:08 +0000 (19:25 +0800)]
usb: dwc3: add dis_del_phy_power_chg_quirk

Add a quirk to clear the GUSB3PIPECTL.DELAYP1TRANS bit,
which specifies whether delay PHY power change from P0
to P1/P2/P3 when link state changing from U0 to U1/U2/U3
respectively.

Change-Id: I23e33f8b13001d6f86d6473ad43a261d9bda8f79
Signed-off-by: Wu Liang feng <wulf@rock-chips.com>
8 years agousb: dwc3: add DWC3_GUCTL1 reg
Wu Liang feng [Thu, 24 Mar 2016 08:20:17 +0000 (16:20 +0800)]
usb: dwc3: add DWC3_GUCTL1 reg

Change-Id: I67dfabf539b85281904b9c4dfbc764bacecb7ac3
Signed-off-by: Wu Liang feng <wulf@rock-chips.com>
8 years agoclk: rockchip: rk3399: add peri hp/lp0/lp1 noc clocks into critical
Xing Zheng [Thu, 24 Mar 2016 12:52:20 +0000 (20:52 +0800)]
clk: rockchip: rk3399: add peri hp/lp0/lp1 noc clocks into critical

Change-Id: Id136016c27b17944fc33a848fb137c3452dd6289
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
8 years agoclk: rockchip: rk3399: Keep critical independently for the PMUCRU and CRU
Xing Zheng [Thu, 24 Mar 2016 11:58:00 +0000 (19:58 +0800)]
clk: rockchip: rk3399: Keep critical independently for the PMUCRU and CRU

Fix add critical clock for PMUCRU too late in the rk3399_clk_init. It
will be crash if there is one clock want to disable its parent which is
the PPLL.

Change-Id: I3fa236ab78571c8c8ec5d423228d00dbb02f24e6
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
8 years agoUPSTREAM: ASoC: rt5640: Correct the digital interface data select
Sugar Zhang [Fri, 18 Mar 2016 06:54:22 +0000 (14:54 +0800)]
UPSTREAM: ASoC: rt5640: Correct the digital interface data select

this patch corrects the interface adc/dac control register definition
according to datasheet.

Change-Id: I0777577d365140b642141596112b662d3a80538b
Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Cc: stable@vger.kernel.org
(cherry picked from git.kernel.org broonie/sound.git for-next
 commit 653aa4645244042826f105aab1be3d01b3d493ca)

8 years agoARM64: dts: rockchip: rk3399: set each cpu's opp-microvolt to 900000uV
Finley Xiao [Thu, 24 Mar 2016 08:25:00 +0000 (16:25 +0800)]
ARM64: dts: rockchip: rk3399: set each cpu's opp-microvolt to 900000uV

In order to lower the temperature, lower the voltage.

Change-Id: Iae2d103c88ab5b72c3d003c1f84f74e1694c7e1e
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
8 years agoclk: rockchip: rk3399: fix PPLL is redefined and ID shouldn't be 0
Xing Zheng [Thu, 24 Mar 2016 08:01:36 +0000 (16:01 +0800)]
clk: rockchip: rk3399: fix PPLL is redefined and ID shouldn't be 0

PPLL is 8 and redefined by SCLK_I2C4_PMU, and clock IDs shouldn't be 0.

Change-Id: I50f89487034c1f1ef41d257de00b7f3ec53f7f4c
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
8 years agousb: dwc3: make usb2 phy interface configurable in DT
Wu Liang feng [Thu, 24 Mar 2016 07:38:02 +0000 (15:38 +0800)]
usb: dwc3: make usb2 phy interface configurable in DT

Add snps,phyif_utmi_16_bits devicetree property. USB2 phy
interface is hardware property, and it's platform dependent,
so we need to configure it in devicetree to set the core to
support a UTMI+ PHY with an 8- or 16-bit interface.

And according to dwc3 databook, the GUSB2PHYCFG.USBTRDTIM
must set to the required values for the usb2 phy interface.

Change-Id: If1c636edc6be3c9a79b4b0b89737a925d8dd3abe
Signed-off-by: Wu Liang feng <wulf@rock-chips.com>
8 years agousb: dwc3: add dis_u2_freeclk_exists_quirk
Wu Liang feng [Thu, 24 Mar 2016 05:00:48 +0000 (13:00 +0800)]
usb: dwc3: add dis_u2_freeclk_exists_quirk

Add a quirk to clear the GUSB2PHYCFG.U2_FREECLK_EXISTS bit,
which specifies whether the USB2.0 PHY provides a free-running
PHY clock, which is active when the clock control input is active.

Change-Id: I84ea6eeccb9fc2ea6d13ef586f1166d5fa132606
Signed-off-by: Wu Liang feng <wulf@rock-chips.com>
8 years agoMerge branch 'linux-linaro-lsk-v4.4-android' of git://git.linaro.org/kernel/linux...
Huang, Tao [Thu, 24 Mar 2016 07:45:58 +0000 (15:45 +0800)]
Merge branch 'linux-linaro-lsk-v4.4-android' of git://git.linaro.org/kernel/linux-linaro-stable.git

* linux-linaro-lsk-v4.4-android: (477 commits)
  arm64: vdso: Mark vDSO code as read-only
  ARM/vdso: Mark the vDSO code read-only after init
  x86/vdso: Mark the vDSO code read-only after init
  lkdtm: Verify that '__ro_after_init' works correctly
  arch: Introduce post-init read-only memory
  x86/mm: Always enable CONFIG_DEBUG_RODATA and remove the Kconfig option
  mm/init: Add 'rodata=off' boot cmdline parameter to disable read-only kernel mappings
  asm-generic: Consolidate mark_rodata_ro()
  Linux 4.4.6
  ld-version: Fix awk regex compile failure
  target: Drop incorrect ABORT_TASK put for completed commands
  block: don't optimize for non-cloned bio in bio_get_last_bvec()
  MIPS: smp.c: Fix uninitialised temp_foreign_map
  MIPS: Fix build error when SMP is used without GIC
  ovl: fix getcwd() failure after unsuccessful rmdir
  ovl: copy new uid/gid into overlayfs runtime inode
  userfaultfd: don't block on the last VM updates at exit time
  powerpc/powernv: Fix OPAL_CONSOLE_FLUSH prototype and usages
  powerpc/powernv: Add a kmsg_dumper that flushes console output on panic
  powerpc: Fix dedotify for binutils >= 2.26
  ...

8 years agoARM64: dts: rockchip: rk3399: add cpul/cpub assingment clk rate
Elaine Zhang [Thu, 24 Mar 2016 06:34:41 +0000 (14:34 +0800)]
ARM64: dts: rockchip: rk3399: add cpul/cpub assingment clk rate

set clk_cpul:816M clk_cpub:1008M when clk tree init

Change-Id: I8f493ce8479fc670aa05d651db5be354d6870c98
Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
8 years agoARM64: dts: rk3399-tb: limit emmc freq to 50MHz
Shawn Lin [Thu, 24 Mar 2016 03:45:00 +0000 (11:45 +0800)]
ARM64: dts: rk3399-tb: limit emmc freq to 50MHz

Change-Id: Ib9b7c7d7574077e9c265e292b61e6eb0a4511bd8
Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com>
8 years agoclk: rockchip: rk3399: fix the incorrect name of uart1~3
Xing Zheng [Thu, 24 Mar 2016 01:52:33 +0000 (09:52 +0800)]
clk: rockchip: rk3399: fix the incorrect name of uart1~3

Change-Id: I32764eb21d31e4527dc90239cb3d4a450f2def6d
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
8 years agoARM64: dts: rk3366: update gpu's opp table
Rocky Hao [Wed, 23 Mar 2016 10:24:45 +0000 (18:24 +0800)]
ARM64: dts: rk3366: update gpu's opp table

Change-Id: I1c3ccc7b896b4fe95f834a957a4ebe2aef482806
Signed-off-by: Rocky Hao <rocky.hao@rock-chips.com>
8 years agoARM64: defconfig: add the basic config for 3399 ChromeOS
ZhengShunQian [Wed, 23 Mar 2016 09:53:40 +0000 (17:53 +0800)]
ARM64: defconfig: add the basic config for 3399 ChromeOS

With this defconfig which inherits from rockchip_defconfig,
ChromeOS boots up to command line.

Change-Id: I646fea9b26d9c235da16d0d2b559290ee5029a12
Signed-off-by: ZhengShunQian <zhengsq@rock-chips.com>
8 years agoARM64: dts: rk3366-tb: add regulator-ramp-delay of vdd_arm
Jianhong Chen [Wed, 23 Mar 2016 09:05:37 +0000 (17:05 +0800)]
ARM64: dts: rk3366-tb: add regulator-ramp-delay of vdd_arm

Change-Id: If4eb8f964592d2f6c0e418659b12f672dc9abb94
Signed-off-by: Jianhong Chen <chenjh@rock-chips.com>
8 years agoDocumentation: bindings: add compatible entry for Rockchip USB2.0 PHY
Frank Wang [Wed, 23 Mar 2016 07:30:02 +0000 (15:30 +0800)]
Documentation: bindings: add compatible entry for Rockchip USB2.0 PHY

1. Compatible "rockchip,rk3399-usb-phy" support to RK3399;
2. Add host_drv_gpio optional property for usb2.0 vbus control.

Change-Id: Idfc6898ca2c519c46dae66d396f501b38e8d73bd
Signed-off-by: Frank Wang <frank.wang@rock-chips.com>
8 years agoARM64: rockchip_defconfig: enable dwc3 and xhci drivers
Wu Liang feng [Wed, 23 Mar 2016 08:35:18 +0000 (16:35 +0800)]
ARM64: rockchip_defconfig: enable dwc3 and xhci drivers

Change-Id: I3c3dae4bf999cb3e7141d88bdfa60e50ab46e2fd
Signed-off-by: Wu Liang feng <wulf@rock-chips.com>
8 years agousb: dwc3: rockchip: Add device tree binding
Wu Liang feng [Wed, 23 Mar 2016 08:25:57 +0000 (16:25 +0800)]
usb: dwc3: rockchip: Add device tree binding

Rockchip USB3.0 core wrapper consist of USB3.0 IP from Synopsys
(SNPS) and HS, SS PHY's control and configuration registers.

Change-Id: I116b66c3b417cfecc968414db9912813a0ef2c5d
Signed-off-by: Wu Liang feng <wulf@rock-chips.com>
8 years agousb: dwc3: of-simple: add compatible for rk3399
Wu Liang feng [Wed, 23 Mar 2016 07:45:52 +0000 (15:45 +0800)]
usb: dwc3: of-simple: add compatible for rk3399

Change-Id: I0a74fcd97c5be7887b4d14bb708a58a10f70e71c
Signed-off-by: Wu Liang feng <wulf@rock-chips.com>
8 years agoARM64: dts: rk3399: enable usbdrd3_0 and usbdrd3_1
Wu Liang feng [Wed, 23 Mar 2016 07:42:53 +0000 (15:42 +0800)]
ARM64: dts: rk3399: enable usbdrd3_0 and usbdrd3_1

Change-Id: I2321c1b0651a1a0ad1352e1409d8c9cef1428a67
Signed-off-by: Wu Liang feng <wulf@rock-chips.com>
8 years agoARM64: dts: rk3399: add usbdrd3_0 and usbdrd3_1 nodes
Wu Liang feng [Wed, 23 Mar 2016 07:40:15 +0000 (15:40 +0800)]
ARM64: dts: rk3399: add usbdrd3_0 and usbdrd3_1 nodes

Change-Id: I4b940966e3b054e072de90f6943ab20006848495
Signed-off-by: Wu Liang feng <wulf@rock-chips.com>
8 years agoARM64: dts: rk3366: update cpu's opp table
Rocky Hao [Wed, 23 Mar 2016 03:12:02 +0000 (11:12 +0800)]
ARM64: dts: rk3366: update cpu's opp table

Change-Id: Id0d722d90672f78941073a4ad7e45615893b1e90
Signed-off-by: Rocky Hao <rocky.hao@rock-chips.com>
8 years agoARM64: rockchip_defconfig: enable rk808 regulator
Elaine Zhang [Wed, 23 Mar 2016 06:25:10 +0000 (14:25 +0800)]
ARM64: rockchip_defconfig: enable rk808 regulator

set CONFIG_REGULATOR_RK808=y

Change-Id: I9cfc60fc82a4cb7dc4056bd13f3d678d6a0f7faf
Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
8 years agoclk: rockchip: fix pmu cru register name error
Xing Zheng [Wed, 23 Mar 2016 03:32:52 +0000 (11:32 +0800)]
clk: rockchip: fix pmu cru register name error

Change-Id: I4ab865326657dceaf8759b37d02d80de9e3071c0
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
8 years agoclk: rockchip: add some clock IDs for reference
Xing Zheng [Wed, 23 Mar 2016 03:01:02 +0000 (11:01 +0800)]
clk: rockchip: add some clock IDs for reference

Change-Id: I8ce291b7145a56aea9d8f5b5742506a581f26912
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
8 years agoclk: rockchip: fix PLL table and add pclk DFLAG for rk3399
Xing Zheng [Wed, 23 Mar 2016 02:31:56 +0000 (10:31 +0800)]
clk: rockchip: fix PLL table and add pclk DFLAG for rk3399

Change-Id: Id89c7099b24fdcff967528a3741af2e84fa1a754
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
8 years agovideo: rockchip: fb: the default state of FBDC is closed
Huang Jiachai [Mon, 21 Mar 2016 07:19:59 +0000 (15:19 +0800)]
video: rockchip: fb: the default state of FBDC is closed

Change-Id: I6c1a4e47daa00089bfeb7b7316dbe6bac4409a5c
Signed-off-by: Huang Jiachai <hjc@rock-chips.com>
8 years agovideo: rockchip: lcdc: 3368: update for FBDC
Huang Jiachai [Mon, 21 Mar 2016 07:11:42 +0000 (15:11 +0800)]
video: rockchip: lcdc: 3368: update for FBDC

FBDC state |= win[i]->area[0]->fbdc_en;

Change-Id: I2ddfdea66061ad67b876369c130b8cfa6e3bda55
Signed-off-by: Huang Jiachai <hjc@rock-chips.com>
8 years agovideo: rockchip: fb: init saved_list
Huang Jiachai [Mon, 21 Mar 2016 01:10:40 +0000 (09:10 +0800)]
video: rockchip: fb: init saved_list

Change-Id: I2da026cfcef25c6ae44356d0c3869e482cb97e11
Signed-off-by: Huang Jiachai <hjc@rock-chips.com>
8 years agovideo: rockchip: lcdc: 3366: add more format for gather
Huang Jiachai [Mon, 21 Mar 2016 01:01:07 +0000 (09:01 +0800)]
video: rockchip: lcdc: 3366: add more format for gather

Change-Id: I5d20a52f1bd680af4083672b0607fa95332d7146
Signed-off-by: Huang Jiachai <hjc@rock-chips.com>
8 years agoiommu: rk-iovmm: change compatible name to a unified name
Simon [Tue, 22 Mar 2016 01:40:40 +0000 (09:40 +0800)]
iommu: rk-iovmm: change compatible name to a unified name

To make android platform iommu work well, we need a unified compatible
name to match the new iommu definition in dtsi

Change-Id: Ied581653e1261fd0a21577f4e9ce3b915af135cd
Signed-off-by: Simon <xxm@rock-chips.com>
8 years agovideo: rockchip: mipi: remove the function of get dsi host id
xubilv [Tue, 22 Mar 2016 07:48:13 +0000 (15:48 +0800)]
video: rockchip: mipi: remove the function of get dsi host id

The rk3288, rk3368 and rk3366 have the same physical dsi id 0x3133302A,
so do not need to get dsi host id.

Change-Id: I0de1e9b7c0250b37ffdc2c39155c5f16afb48956
Signed-off-by: xubilv <xbl@rock-chips.com>
8 years agoARM64: dts: rk3366: mipi: modify compatible
xubilv [Tue, 22 Mar 2016 06:57:36 +0000 (14:57 +0800)]
ARM64: dts: rk3366: mipi: modify compatible

Change-Id: I05bb54c00019310fb57a0bc3fb0bd365aaed10dd
Signed-off-by: xubilv <xbl@rock-chips.com>
8 years agovideo: rockchip: rk3366: add mipi support
xubilv [Tue, 22 Mar 2016 06:55:24 +0000 (14:55 +0800)]
video: rockchip: rk3366: add mipi support

Change-Id: Ibf70a23ba2fe02cff5e66932bc802264768d05cf
Signed-off-by: xubilv <xbl@rock-chips.com>
8 years agoARM64: dts: rk3366: assign rates for aclk_bus and aclk_peri
Feng Xiao [Wed, 23 Mar 2016 02:54:49 +0000 (10:54 +0800)]
ARM64: dts: rk3366: assign rates for aclk_bus and aclk_peri

Assign rates for aclk_bus and aclk_peri according to our original design.

Change-Id: Iab4961d485421151be5dbdacf6929800150ab342
Signed-off-by: Feng Xiao <xf@rock-chips.com>
8 years agoclk: rockchip: rk3366: modify cpuclk_rate_table
Feng Xiao [Wed, 23 Mar 2016 03:13:11 +0000 (11:13 +0800)]
clk: rockchip: rk3366: modify cpuclk_rate_table

add 1296MHz, 1104MHz and 216MHz to the cpuclk_rate_table list

Change-Id: I1ea7ee432b7c69b89cb3c11a74e67d9d6af1a5dd
Signed-off-by: Feng Xiao <xf@rock-chips.com>
8 years agoclk: rockchip: fix big/LITTLE cores alternate parent failed
Xing Zheng [Tue, 22 Mar 2016 12:45:40 +0000 (20:45 +0800)]
clk: rockchip: fix big/LITTLE cores alternate parent failed

Change-Id: Iebe33903ad5a06f276454ffe12654866bd9567eb
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
8 years agoclk: rockchip: fix pclk_pmu_src clock for rk3399
Xing Zheng [Tue, 22 Mar 2016 12:30:38 +0000 (20:30 +0800)]
clk: rockchip: fix pclk_pmu_src clock for rk3399

Change-Id: I1e9c04366af370664d864d2877fa87a385da44a6
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
8 years agoclk: rockchip: fix uart4_pmu and mipidphy_ref clock for rk3399
Xing Zheng [Tue, 22 Mar 2016 11:50:26 +0000 (19:50 +0800)]
clk: rockchip: fix uart4_pmu and mipidphy_ref clock for rk3399

Change-Id: I307e4480cb4eb52c447b2db47643b478d4292500
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
8 years agovideo: rockchip: hdmi: v2: modify phy reg to pass CTS signal quality test
xuhuicong [Mon, 21 Mar 2016 07:21:49 +0000 (15:21 +0800)]
video: rockchip: hdmi: v2: modify phy reg to pass CTS signal quality test

Change-Id: Ife9f9808dcc29320f628bf91005e16f22bbe3c50
Signed-off-by: xuhuicong <xhc@rock-chips.com>
8 years agoARM64: dts: rk3399-tb: enable emmc_phy and sdhci
Shawn Lin [Tue, 22 Mar 2016 11:26:35 +0000 (19:26 +0800)]
ARM64: dts: rk3399-tb: enable emmc_phy and sdhci

Change-Id: I0693b5e3f194b3fb0aed73784d0242ebf89d4ebe
Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com>
8 years agoARM64: dts: rk3366: assigned parents for clk_32k
Feng Xiao [Mon, 14 Mar 2016 10:01:44 +0000 (18:01 +0800)]
ARM64: dts: rk3366: assigned parents for clk_32k

Change-Id: I1742823658aa46226e3112969d3eabc695921fb5
Signed-off-by: Feng Xiao <xf@rock-chips.com>
8 years agoARM64: dts: rk3366: assigned parents for vop dclks
Feng Xiao [Mon, 14 Mar 2016 09:52:04 +0000 (17:52 +0800)]
ARM64: dts: rk3366: assigned parents for vop dclks

For sheep board, we have decided to assign vop full for
use with HDMI. And we can also change it in the board
dts in the further.

Change-Id: Id966615c84cef50f0e8d849e3840434ba7f7b7ec
Signed-off-by: Feng Xiao <xf@rock-chips.com>
8 years agoclk: rockchip: rk3366: leave npll for VOP only
Feng Xiao [Mon, 14 Mar 2016 08:11:26 +0000 (16:11 +0800)]
clk: rockchip: rk3366: leave npll for VOP only

We will need a pll to support all kinds of clock rate requirement
for HDMI which may change the rate at run time.

In order not to affect other clocks, remove the npll from the
parent list of other clocks and only DCLK_VOP(FULL or LITE) can
select npll as parent. Also add the ability for DCLK_VOP to set
the rate of its parent (which is now forced to NPLL).

Change-Id: I1e13ef1c4f1b9728f9c173454d5056780c47a95e
Signed-off-by: Feng Xiao <xf@rock-chips.com>
8 years agophy: rockchip-emmc: add init function
Shawn Lin [Tue, 22 Mar 2016 10:53:00 +0000 (18:53 +0800)]
phy: rockchip-emmc: add init function

We need to init some signal related stuff
to make sure the SI meet the requirement.

Change-Id: I829203fb9cd2e93aa6acaa5288667f600370d781
Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com>
8 years agoarm64: dts: rockchip: add compatible for rk3399evb board
ZhengShunQian [Tue, 22 Mar 2016 03:05:49 +0000 (11:05 +0800)]
arm64: dts: rockchip: add compatible for rk3399evb board

Coreboot choose dtb by its compatible string.
Add "google,rk3399evb-rev*" accordingly.

Support more versions for rk3399evb in the future.
If we later find we need to introduce differences between versions,
it's easy to change things.

Change-Id: I049b4f113b1694577a1f0be68f6b635ae13653c0
Signed-off-by: ZhengShunQian <zhengsq@rock-chips.com>
8 years agoclk: rockchip: fix cci src clocks for rk3399
Xing Zheng [Tue, 22 Mar 2016 09:55:10 +0000 (17:55 +0800)]
clk: rockchip: fix cci src clocks for rk3399

Change-Id: I9c22a270c64feaf52436117e47fb874000361100
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
8 years agoclk: rockchip: add some critical clocks for rk3399
Xing Zheng [Tue, 22 Mar 2016 08:59:55 +0000 (16:59 +0800)]
clk: rockchip: add some critical clocks for rk3399

Change-Id: I1a04f11f881764929d9e5801626ce398bc3b193e
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
8 years agoclk: rockchip: update dt-binding header for rk3399 pmucru IDs
Xing Zheng [Tue, 22 Mar 2016 08:59:01 +0000 (16:59 +0800)]
clk: rockchip: update dt-binding header for rk3399 pmucru IDs

Change-Id: I302dc97a3ec5ef5cd7609ecff929c6fea25f005b
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
8 years agoMerge branch 'linux-linaro-lsk-v4.4' into linux-linaro-lsk-v4.4-android
Alex Shi [Tue, 22 Mar 2016 06:56:54 +0000 (14:56 +0800)]
Merge branch 'linux-linaro-lsk-v4.4' into linux-linaro-lsk-v4.4-android

8 years agoMerge branch 'v4.4/topic/ro-vdso' into linux-linaro-lsk-v4.4
Alex Shi [Tue, 22 Mar 2016 06:56:29 +0000 (14:56 +0800)]
Merge branch 'v4.4/topic/ro-vdso' into linux-linaro-lsk-v4.4

8 years agoarm64: vdso: Mark vDSO code as read-only
David Brown [Mon, 21 Mar 2016 20:16:37 +0000 (14:16 -0600)]
arm64: vdso: Mark vDSO code as read-only

commit 88d8a7994e564d209d4b2583496631c2357d386b upstream.

Although the arm64 vDSO is cleanly separated by code/data with the
code being read-only in userspace mappings, the code page is still
writable from the kernel.  There have been exploits (such as
http://itszn.com/blog/?p=21) that take advantage of this on x86 to go
from a bad kernel write to full root.

Prevent this specific exploit on arm64 by putting the vDSO code page
in read-only memory as well.

Before the change:
[    3.138366] vdso: 2 pages (1 code @ ffffffc000a71000, 1 data @ ffffffc000a70000)
---[ Kernel Mapping ]---
0xffffffc000000000-0xffffffc000082000         520K     RW NX SHD AF            UXN MEM/NORMAL
0xffffffc000082000-0xffffffc000200000        1528K     ro x  SHD AF            UXN MEM/NORMAL
0xffffffc000200000-0xffffffc000800000           6M     ro x  SHD AF        BLK UXN MEM/NORMAL
0xffffffc000800000-0xffffffc0009b6000        1752K     ro x  SHD AF            UXN MEM/NORMAL
0xffffffc0009b6000-0xffffffc000c00000        2344K     RW NX SHD AF            UXN MEM/NORMAL
0xffffffc000c00000-0xffffffc008000000         116M     RW NX SHD AF        BLK UXN MEM/NORMAL
0xffffffc00c000000-0xffffffc07f000000        1840M     RW NX SHD AF        BLK UXN MEM/NORMAL
0xffffffc800000000-0xffffffc840000000           1G     RW NX SHD AF        BLK UXN MEM/NORMAL
0xffffffc840000000-0xffffffc87ae00000         942M     RW NX SHD AF        BLK UXN MEM/NORMAL
0xffffffc87ae00000-0xffffffc87ae70000         448K     RW NX SHD AF            UXN MEM/NORMAL
0xffffffc87af80000-0xffffffc87af8a000          40K     RW NX SHD AF            UXN MEM/NORMAL
0xffffffc87af8b000-0xffffffc87b000000         468K     RW NX SHD AF            UXN MEM/NORMAL
0xffffffc87b000000-0xffffffc87fe00000          78M     RW NX SHD AF        BLK UXN MEM/NORMAL
0xffffffc87fe00000-0xffffffc87ff50000        1344K     RW NX SHD AF            UXN MEM/NORMAL
0xffffffc87ff90000-0xffffffc87ffa0000          64K     RW NX SHD AF            UXN MEM/NORMAL
0xffffffc87fff0000-0xffffffc880000000          64K     RW NX SHD AF            UXN MEM/NORMAL

After:
[    3.138368] vdso: 2 pages (1 code @ ffffffc0006de000, 1 data @ ffffffc000a74000)
---[ Kernel Mapping ]---
0xffffffc000000000-0xffffffc000082000         520K     RW NX SHD AF            UXN MEM/NORMAL
0xffffffc000082000-0xffffffc000200000        1528K     ro x  SHD AF            UXN MEM/NORMAL
0xffffffc000200000-0xffffffc000800000           6M     ro x  SHD AF        BLK UXN MEM/NORMAL
0xffffffc000800000-0xffffffc0009b8000        1760K     ro x  SHD AF            UXN MEM/NORMAL
0xffffffc0009b8000-0xffffffc000c00000        2336K     RW NX SHD AF            UXN MEM/NORMAL
0xffffffc000c00000-0xffffffc008000000         116M     RW NX SHD AF        BLK UXN MEM/NORMAL
0xffffffc00c000000-0xffffffc07f000000        1840M     RW NX SHD AF        BLK UXN MEM/NORMAL
0xffffffc800000000-0xffffffc840000000           1G     RW NX SHD AF        BLK UXN MEM/NORMAL
0xffffffc840000000-0xffffffc87ae00000         942M     RW NX SHD AF        BLK UXN MEM/NORMAL
0xffffffc87ae00000-0xffffffc87ae70000         448K     RW NX SHD AF            UXN MEM/NORMAL
0xffffffc87af80000-0xffffffc87af8a000          40K     RW NX SHD AF            UXN MEM/NORMAL
0xffffffc87af8b000-0xffffffc87b000000         468K     RW NX SHD AF            UXN MEM/NORMAL
0xffffffc87b000000-0xffffffc87fe00000          78M     RW NX SHD AF        BLK UXN MEM/NORMAL
0xffffffc87fe00000-0xffffffc87ff50000        1344K     RW NX SHD AF            UXN MEM/NORMAL
0xffffffc87ff90000-0xffffffc87ffa0000          64K     RW NX SHD AF            UXN MEM/NORMAL
0xffffffc87fff0000-0xffffffc880000000          64K     RW NX SHD AF            UXN MEM/NORMAL

Inspired by https://lkml.org/lkml/2016/1/19/494 based on work by the
PaX Team, Brad Spengler, and Kees Cook.

Signed-off-by: David Brown <david.brown@linaro.org>
Acked-by: Will Deacon <will.deacon@arm.com>
Acked-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
[catalin.marinas@arm.com: removed superfluous __PAGE_ALIGNED_DATA]
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
8 years agoARM64: dts: rk3399: fix incorrect pmucru reference
Xing Zheng [Tue, 22 Mar 2016 06:30:39 +0000 (14:30 +0800)]
ARM64: dts: rk3399: fix incorrect pmucru reference

Change-Id: I4e6743eecf14597cc3391fd4f80ad329ee7b5785
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
8 years agoclk: rockchip: fix and add some critical clocks for rk3399
Xing Zheng [Tue, 22 Mar 2016 06:29:37 +0000 (14:29 +0800)]
clk: rockchip: fix and add some critical clocks for rk3399

Change-Id: I1db9ab40ba9c25d5054a4011eee1ea14f1207443
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
8 years agoclk: rockchip: update dt-binding header for rk3399 pmucru clock IDs
Xing Zheng [Tue, 22 Mar 2016 06:28:48 +0000 (14:28 +0800)]
clk: rockchip: update dt-binding header for rk3399 pmucru clock IDs

Change-Id: Ic19ea01466ab4d90210cedbbb1d0bce21e3800e1
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
8 years agoiommu/rockchip: fix bool operation error and probe warning
ZhengShunQian [Sat, 19 Mar 2016 02:32:10 +0000 (10:32 +0800)]
iommu/rockchip: fix bool operation error and probe warning

Bool type true is exactly BIT(0), so
bool enable = true;
enable &= BIT(2);
enable will be false, which isn't the result we expected in this case.
Change bool type to u32.

The other fix is checking the res in probe() to skip the irq resource.

Change-Id: I2947c9f1e15cb92f03096d26a44759c107bfacd1
Reported-by: Simon <xxm@rock-chips.com>
Suggested-by: Simon <xxm@rock-chips.com>
Signed-off-by: ZhengShunQian <zhengsq@rock-chips.com>
8 years agoARM64: dts: rk3399-monkey: fix uart2 address error
Jianqun Xu [Tue, 22 Mar 2016 01:45:42 +0000 (09:45 +0800)]
ARM64: dts: rk3399-monkey: fix uart2 address error

Change-Id: Id857682e49063fb4d47253385b930acb59327046
Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
8 years agorockchip: clk: rk3399: fix up clk tree assigned error
Elaine Zhang [Mon, 21 Mar 2016 15:10:19 +0000 (23:10 +0800)]
rockchip: clk: rk3399: fix up clk tree assigned error

add some clk id.

Change-Id: Iffc3fbfa557e5d01f70ab0be2d84a85cff7ac34c
Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
8 years agovideo: rockchip: hdmi: v2: modify phy clock rate to reduce tdms clock jitter
xuhuicong [Mon, 21 Mar 2016 07:44:23 +0000 (15:44 +0800)]
video: rockchip: hdmi: v2: modify phy clock rate to reduce tdms clock jitter

set hdmi phy clock as 148.5Mhz when dclk rate over this frequency

Change-Id: I416b2b98fe42fafc45491b66252f245aed0f1364
Signed-off-by: xuhuicong <xhc@rock-chips.com>
8 years agoFROMLIST: drm: bridge: analogix/dp: Fix the possible dead lock in bridge disable...
Yakir Yang [Mon, 15 Feb 2016 11:11:50 +0000 (19:11 +0800)]
FROMLIST: drm: bridge: analogix/dp: Fix the possible dead lock in bridge disable time

It may caused a dead lock if we flush the hpd work in bridge disable time.

The normal flow would like:
  IN --> DRM IOCTL
        1. Acquire crtc_ww_class_mutex (DRM IOCTL)
  IN --> analogix_dp_bridge
        2. Acquire hpd work lock (Flush hpd work)
        3. HPD work already in idle, no need to run the work function.
  OUT <-- analogix_dp_bridge
  OUT <-- DRM IOCTL

The dead lock flow would like:
  IN --> DRM IOCTL
        1. Acquire crtc_ww_class_mutex (DRM IOCTL)
  IN --> analogix_dp_bridge
        2. Acquire hpd work lock (Flush hpd work)
  IN --> analogix_dp_hotplug
  IN --> drm_helper_hpd_irq_event
        3. Acquire mode_config lock (This lock already have been acquired in previous step 1)
** Dead Lock Now **

It's wrong to flush the hpd work in bridge->disable time, I guess the
original code just want to ensure the delay work must be finish before
encoder disabled.

The flush work in bridge disable time is try to ensure the HPD event
won't be missed before display card disabled, actually we can take a
fast respond way(interrupt thread) to update DRM HPD event to fix the
delay update and possible dead lock.

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

Change-Id: Id7b357de0f497ff8c9f259fe31dc28be34f17083
Signed-off-by: Yakir Yang <ykk@rock-chips.com>
8 years agoFROMLIST: drm: bridge: analogix/dp: add panel prepare/unprepare in suspend/resume...
Yakir Yang [Mon, 15 Feb 2016 11:11:37 +0000 (19:11 +0800)]
FROMLIST: drm: bridge: analogix/dp: add panel prepare/unprepare in suspend/resume time

Turn off the panel power in suspend time would help to reduce
power waste.

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

Change-Id: Iac01ac4041a2486e0347ed0377abcc094ab493ea
Signed-off-by: Yakir Yang <ykk@rock-chips.com>
8 years agoFROMLIST: drm: bridge: analogix/dp: add edid modes parse in get_modes method
Yakir Yang [Mon, 15 Feb 2016 11:11:29 +0000 (19:11 +0800)]
FROMLIST: drm: bridge: analogix/dp: add edid modes parse in get_modes method

Display Port monitor could support kinds of mode which indicate
in monitor edid, not just one single display resolution which
defined in panel or devivetree property display timing.

Note: Gustavo Padovan try to remove the controller and phy
power on function in bind time at bellow commit:
drm/exynos: do not start enabling DP at bind() phase

But for now driver need to read edid message in .get_modes()
function, so controller must be inited in bind time, so we
need to add controller init back.

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

Change-Id: I32abee21665a7e1470f2898b7fbc925108f9d768
Tested-by: Javier Martinez Canillas <javier@osg.samsung.com>
Signed-off-by: Yakir Yang <ykk@rock-chips.com>
8 years agoFROMLIST: drm: bridge: analogix/dp: move hpd detect to connector detect function
Yakir Yang [Mon, 15 Feb 2016 11:11:20 +0000 (19:11 +0800)]
FROMLIST: drm: bridge: analogix/dp: move hpd detect to connector detect function

This change just make a little clean to make code more like
drm core expect, move hdp detect code from bridge->enable(),
and place them into connector->detect().

Note: Gustavo Padovan try to remove the controller and phy
power on function in bind time at bellow commit:
drm/exynos: do not start enabling DP at bind() phase

But for now the connector status don't hardcode to connected,
need to operate dp phy in .detect function, so we need to revert
parts if Gustavo Padovan's changes, add phy poweron
function in bind time.

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

Change-Id: I0ed1be541210f85883477f1b2a88bd8d57e390d6
Tested-by: Javier Martinez Canillas <javier@osg.samsung.com>
Signed-off-by: Yakir Yang <ykk@rock-chips.com>
8 years agoFROMLIST: drm: bridge: analogix/dp: try force hpd after plug in lookup failed
Yakir Yang [Mon, 15 Feb 2016 11:11:15 +0000 (19:11 +0800)]
FROMLIST: drm: bridge: analogix/dp: try force hpd after plug in lookup failed

Some edp screen do not have hpd signal, so we can't just return
failed when hpd plug in detect failed.

This is an hardware property, so we need add a devicetree property
"analogix,need-force-hpd" to indicate this sutiation.

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

Change-Id: If99d29936aafd996c98568d6e184aee6d9c8bc47
Acked-by: Rob Herring <robh@kernel.org>
Tested-by: Javier Martinez Canillas <javier@osg.samsung.com>
Signed-off-by: Yakir Yang <ykk@rock-chips.com>
8 years agoFROMLIST: drm: bridge: analogix/dp: add max link rate and lane count limit for RK3288
Yakir Yang [Mon, 15 Feb 2016 11:11:05 +0000 (19:11 +0800)]
FROMLIST: drm: bridge: analogix/dp: add max link rate and lane count limit for RK3288

There are some IP limit on rk3288 that only support 4 physical lanes
of 2.7/1.6 Gbps/lane, so seprate them out by device_type flag.

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

Change-Id: Id1432af874eb0a6dec819d7b7e735c1040f4bf5c
Tested-by: Javier Martinez Canillas <javier@osg.samsung.com>
Signed-off-by: Yakir Yang <ykk@rock-chips.com>
8 years agoFROMLIST: drm: bridge: analogix/dp: add some rk3288 special registers setting
Yakir Yang [Mon, 15 Feb 2016 11:10:54 +0000 (19:10 +0800)]
FROMLIST: drm: bridge: analogix/dp: add some rk3288 special registers setting

RK3288 need some special registers setting, we can separate
them out by the dev_type of plat_data.

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

Change-Id: I422216f58a18f2c2fee187b4f19de7b9d0fcd05a
Signed-off-by: Yakir Yang <ykk@rock-chips.com>
8 years agoFROMLIST: dt-bindings: add document for rockchip variant of analogix_dp
Yakir Yang [Mon, 15 Feb 2016 11:10:48 +0000 (19:10 +0800)]
FROMLIST: dt-bindings: add document for rockchip variant of analogix_dp

Rockchip DP driver is a helper driver of analogix_dp coder driver,
so most of the DT property should be descriped in analogix_dp document.

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

Change-Id: If7a422554ac09cd3ed40eac8191369df532c58bf
Acked-by: Rob Herring <robh@kernel.org>
Reviewed-by: Heiko Stuebner <heiko@sntech.de>
Signed-off-by: Yakir Yang <ykk@rock-chips.com>
8 years agoFROMLIST: drm: rockchip: dp: add rockchip platform dp driver
Yakir Yang [Mon, 15 Feb 2016 11:10:40 +0000 (19:10 +0800)]
FROMLIST: drm: rockchip: dp: add rockchip platform dp driver

Rockchip have three clocks for dp controller, we leave pclk_edp
to analogix_dp driver control, and keep the sclk_edp_24m and
sclk_edp in platform driver.

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

Change-Id: Ibe22447ab881b7421e999479cbdfd529d183f6b4
Tested-by: Javier Martinez Canillas <javier@osg.samsung.com>
Signed-off-by: Yakir Yang <ykk@rock-chips.com>
8 years agoFROMLIST: ARM: dts: exynos/dp: remove some properties that deprecated by analogix_dp...
Yakir Yang [Mon, 15 Feb 2016 11:10:31 +0000 (19:10 +0800)]
FROMLIST: ARM: dts: exynos/dp: remove some properties that deprecated by analogix_dp driver

After exynos_dp have been split the common IP code into analogix_dp driver,
the analogix_dp driver have deprecated some Samsung platform properties which
could be dynamically parsed from EDID/MODE/DPCD message, so this is an update
for Exynos DTS file for dp-controller.

Beside the backward compatibility is fully preserved, so there are no
bisectability break that make this change in a separate patch.

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

Change-Id: I79adafdb4a086d4a357678282cc653a7e3432da9
Reviewed-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Tested-by: Javier Martinez Canillas <javier@osg.samsung.com>
Signed-off-by: Yakir Yang <ykk@rock-chips.com>
8 years agoFROMLIST: dt-bindings: add document for analogix display port driver
Yakir Yang [Mon, 15 Feb 2016 11:10:26 +0000 (19:10 +0800)]
FROMLIST: dt-bindings: add document for analogix display port driver

Analogix dp driver is split from exynos dp driver, so we just
make an copy of exynos_dp.txt, and then simplify exynos_dp.txt

Beside update some exynos dtsi file with the latest change
according to the devicetree binding documents.

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

Change-Id: Ia1d47783b735868a4f56231660d8309cf9c75923
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Yakir Yang <ykk@rock-chips.com>
8 years agoFROMLIST: drm: bridge: analogix/dp: dynamic parse sync_pol & interlace & dynamic_range
Yakir Yang [Mon, 15 Feb 2016 11:10:11 +0000 (19:10 +0800)]
FROMLIST: drm: bridge: analogix/dp: dynamic parse sync_pol & interlace & dynamic_range

Both hsync/vsync polarity and interlace mode can be parsed from
drm display mode, and dynamic_range and ycbcr_coeff can be judge
by the video code.

But presumably Exynos still relies on the DT properties, so take
good use of mode_fixup() in to achieve the compatibility hacks.

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

Change-Id: Ia7f37daf40fa2d0516d5c44737ad36b5822c6015
Reviewed-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Tested-by: Javier Martinez Canillas <javier@osg.samsung.com>
Signed-off-by: Yakir Yang <ykk@rock-chips.com>
8 years agoFROMLIST: drm: bridge: analogix/dp: remove duplicate configuration of link rate and...
Yakir Yang [Mon, 15 Feb 2016 11:10:04 +0000 (19:10 +0800)]
FROMLIST: drm: bridge: analogix/dp: remove duplicate configuration of link rate and link count

link_rate and lane_count already configured in analogix_dp_set_link_train(),
so we don't need to config those repeatly after training finished, just
remove them out.

Beside Display Port 1.2 already support 5.4Gbps link rate, the maximum sets
would change from {1.62Gbps, 2.7Gbps} to {1.62Gbps, 2.7Gbps, 5.4Gbps}.

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

Change-Id: I8cbf7146d70143bb5d30b3fa971e19f034c30e62
Tested-by: Javier Martinez Canillas <javier@osg.samsung.com>
Signed-off-by: Yakir Yang <ykk@rock-chips.com>
8 years agoFROMLIST: drm: bridge: analogix/dp: fix some obvious code style
Heiko Stuebner [Thu, 17 Mar 2016 21:50:00 +0000 (22:50 +0100)]
FROMLIST: drm: bridge: analogix/dp: fix some obvious code style

Fix some obvious alignment problems, like alignment and line
over 80 characters problems, make this easy to be maintained
later.

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

Change-Id: I49198f28156ae5761ba0aa8e8479bbdc963d9b25
Acked-by: Jingoo Han <jingoohan1@gmail.com>
Reviewed-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Tested-by: Javier Martinez Canillas <javier@osg.samsung.com>
Signed-off-by: Yakir Yang <ykk@rock-chips.com>
8 years agoFROMLIST: drm: bridge: analogix/dp: rename register constants
Heiko Stuebner [Mon, 15 Feb 2016 11:09:54 +0000 (19:09 +0800)]
FROMLIST: drm: bridge: analogix/dp: rename register constants

In the original split we kept the register constants intact to keep the
diff small. Still the constants are Analogix-specific, so rename them now.

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

Change-Id: I714d60bc941b7a992dd34d4c0804576bd07ca84d
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
Signed-off-by: Yakir Yang <ykk@rock-chips.com>
8 years agoFROMLIST: drm: bridge: analogix/dp: split exynos dp driver to bridge directory
Heiko Stuebner [Thu, 17 Mar 2016 21:47:27 +0000 (22:47 +0100)]
FROMLIST: drm: bridge: analogix/dp: split exynos dp driver to bridge directory

Split the dp core driver from exynos directory to bridge directory,
and rename the core driver to analogix_dp_*, rename the platform
code to exynos_dp.

Beside the new analogix_dp driver would export six hooks.
"analogix_dp_bind()" and "analogix_dp_unbind()"
"analogix_dp_suspned()" and "analogix_dp_resume()"
"analogix_dp_detect()" and "analogix_dp_get_modes()"

The bind/unbind symbols is used for analogix platform driver to connect
with analogix_dp core driver. And the detect/get_modes is used for analogix
platform driver to init the connector.

They reason why connector need register in helper driver is rockchip drm
haven't implement the atomic API, but Exynos drm have implement it, so
there would need two different connector helper functions, that's why we
leave the connector register in helper driver.

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

Change-Id: Iad075ae92ba9fa08674fb3d36488f7691909fead
Signed-off-by: Yakir Yang <ykk@rock-chips.com>
8 years agoUPSTREAM: drm/exynos: removed optional dummy encoder mode_fixup function.
Carlos Palminha [Mon, 15 Feb 2016 12:58:20 +0000 (12:58 +0000)]
UPSTREAM: drm/exynos: removed optional dummy encoder mode_fixup function.

mode_fixup function for encoder drivers became optional with patch
http://patchwork.freedesktop.org/patch/msgid/1455106522-32307-1-git-send-email-palminha@synopsys.com

This patch set nukes all the dummy mode_fixup implementations.

(made on top of Daniel topic/drm-misc branch)

(cherry picked from commit 586236251464a9fcf44757f8639e531d8af628f9)

Change-Id: I58ea3c6042f4ceca0bdf0cbac57175fdb53d05b2
Signed-off-by: Carlos Palminha <palminha@synopsys.com>
[danvet: Squash in 2nd exynos patch.]
Link: http://patchwork.freedesktop.org/patch/msgid/3768b670931572de51fca1102efa18d20dd770ee.1455540137.git.palminha@synopsys.com
Link: http://patchwork.freedesktop.org/patch/msgid/4906a9925eebbe55489b1005c449b426a61c09bd.1455540137.git.palminha@synopsys.com
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: Yakir Yang <ykk@rock-chips.com>
8 years agoUPSTREAM: drm/exynos: dp: Fix panel and bridge lookup logic
Javier Martinez Canillas [Fri, 29 Jan 2016 15:09:31 +0000 (12:09 -0300)]
UPSTREAM: drm/exynos: dp: Fix panel and bridge lookup logic

Commit a9fa852886fd ("drm/exynos: dp: add of_graph dt binding support
for panel") made the Exynos DP DT binding more consistent since the OF
graph could be used to lookup either a panel or a bridge device node.

Before that commit, a panel would be looked up using a phandle and a
bridge using the OF graph which made the DT binding not consistent.

But the patch broke the later case since not finding a panel dev node
would cause the driver's to do a probe deferral instead of attempting
to lookup a bridge device node associated with the remote endpoint.

So instead of returning a -EPROBE_DEFER if a panel is not found, check
if there's a bridge and only do a probe deferral if both aren't found.

(cherry picked from commit 37e110625eeeaba83e8cb763ab7645f0678c6f8e)

Change-Id: If8b66d792447d4e3455f99dc38b04f334b8b65a6
Signed-off-by: Javier Martinez Canillas <javier@osg.samsung.com>
Tested-by: Michal Suchanek <hramrach@gmail.com>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
Signed-off-by: Yakir Yang <ykk@rock-chips.com>
8 years agoUPSTREAM: drm/exynos: Constify function pointer structs
Ville Syrjälä [Tue, 15 Dec 2015 11:21:06 +0000 (12:21 +0100)]
UPSTREAM: drm/exynos: Constify function pointer structs

Moves a bunch of junk to .rodata from .data.

 drivers/gpu/drm/exynos/exynosdrm.ko:
-.text                       125792
+.text                       125788
-.rodata                      10972
+.rodata                      11748
-.data                         6720
+.data                         5944

(cherry picked from commit 800ba2b58182e4b0e8dc826a27362d45499068b1)

Change-Id: I8261dbe53224b581a20102253b162cc3a2563b58
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
Signed-off-by: Thierry Reding <treding@nvidia.com>
Signed-off-by: Boris Brezillon <boris.brezillon@free-electrons.com>
Link: http://patchwork.freedesktop.org/patch/msgid/1450178476-26284-19-git-send-email-boris.brezillon@free-electrons.com
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: Yakir Yang <ykk@rock-chips.com>
8 years agoUPSTREAM: drm/exynos: dp: add of_graph dt binding support for panel
Inki Dae [Thu, 26 Nov 2015 12:34:18 +0000 (21:34 +0900)]
UPSTREAM: drm/exynos: dp: add of_graph dt binding support for panel

This patch adds of_graph dt binding support for panel device
and also keeps the backward compatibility.

i.e.,
The dts file for Exynos5800 based peach pi board
has a panel property so we need to keep the backward compatibility.

Changelog v3:
- bind only one of two nodes outbound - panel or bridge.

Changelog v2:
- return -EINVAL if getting a port node failed.

(cherry picked from commit a9fa852886fd5a7ccec3b7e9eff75f85072f009c)

Change-Id: Ie300bdc95027269f4a6b0d7fef8d6f0ca4017f06
Signed-off-by: Inki Dae <inki.dae@samsung.com>
Reviewed-by: Javier Martinez Canillas <javier@osg.samsung.com>
Signed-off-by: Yakir Yang <ykk@rock-chips.com>
8 years agoUPSTREAM: drm/exynos: add pm_runtime to DP
Gustavo Padovan [Mon, 2 Nov 2015 11:32:36 +0000 (20:32 +0900)]
UPSTREAM: drm/exynos: add pm_runtime to DP

Let pm_runtime handle the enabling/disabling of the device with
proper refcnt instead of rely on specific flags to track the enabled
state.

Chnagelog v3:
- revive dpms_mode to keep current dpms mode.

Changelog v2:
- no change

(cherry picked from commit 613d3853c2aca6cfd990e8bd0b436833b6c76db6)

Change-Id: Ieac8db078030f9331135ff0bc43a3a41d56d3b62
Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
Signed-off-by: Yakir Yang <ykk@rock-chips.com>
8 years agoUPSTREAM: drm/exynos: do not start enabling DP at bind() phase
Gustavo Padovan [Mon, 2 Nov 2015 11:00:03 +0000 (20:00 +0900)]
UPSTREAM: drm/exynos: do not start enabling DP at bind() phase

The DP device will be properly enabled at the enable() call just
after the bind call finishes.

Changelog v2:
- no change

(cherry picked from commit 07c42703029244fb4b82593b0362d3f99c4268a4)

Change-Id: Id606cf49e9027036d9c7681b23f39681a3db5e87
Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
8 years agoARM: dts: rk3366-tb: add declaration of smart card reader controller
Aiyoujun [Fri, 18 Mar 2016 09:09:48 +0000 (17:09 +0800)]
ARM: dts: rk3366-tb: add declaration of smart card reader controller

Change-Id: I6a70ffccabb326bc691fd304db4b9df869530ee0
Signed-off-by: Aiyoujun <ayj@rock-chips.com>
8 years agoARM: configs: rockchip_defconfig: add SOC smart card reader controller.
Aiyoujun [Fri, 18 Mar 2016 09:08:03 +0000 (17:08 +0800)]
ARM: configs: rockchip_defconfig: add SOC smart card reader controller.

Change-Id: I505e9c4d23ab23d50e5d31a68b576771ac9dd3c7
Signed-off-by: Aiyoujun <ayj@rock-chips.com>
8 years agodt-bindings: rockchip-scr: add rockchip SOC smart card reader controller.
Aiyoujun [Fri, 18 Mar 2016 09:06:34 +0000 (17:06 +0800)]
dt-bindings: rockchip-scr: add rockchip SOC smart card reader controller.

Change-Id: I735c86c164eef2ea119818abe8afa0dd8ee5647a
Signed-off-by: Aiyoujun <ayj@rock-chips.com>
8 years agoARM: dts: rk3366: add smart card reader controller's resource define.
Aiyoujun [Fri, 18 Mar 2016 09:04:15 +0000 (17:04 +0800)]
ARM: dts: rk3366: add smart card reader controller's resource define.

Change-Id: Icb21dc6b529e2791414f19a915085437332736df
Signed-off-by: Aiyoujun <ayj@rock-chips.com>
8 years agomisc: rockchip-scr: add rockchip SOC smart card reader controller driver.
Aiyoujun [Fri, 18 Mar 2016 09:03:07 +0000 (17:03 +0800)]
misc: rockchip-scr: add rockchip SOC smart card reader controller driver.

Change-Id: I8d3ab66bc6fa7cbb4e8d9b2f2c5c2feee94a045b
Signed-off-by: Aiyoujun <ayj@rock-chips.com>
8 years agoclk: rockchip: update clock controller for the RK3399
Xing Zheng [Fri, 18 Mar 2016 02:58:21 +0000 (10:58 +0800)]
clk: rockchip: update clock controller for the RK3399

Fix some clock reference error.

Change-Id: I0505387160aa4b38753adfb82aabf7fb3b967ada
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
8 years agoclk: rockchip: update dt-binding header for rk3399 some clock IDs
Xing Zheng [Fri, 18 Mar 2016 02:54:51 +0000 (10:54 +0800)]
clk: rockchip: update dt-binding header for rk3399 some clock IDs

Add some clock IDs for driver reference them.

Change-Id: I43b2507a58f141f8e04a530b5e43db507097f301
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
8 years agoUPSTREAM: drm/dsi: Add a helper to get bits per pixel of MIPI DSI pixel format
Liu Ying [Fri, 20 Nov 2015 08:15:30 +0000 (16:15 +0800)]
UPSTREAM: drm/dsi: Add a helper to get bits per pixel of MIPI DSI pixel format

Add a helper that can be used to obtain the number of bits per pixel
corresponding to a given MIPI DSI pixel format. This is useful in
bandwidth calculations, for example.

Change-Id: I03b9f93044ed46a2b999ce82e5623396a6f4d2bc
Signed-off-by: Mark Yao <mark.yao@rock-chips.com>
Signed-off-by: Liu Ying <Ying.Liu@freescale.com>
Acked-by: Thierry Reding <treding@nvidia.com>
Signed-off-by: Chris Zhong <zyw@rock-chips.com>
[treding@nvidia.com: add kerneldoc comment and commit message]
Signed-off-by: Thierry Reding <treding@nvidia.com>
(cherry picked from commit ec26d9e9382f432225d76b3ff1c7f72e21192f7f)

8 years agoUPSTREAM: iommu/rockchip: Reconstruct to support multi slaves
ZhengShunQian [Tue, 19 Jan 2016 07:03:00 +0000 (15:03 +0800)]
UPSTREAM: iommu/rockchip: Reconstruct to support multi slaves

There are some IPs, such as video encoder/decoder, contains 2 slave iommus,
one for reading and the other for writing. They share the same irq and
clock with master.

This patch reconstructs to support this case by making them share the same
Page Directory, Page Tables and even the register operations.
That means every instruction to the reading MMU registers would be
duplicated to the writing MMU and vice versa.

Change-Id: I3fd473898274cffcfb46c907b34bd3a4adc29250
Signed-off-by: ZhengShunQian <zhengsq@rock-chips.com>
Signed-off-by: Joerg Roedel <jroedel@suse.de>
Signed-off-by: Simon <xxm@rock-chips.com>
Signed-off-by: Mark Yao <mark.yao@rock-chips.com>
(cherry picked from commit cd6438c5f8446691afa4829fe1a9d7b656204f11)

8 years agoFROMLIST: iommu: dma-iommu: use common implementation also on ARM architecture
Marek Szyprowski [Fri, 19 Feb 2016 08:22:44 +0000 (09:22 +0100)]
FROMLIST: iommu: dma-iommu: use common implementation also on ARM architecture

This patch replaces ARM-specific IOMMU-based DMA-mapping implementation
with generic IOMMU DMA-mapping code shared with ARM64 architecture. The
side-effect of this change is a switch from bitmap-based IO address space
management to tree-based code. There should be no functional changes
for drivers, which rely on initialization from generic arch_setup_dna_ops()
interface. Code, which used old arm_iommu_* functions must be updated to
new interface.

To avoid build failed on ARCH arm,we mannually fix the following two files that
to use arch_set_dma_ops API

arch/arm/mach-highbank/highbank.c
arch/arm/mach-mvebu/coherency.c

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Conflicts:
arch/arm/mm/dma-mapping.c

Change-Id: Iffad16a7a511d50cc8e422bc61497f117279c66d
Signed-off-by: Simon <xxm@rock-chips.com>
Signed-off-by: Mark Yao <mark.yao@rock-chips.com>
(am from https://patchwork.freedesktop.org/patch/74409/)

8 years agoFROMLIST: iommu: dma-iommu: move IOMMU/DMA-mapping code from ARM64 arch to drivers
Marek Szyprowski [Fri, 19 Feb 2016 08:22:43 +0000 (09:22 +0100)]
FROMLIST: iommu: dma-iommu: move IOMMU/DMA-mapping code from ARM64 arch to drivers

This patch moves all the IOMMU-based DMA-mapping code from arch/arm64/mm
to drivers/iommu/dma-iommu-ops.c. This way it can be easily shared with
ARM architecture, which will also use them.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Conflicts:
arch/arm64/mm/dma-mapping.c

Change-Id: I7d56fa5e6e6ef43ae6c9c76035fcf81ee5cb7069
Signed-off-by: Simon <xxm@rock-chips.com>
Signed-off-by: Mark Yao <mark.yao@rock-chips.com>
(am from https://patchwork.freedesktop.org/patch/74408/)

8 years agoARM64: dts: rk3399-tb: add GMAC node for rk3399-tb
Roger Chen [Fri, 18 Mar 2016 06:22:06 +0000 (14:22 +0800)]
ARM64: dts: rk3399-tb: add GMAC node for rk3399-tb

Change-Id: I31f984a40bf8e2c04243e47fed7435bd3e400c4c
Signed-off-by: Roger Chen <roger.chen@rock-chips.com>
8 years agoMerge remote-tracking branch 'lsk/linux-linaro-lsk-v4.4-android' into linux-linaro...
Mark Brown [Fri, 18 Mar 2016 09:50:49 +0000 (09:50 +0000)]
Merge remote-tracking branch 'lsk/linux-linaro-lsk-v4.4-android' into linux-linaro-lsk-v4.4-android

8 years agoMerge remote-tracking branch 'lsk/linux-linaro-lsk-v4.4' into linux-linaro-lsk-v4.4
Mark Brown [Fri, 18 Mar 2016 09:48:58 +0000 (09:48 +0000)]
Merge remote-tracking branch 'lsk/linux-linaro-lsk-v4.4' into linux-linaro-lsk-v4.4

8 years agoMerge tag 'v4.4.5' into linux-linaro-lsk-v4.4
Mark Brown [Fri, 18 Mar 2016 09:45:54 +0000 (09:45 +0000)]
Merge tag 'v4.4.5' into linux-linaro-lsk-v4.4

This is the 4.4.5 stable release

# gpg: Signature made Wed 09 Mar 2016 23:36:03 GMT using RSA key ID 6092693E
# gpg: Good signature from "Greg Kroah-Hartman (Linux kernel stable release signing key) <greg@kroah.com>"
# gpg: WARNING: This key is not certified with a trusted signature!
# gpg:          There is no indication that the signature belongs to the owner.
# Primary key fingerprint: 647F 2865 4894 E3BD 4571  99BE 38DB BDC8 6092 693E

8 years agoUPSTREAM: dt-bindings: modify document of Rockchip power domains
zhangqing [Mon, 11 Jan 2016 10:36:40 +0000 (02:36 -0800)]
UPSTREAM: dt-bindings: modify document of Rockchip power domains

Modify binding documentation for the power domains
found on Rockchip RK3368 SoCs.

Signed-off-by: zhangqing <zhangqing@rock-chips.com>
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
(cherry picked from git://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
master commit 1f164bd5b7dd4a1903c274ca70bf1ab11684db99)

Change-Id: Id6ef1ecfb32ee92e3a339326c1354a60b9028a80
Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>