platform/kernel/linux-exynos.git
8 years agodrm/exynos/hdmi: fix PLL for 27MHz settings 78/104178/2 old/tizen_20161215 accepted/tizen/common/20161215.170235 accepted/tizen/ivi/20161215.074203 accepted/tizen/mobile/20161215.074103 accepted/tizen/tv/20161215.074123 accepted/tizen/wearable/20161215.074141 submit/tizen/20161215.014354
Andrzej Hajda [Mon, 12 Dec 2016 13:18:26 +0000 (14:18 +0100)]
drm/exynos/hdmi: fix PLL for 27MHz settings

Current settings for 27MHz and 27.027MHz do not work. Use the settings from
vendor code instead.

Change-Id: I701555eff3fca430736664e0f628fc50d9a6dc4f
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
8 years agodrm/bridge/sii8620: enable interlace modes 58/103758/2
Andrzej Hajda [Fri, 9 Dec 2016 09:56:23 +0000 (10:56 +0100)]
drm/bridge/sii8620: enable interlace modes

Bug in DECON(CRTC) driver prevented interlace modes from proper work.
Since DECON is fixed interlace modes can be enabled in MHL.

Change-Id: Ifdebbf921e173a1c10af36d678aa6f8e2921e74a
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
8 years agodrm/exynos/decon5433: do not stop DECON before reset 57/103757/2
Andrzej Hajda [Fri, 9 Dec 2016 09:52:15 +0000 (10:52 +0100)]
drm/exynos/decon5433: do not stop DECON before reset

DECON fails to stop in reasonable time in case of interlaced mode. But since
device is reset anyway this step can be safely omitted.

Change-Id: I15a78685c9573b9799ac63b7810ff3655763e461
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
8 years agodrm/exynos/decon5433: fix porch calculation in interlaced mode 56/103756/2
Andrzej Hajda [Fri, 9 Dec 2016 09:49:18 +0000 (10:49 +0100)]
drm/exynos/decon5433: fix porch calculation in interlaced mode

Interlaced mode requires different porch calculation in DECON.

Change-Id: I1bfc2554cd3204ebb270ab2e4a396d0f69f5a7f4
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
8 years agodrm/exynos/decon5433: signal vblank only on odd fields 55/103755/2
Andrzej Hajda [Fri, 9 Dec 2016 09:45:20 +0000 (10:45 +0100)]
drm/exynos/decon5433: signal vblank only on odd fields

In case of interlace mode irq is generated for odd and even fields, but
vblank should be signaled only for the last emitted field.

Change-Id: Icfae5a6729a0168b4f565e79825083b39cce5ca3
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
8 years agodrm/bridge/sii8620: enable MHL3 mode if possible 98/102898/3
Andrzej Hajda [Tue, 6 Dec 2016 13:59:35 +0000 (14:59 +0100)]
drm/bridge/sii8620: enable MHL3 mode if possible

Since all sub-protocols of MHL3 are already supported MHL3 mode can be enabled.
With this patch it is possible to use packed pixel modes and clocks up
to 300MHz - 1920x1080@60Hz and 4K modes.

Change-Id: I04ade01bff1af0cd0c44818bd4be45a33acf2ecd
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
8 years agodrm/bridge/sii8620: add HSIC initialization code 97/102897/3
Andrzej Hajda [Tue, 6 Dec 2016 13:51:56 +0000 (14:51 +0100)]
drm/bridge/sii8620: add HSIC initialization code

In case of MHL3 HSIC should be initialized.

Change-Id: Ieda42af182300d0f2f9c8da1bfb9f5b6a0c014ef
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
8 years agodrm/bridge/sii8620: improve gen2 write burst IRQ routine 96/102896/3
Andrzej Hajda [Tue, 6 Dec 2016 13:49:02 +0000 (14:49 +0100)]
drm/bridge/sii8620: improve gen2 write burst IRQ routine

The patch adds code to report back feature complete IRQ, and code
to read and drop burst writes from peer.

Change-Id: I19df1e7d08c43661896aced305fe32e88b919a09
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
8 years agodrm/bridge/sii8620: send EMSC features on request 95/102895/3
Andrzej Hajda [Tue, 6 Dec 2016 13:05:10 +0000 (14:05 +0100)]
drm/bridge/sii8620: send EMSC features on request

Device should report to the peer which features are really supported.

Change-Id: I6aeeef9bfdf28bc38a7026f4289a89cbabd62544
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
8 years agodrm/bridge/sii8620: rewrite hdmi start sequence 94/102894/3
Andrzej Hajda [Tue, 6 Dec 2016 12:58:45 +0000 (13:58 +0100)]
drm/bridge/sii8620: rewrite hdmi start sequence

MHL3 protocol requires registry adjustments depending on chosen video mode.
Necessary information is gathered in mode_fixup callback. In case of HDMI
video modes driver should also send special AVI and MHL infoframes.

Change-Id: I418f79aef2e2b58c5baf8052db5645c873a2c0b2
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
8 years agodrm/bridge/sii8620: fix disconnect sequence 93/102893/3
Andrzej Hajda [Tue, 6 Dec 2016 12:43:42 +0000 (13:43 +0100)]
drm/bridge/sii8620: fix disconnect sequence

The patch allows to avoid rare cases when discovery fails.

Change-Id: I29094f719f8a2ec23a74b0c7981bf80e9a6200d3
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
8 years agodrm/bridge/sii8620: fix peer re-initialization in CBUS mode 92/102892/3
Andrzej Hajda [Tue, 6 Dec 2016 12:37:33 +0000 (13:37 +0100)]
drm/bridge/sii8620: fix peer re-initialization in CBUS mode

In CBUS mode peer should be re-intialized the same way as in MHL3.

Change-Id: Ie631511037929b5c034750a2cdd017367b9ba004
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
8 years agodrm/bridge/sii8620: split EDID read and write code 91/102891/3
Andrzej Hajda [Tue, 6 Dec 2016 12:34:03 +0000 (13:34 +0100)]
drm/bridge/sii8620: split EDID read and write code

MHL3 requires that after reading EDID from the sink source should ask
peer for features. To make both protocols happy the patch splits code
accordingly.

Change-Id: I367a05e4c4aac0b0de31692027da117ec56ff039
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
8 years agodrm/bridge/sii8620: add delay during cbus reset 90/102890/3
Andrzej Hajda [Tue, 6 Dec 2016 12:22:19 +0000 (13:22 +0100)]
drm/bridge/sii8620: add delay during cbus reset

Without delay CBUS sometimes was not reset properly.

Change-Id: I4392297d13c9f9b8551e292fa4e2c070202d7e7f
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
8 years agodrm/bridge/sii8620: do not stop MHL output when TMDS input is stopped 89/102889/3
Andrzej Hajda [Tue, 6 Dec 2016 12:18:38 +0000 (13:18 +0100)]
drm/bridge/sii8620: do not stop MHL output when TMDS input is stopped

Stopping output causes full re-detection of the sink and slows down the process.

Change-Id: I2089437635a6df5ba2a75a45a31b7431c365a861
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
8 years agodrm/bridge/sii8620: make local functions statics 88/102888/3
Andrzej Hajda [Tue, 6 Dec 2016 12:06:25 +0000 (13:06 +0100)]
drm/bridge/sii8620: make local functions statics

These functions are not exported.

Change-Id: If0660466cf41f2e7c281970f05402429537fb3e2
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
8 years agodrm/bridge/sii8620: set gen2 write burst before sending MSC command 87/102887/3
Andrzej Hajda [Mon, 5 Dec 2016 13:50:10 +0000 (14:50 +0100)]
drm/bridge/sii8620: set gen2 write burst before sending MSC command

Write burst should be enabled for MHL_INT_RC_FEAT_REQ and disabled for
other commands. The patch moves functions up and adds delay setting
for MHL3 burst mode.

Change-Id: Id554364c9156eac720672363fd5437b029efbd26
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
8 years agodrm/bridge/sii8620: abstract out sink detection code 86/102886/3
Andrzej Hajda [Fri, 25 Nov 2016 14:29:38 +0000 (15:29 +0100)]
drm/bridge/sii8620: abstract out sink detection code

MHL1 and MHL3 have different initialization paths. To make both protocols
happy sink detection is put into continuation after link mode enablement.

Change-Id: I739fd47dce782b151e9a498364ed42de9223996b
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
8 years agodrm/bridge/sii8620: fix initialization sequence for MHL2 receivers 85/102885/3
Andrzej Hajda [Fri, 25 Nov 2016 14:21:27 +0000 (15:21 +0100)]
drm/bridge/sii8620: fix initialization sequence for MHL2 receivers

MHL2 receiver require disabling transmitter on initialization.

Change-Id: I85fa2c3c7a8dc2ed39d8b012a7d017a7fd55addd
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
8 years agodrm/bridge/sii8620: fix MSC message removal 84/102884/3
Andrzej Hajda [Fri, 25 Nov 2016 14:17:59 +0000 (15:17 +0100)]
drm/bridge/sii8620: fix MSC message removal

Messages queue can be cleaned up by message callbacks, to avoid premature
removal of current message it should be removed from the queue before calling
these callbacks.

Change-Id: Ie95c291d27a1be52291cc2cd1b7dead8f24560b4
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
8 years agodrm/bridge/sii8620: fix CBUS bring-up sequence 83/102883/3
Andrzej Hajda [Fri, 25 Nov 2016 14:07:16 +0000 (15:07 +0100)]
drm/bridge/sii8620: fix CBUS bring-up sequence

In case of MHL3 CBUS is bring-up already in sii8620_got_ecbus_speed.

Change-Id: I4abafa944113528eb6cc71799a35f4215aeac428
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
8 years agodrm/bridge/sii8620: fix peer device capabilities read code 82/102882/3
Andrzej Hajda [Tue, 22 Nov 2016 15:39:09 +0000 (16:39 +0100)]
drm/bridge/sii8620: fix peer device capabilities read code

Peer capabilities should be read differently depending on protocol version.

Change-Id: I3344af6068da07ccc7842a6e8affc63ee31a33a0
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
8 years agodrm/bridge/sii8620: respond to feature requests 81/102881/3
Andrzej Hajda [Tue, 22 Nov 2016 15:32:15 +0000 (16:32 +0100)]
drm/bridge/sii8620: respond to feature requests

MHL3 protocol requires device to respond to feature request from peer.
This minimal answer fulfills the requirement and allows to continue
negotiation.

Change-Id: Ifa2ed4d4db2cd29e50eef8144eef3eeb16aa2d72
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
8 years agodrm/bridge/sii8620: add support for burst eMSC transmissions 80/102880/3
Andrzej Hajda [Tue, 6 Dec 2016 15:44:51 +0000 (16:44 +0100)]
drm/bridge/sii8620: add support for burst eMSC transmissions

Burst transmissions are used in MHL3 mode negotiation.

Change-Id: Iec7261a46c9743ef95fae0e8e921aeee11cf0cc4
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
8 years agodrm/bridge/mhl: add write burst related definitions 79/102879/3
Andrzej Hajda [Tue, 6 Dec 2016 15:44:27 +0000 (16:44 +0100)]
drm/bridge/mhl: add write burst related definitions

Burst transmissions are used in MHL3 mode.

Change-Id: If59f1aa3e8bd53c5075de2b2284fa5cbadb2cc6c
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
8 years agodrm/bridge/sii8620: initial support for eCBUS-S mode 78/102878/3
Andrzej Hajda [Tue, 15 Nov 2016 15:37:36 +0000 (16:37 +0100)]
drm/bridge/sii8620: initial support for eCBUS-S mode

The Single-ended eCBUS Mode (eCBUS-S) mode provides 60 Mb/s full-duplex
bidirectional traffic for three channels:
 - CBUS data (CBUS1 channel),
 - High-bandwidth MHL data (eMSC channel),
 - tunneling data (T-CBUS channel).
It is required to fully support MHL3 dongles.

Change-Id: I64f78981126cc30033b2b4330df042feccd6ffe0
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
8 years agodrm/bridge/sii8620: add continuations to messages 77/102877/3
Andrzej Hajda [Tue, 15 Nov 2016 14:02:01 +0000 (15:02 +0100)]
drm/bridge/sii8620: add continuations to messages

Due to asynchronous nature of MHL flow of execution is dispersed. Logical
continuation of some actions happens after response of peer, i.e in interrupt
handler. To simplify coding continuation mechanism has been added - it is now
possible to provide continuation callback, which will be called after peer
responds to given action.

Change-Id: I93a9d25912e17787dd9856b65d1fc75b2644b940
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
8 years agodrm/bridge/sii8620: add reading device capability registers 76/102876/3
Andrzej Hajda [Thu, 10 Nov 2016 10:05:06 +0000 (11:05 +0100)]
drm/bridge/sii8620: add reading device capability registers

This functionality is necessary to implement MHL3 modes.

Change-Id: I267d27815527403ace25470f620cb4e5600a2520
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
8 years agodrm/bridge/sii8620: simplify MHL3 mode setting 75/102875/3
Andrzej Hajda [Thu, 10 Nov 2016 10:30:52 +0000 (11:30 +0100)]
drm/bridge/sii8620: simplify MHL3 mode setting

It is not necessary to set REG_COC_CTL0, REG_MHL_COC_CTL1 registers.

Change-Id: Id363df66baffe0be9f96e61597bc04a16bf42aad
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
8 years agodrm/bridge/sii8620: limit supported modes to MHL1/2 modes 07/98707/9
Andrzej Hajda [Fri, 18 Nov 2016 09:14:19 +0000 (10:14 +0100)]
drm/bridge/sii8620: limit supported modes to MHL1/2 modes

MHL3 modes are unstable on MHL3 dongle working in compatibility mode.
The patch denies them until full MHL3 mode is supported.

Change-Id: I0e18ce16e6194c346dde8a67a864feb452cf7b12
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
8 years agodrm/exynos/hdmi: fix VSI infoframe registers 74/102874/3
Andrzej Hajda [Mon, 5 Dec 2016 13:32:07 +0000 (14:32 +0100)]
drm/exynos/hdmi: fix VSI infoframe registers

VSI infoframe registers address space is non-contiguous, so infoframe write
should be split into two chunks.

Change-Id: I40b4598dd64ec205d85a6f99828e2f22ae568918
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
8 years agoARM: defconfig: odroid: enable USB CAN/GPS interface 73/104373/2
Sangjung Woo [Tue, 13 Dec 2016 07:14:12 +0000 (16:14 +0900)]
ARM: defconfig: odroid: enable USB CAN/GPS interface

In order to support both USB Serial CAN adaptor and GPS USB interface,
this enables its related options.

Change-Id: I220e8366b51798e38759f18b4d830a3b47302400
Signed-off-by: Sangjung Woo <sangjung.woo@samsung.com>
8 years agokdbus: link replies in fifo send order 75/103875/3
Konrad Lipinski [Fri, 9 Dec 2016 16:38:32 +0000 (17:38 +0100)]
kdbus: link replies in fifo send order

As a consequence, timeouts are now issued in fifo order.

Change-Id: Iacf4e922a37038fa42f95a9d058eeacd0ebce3ec
Signed-off-by: Konrad Lipinski <konrad.l@samsung.com>
8 years agoSmack: ignore private inode for file functions 80/104080/2 accepted/tizen/common/20161213.164744 accepted/tizen/ivi/20161214.014117 accepted/tizen/mobile/20161214.014022 accepted/tizen/tv/20161214.014040 accepted/tizen/wearable/20161214.014056 submit/tizen/20161213.001106
Seung-Woo Kim [Mon, 12 Dec 2016 08:21:40 +0000 (17:21 +0900)]
Smack: ignore private inode for file functions

The access to fd from anon_inode is always failed because there is
no set xattr operations. So this patch fixes to ignore private
inode including anon_inode for file functions.

It was only ignored for smack_file_receive() to share dma-buf fd,
but dma-buf has other functions like ioctl and mmap.

Reference: https://lkml.org/lkml/2015/4/17/16

Change-Id: I1c6b93107c17e1ca3d96360c5cb8ec18a29ba45e
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
8 years agopacket: fix race condition in packet_set_ring 23/102923/2 accepted/tizen/common/20161209.061456 accepted/tizen/ivi/20161209.060650 accepted/tizen/mobile/20161209.060550 accepted/tizen/tv/20161209.060608 accepted/tizen/wearable/20161209.060627 submit/tizen/20161209.020241
Philip Pettersson [Tue, 6 Dec 2016 23:51:56 +0000 (08:51 +0900)]
packet: fix race condition in packet_set_ring

When packet_set_ring creates a ring buffer it will initialize a
struct timer_list if the packet version is TPACKET_V3. This value
can then be raced by a different thread calling setsockopt to
set the version to TPACKET_V1 before packet_set_ring has finished.

This leads to a use-after-free on a function pointer in the
struct timer_list when the socket is closed as the previously
initialized timer will not be deleted.

The bug is fixed by taking lock_sock(sk) in packet_setsockopt when
changing the packet version while also taking the lock at the start
of packet_set_ring.

Ps. This is CVE-2016-8655 patch,
http://seclists.org/oss-sec/2016/q4/607

Change-Id: I3396f1bfe60b03082a981ae9d8a787b41cb5a529
Fixes: f6fb8f100b80 ("af-packet: TPACKET_V3 flexible buffer implementation.")
Signed-off-by: Philip Pettersson <philip.pettersson@gmail.com>
Signed-off-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
8 years agommc: sdhci-s3c: add spin_unlock_irq() before calling clk_round_rate 12/101512/2
Jaehoon Chung [Wed, 30 Nov 2016 06:05:42 +0000 (15:05 +0900)]
mmc: sdhci-s3c: add spin_unlock_irq() before calling clk_round_rate

Before calling clk_round_rate(), put the spin_unlock_irq() in
sdhci_s3c_consider_clock() function.

Change-Id: Ifedfb52d0c32eadae77b7fe3fd3040ed486a5080
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
Acked-by: Adrian Hunter <adrian.hunter@intel.com>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
8 years agoRevert "kdbus: retrieve SECLABEL anew on each CONN_INFO (efl/launchpad developers... 60/102060/2 accepted/tizen/common/20161205.135831 accepted/tizen/ivi/20161205.232730 accepted/tizen/mobile/20161205.232632 accepted/tizen/tv/20161205.232650 accepted/tizen/wearable/20161205.232709 submit/tizen/20161205.013353
Seung-Woo Kim [Mon, 5 Dec 2016 01:29:08 +0000 (17:29 -0800)]
Revert "kdbus: retrieve SECLABEL anew on each CONN_INFO (efl/launchpad developers' request)"

This reverts commit 4119f2cdcf8ee06fd3b638034e6e9e8acfd0356c.

Change-Id: I8bac50d970a49711f900b4377b020e3885b5607d

8 years agoBluetooth: Fix Set IRK Mgmt opcode to match product codeline. 41/101341/1
Sudha Bheemanna [Wed, 30 Nov 2016 09:59:46 +0000 (15:29 +0530)]
Bluetooth: Fix Set IRK Mgmt opcode to match product codeline.

Modified the Mgmt opcode value to match the header in product code.

Change-Id: Ifcfbe313540527238950f1afbe2c33378bd4de29
Signed-off-by: Sudha Bheemanna <b.sudha@samsung.com>
8 years agokdbus: retrieve SECLABEL anew on each CONN_INFO (efl/launchpad developers' request) 04/100904/1
Konrad Lipinski [Tue, 29 Nov 2016 14:36:25 +0000 (15:36 +0100)]
kdbus: retrieve SECLABEL anew on each CONN_INFO (efl/launchpad developers' request)

Tizen code routinely performs the following operation sequence:
1. create kdbus connection
2. update seclabel
3. rely on updated seclabel

CONN_INFO has always returned seclabel collected at HELLO time (behavior
consistent across all kdbus versions and documented in kdbus man). This
would break step 3 of the above sequence.

Change-Id: I659407ab8941efcf8c958e9bf9328ae782a5dac1

8 years agoARM64: tizen_tm2_defconfig: enable CONFIG_NETFILTER_XT_TARGET_SECMARK 01/100201/2
jooseong lee [Fri, 25 Nov 2016 08:48:58 +0000 (17:48 +0900)]
ARM64: tizen_tm2_defconfig: enable CONFIG_NETFILTER_XT_TARGET_SECMARK

The config allows security marking of network packets.
Iptable need to set packet's secmark to 'System' label to avoid
Smack deny issue only for multicast address range.

* Refer to : https://review.tizen.org/gerrit/#/c/100096/

Change-Id: I28dce71862d2bddba2ede2f72b7cdd493c3d184f
Signed-off-by: jooseong lee <jooseong.lee@samsung.com>
8 years agoARM: tizen_odroid_defconfig: enableCONFIG_NETFILTER_XT_TARGET_SECMARK 00/100200/2
jooseong lee [Fri, 25 Nov 2016 08:46:54 +0000 (17:46 +0900)]
ARM: tizen_odroid_defconfig: enableCONFIG_NETFILTER_XT_TARGET_SECMARK

The config allows security marking of network packets.
Iptable need to set packet's secmark to 'System' label to avoid
Smack deny issue only for multicast address range.

* Refer to : https://review.tizen.org/gerrit/#/c/100096/

Change-Id: If0dcf494197beb7eb5ae035e0998ac2c8907d0cc
Signed-off-by: jooseong lee <jooseong.lee@samsung.com>
8 years agokdbus: Remove the unnecessary code that unlink the reply twice. 13/99813/3
INSUN PYO [Thu, 24 Nov 2016 07:03:42 +0000 (16:03 +0900)]
kdbus: Remove the unnecessary code that unlink the reply twice.

In sync call situation, kdbus_conn_reply() calls kdbus_reply_unlink(reply).
Then, kdbus_conn_entry_sync_attach() also calls kdbus_reply_unlink(reply_wake),
so it is called twice. Even it has no problems because kdbus_reply_unlink()
does't free twice, but it is unnecessary.

Signed-off-by: INSUN PYO <insun.pyo@samsung.com>
Change-Id: Ia2b3552ee2e6a49ff97bb9d8f6e62964fe6d2cbf

8 years agoBluetooth: Fix IRK distribution issue when Privacy is disabled 02/99002/5
h.sandeep [Mon, 21 Nov 2016 11:14:42 +0000 (16:44 +0530)]
Bluetooth: Fix IRK distribution issue when Privacy is disabled

The devices, like Android 6.x, which don't support privacy 1.2
couldn't make BLE connection to the device which doesn't distribute
IRK when pairing because they use use wrong address type.
For compatibility, it needs to distribute IRK even though Privacy
feature is disabled. So setting IRK interface is added and BlueZ
will set IRK if privacy feature is disabled. And when BLE pairing,
IRK will be always distributed.

Change-Id: I6dbcef9663a1a0cb2b7db89cad6e725025e41fa1
Signed-off-by: h.sandeep <h.sandeep@samsung.com>
8 years agoBluetooth: Add MGMT interface for setting IRK 42/97942/9
h.sandeep [Tue, 15 Nov 2016 11:18:34 +0000 (16:48 +0530)]
Bluetooth: Add MGMT interface for setting IRK

It is required to set IRK from BlueZ if privacy feature is disabled,
so this patch adds setting IRK interface to MGMT.

Change-Id: I68183b6003c6292e0f7c95b8fe9c0d04890063b5
Signed-off-by: h.sandeep <h.sandeep@samsung.com>
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
8 years agoBluetooth: add to support LE privacy 1.2 & MGMT to load device RPA resolution 41/97941/5
h.sandeep [Tue, 15 Nov 2016 11:08:58 +0000 (16:38 +0530)]
Bluetooth: add to support LE privacy 1.2 & MGMT to load device RPA resolution

RPA resolution support of peer device to be checked before starting
directed advertising. This patch load the resolution support info of
device and check before starting directed advertising.

Change-Id: Ia1e7b2ae1ef9d5e12877d96759cb9089b52c20b7
Signed-off-by: paras.kumar <paras.kumar@samsung.com>
Signed-off-by: h.sandeep <h.sandeep@samsung.com>
[Fix coding style and adjust commit-msg]
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
8 years agodrm: exynos: Remove unreachable code 13/98513/6 accepted/tizen/common/20161121.143505 accepted/tizen/ivi/20161121.235322 accepted/tizen/mobile/20161121.235307 accepted/tizen/tv/20161121.235312 accepted/tizen/wearable/20161121.235318 submit/tizen/20161121.092850
Sylwester Nawrocki [Fri, 18 Nov 2016 13:57:41 +0000 (14:57 +0100)]
drm: exynos: Remove unreachable code

This patch reworks function arguments testing to avoid unreachable code
as pointed out with an SVACE warning:

* UNREACHABLE_CODE: This statement in the source code might be unreachable
  during program execution.
   [unreachable] unreachable at drivers/gpu/drm/exynos/exynos_drm_ipp.c:1442
   [The condition property == 0 is always false because at this program
  point the variable property is always not equal to 0] The condition
  property == 0 is always false because at this program point the variable
  property is always not equal to 0 at drivers/gpu/drm/exynos/exynos_drm_ipp.c:1441

* UNREACHABLE_CODE: This statement in the source code might be unreachable
  during program execution.
    [unreachable] unreachable at drivers/gpu/drm/exynos/exynos_drm_ipp.c:1569
    [The condition event_work == 0 is always false because at this program point the
  variable event_work is always not equal to 0] The condition event_work == 0
  is always false because at this program point the variable event_work is
  always not equal to 0 at drivers/gpu/drm/exynos/exynos_drm_ipp.c:1568

Change-Id: I2a9426685c87047bf5ec3ee88b6cce4d1d7d6158
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
8 years agopackaging: odroid: Do Not Use profile macro 46/97446/3
MyungJoo Ham [Mon, 14 Nov 2016 07:42:32 +0000 (16:42 +0900)]
packaging: odroid: Do Not Use profile macro

It is to be obsolete in 4.0.

It is allowed to use "profile" macro ONLY for backward compatibility while
keeping the compatibility with unified build environment.
- Both are false in this usage.

Change-Id: Icd3d5f77304ca5f30d66c8dc8180360ad06cd0e9
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
8 years agopackaging: tm2: Do Not Use profile macro 45/97445/3
MyungJoo Ham [Mon, 14 Nov 2016 07:40:13 +0000 (16:40 +0900)]
packaging: tm2: Do Not Use profile macro

It is going to be obsolete soon.

Change-Id: I5add63e38f223ddf015e7bea600c3deef4458935
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
8 years agodrm/exynos/hdmi: Don't print error on deferral due to regulators 75/93975/5 accepted/tizen/common/20161117.085224 accepted/tizen/ivi/20161117.010705 accepted/tizen/mobile/20161117.010610 accepted/tizen/tv/20161117.010631 accepted/tizen/wearable/20161117.010651 submit/tizen/20161116.232344
Javier Martinez Canillas [Thu, 21 Apr 2016 18:51:38 +0000 (14:51 -0400)]
drm/exynos/hdmi: Don't print error on deferral due to regulators

The regulators may not be available just because their driver's probe
function was just not executed and so the regulators not registered.

So, in this case the Exynos HDMI driver should not print logs since
a -EPROBE_DEFER is not really an error and that will just pollute
the kernel log and confuse users.

This patch prevents the following misleading messages to be printed:

[    1.443638] [drm:hdmi_probe] *ERROR* failed to get regulators
[    1.449326] [drm:hdmi_probe] *ERROR* hdmi_resources_init failed

Change-Id: Ib23cf62b86f9aacb6e23b64b7716a77d96da83f8
Reported-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Signed-off-by: Javier Martinez Canillas <javier@osg.samsung.com>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
8 years agogpu: drm: exynos_hdmi: Remove duplicate initialization of regulator bulk consumer 74/93974/5
Andrzej Hajda [Tue, 25 Oct 2016 10:49:00 +0000 (12:49 +0200)]
gpu: drm: exynos_hdmi: Remove duplicate initialization of regulator bulk consumer

The helper, devm_regulator_bulk_get() initializes the consumer as NULL,
so this code can be ignored.

Change-Id: Ib23cf62b86f9aacb6e23b64b7716a77d96da87f8
Signed-off-by: Milo Kim <woogyom.kim@gmail.com>
Reviewed-by: Andrzej Hajda <a.hajda@samsung.com>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
8 years agogpu: drm: exynos_hdmi: Move PHY logic into single function 73/93973/5
Andrzej Hajda [Tue, 25 Oct 2016 10:47:22 +0000 (12:47 +0200)]
gpu: drm: exynos_hdmi: Move PHY logic into single function

Paring DT properties and getting PHY IO (memory mapped or I2C) in one
function.

Change-Id: Ibc94c66df85a81a8f5239b5d4f334686b6ae863d
Signed-off-by: Milo Kim <woogyom.kim@gmail.com>
Reviewed-by: Andrzej Hajda <a.hajda@samsung.com>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
8 years agogpu: drm: exynos_hdmi: Move DDC logic into single function 72/93972/5
Andrzej Hajda [Tue, 25 Oct 2016 10:45:14 +0000 (12:45 +0200)]
gpu: drm: exynos_hdmi: Move DDC logic into single function

Paring DT properties and getting the I2C adapter in one function.

Change-Id: I1df1b6294f61013110bcddb223a3b35fb5c17169
Signed-off-by: Milo Kim <woogyom.kim@gmail.com>
Reviewed-by: Andrzej Hajda <a.hajda@samsung.com>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
8 years agodrm/exynos/hdmi: improve infoframe configuration 71/93971/5
Andrzej Hajda [Tue, 25 Oct 2016 08:56:27 +0000 (10:56 +0200)]
drm/exynos/hdmi: improve infoframe configuration

Use core helpers to generate infoframes and add VSI frame generation
for UHD modes.

Change-Id: Ibea33cff20c6c4fa6b07a8e206770708a36fe53f
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
8 years agodrm/exynos/hdmi: always set PHY_POWER_OFF_EN bit 17/93517/6
Andrzej Hajda [Mon, 24 Oct 2016 13:17:41 +0000 (15:17 +0200)]
drm/exynos/hdmi: always set PHY_POWER_OFF_EN bit

The bit is present in all variants (its default value only differs).
The patch makes the code in-sync with mainline.

Change-Id: I6a2a8fcf9d7f8a5616f64eafec7722a4bf1675fa
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
8 years agodrm/exynos/hdmi: remove unused field 16/93516/6
Andrzej Hajda [Mon, 24 Oct 2016 13:11:56 +0000 (15:11 +0200)]
drm/exynos/hdmi: remove unused field

The patch removes unused hdmi_context field.

Change-Id: Id8836961b6dca7c2a09f7d4a99c3455c96057eb6
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
Reviewed-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
8 years agodrm/exynos/hdmi: use array specifier for HDMI-PHY configurations 15/93515/6
Andrzej Hajda [Mon, 24 Oct 2016 13:09:26 +0000 (15:09 +0200)]
drm/exynos/hdmi: use array specifier for HDMI-PHY configurations

HDMI-PHY configurations are stored as array pointer and count pair,
we can re-use existing helpers to simplify their initialization.

Change-Id: Ie387a23428711edc5c027661ac0b1c623c19c468
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
8 years agodrm/exynos/hdmi: synchronize sysreg code with mainline 14/93514/6
Andrzej Hajda [Mon, 24 Oct 2016 12:15:12 +0000 (14:15 +0200)]
drm/exynos/hdmi: synchronize sysreg code with mainline

There are no other users of sysreg besides 5433. The code can be simplified.
The patch synchronizes the code with mainline.

Change-Id: Ie6996e69388b2ea5afece292b56317d60caa91b0
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
8 years agodrm/exynos/hdmi: improve clock routines 13/93513/6
Andrzej Hajda [Mon, 24 Oct 2016 11:53:22 +0000 (13:53 +0200)]
drm/exynos/hdmi: improve clock routines

The patch:
- adds unwind code to hdmi_clk_enable_gates,
- simplifies code,
- moves routines up, to match mainline.

Change-Id: I79055471688400b6f449c87d210ae698166acb68
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
8 years agodrm/exynos/hdmi: constify global variables 12/93512/6
Andrzej Hajda [Mon, 24 Oct 2016 11:08:44 +0000 (13:08 +0200)]
drm/exynos/hdmi: constify global variables

These variables should not be modified.

Change-Id: I9cef5d79465e24d3bc1d825afb94cccc09ff1756
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
8 years agodrm/exynos/hdmi: convert to gpiod API 11/93511/6
Andrzej Hajda [Mon, 24 Oct 2016 10:12:24 +0000 (12:12 +0200)]
drm/exynos/hdmi: convert to gpiod API

The patch converts API to gpiod and moves initialization code
to hdmi_resources_init.

Change-Id: I5136395b16f3f50defa81be6406d137f3c103e35
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
8 years agodrm/exynos/hdmi: fix edid memory leak 10/93510/6
Andrzej Hajda [Thu, 9 Jul 2015 06:25:38 +0000 (08:25 +0200)]
drm/exynos/hdmi: fix edid memory leak

edid returned by drm_get_edid should be freed.
The patch fixes it.

Change-Id: Ied8d60b6a1e12409037defb04be4bcf0c906690d
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
Reviewed-by: Joonyoung Shim <jy0922.shim@samsung.com>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
8 years agodrm/exynos/hdmi: remove registry dump 09/93509/6
Andrzej Hajda [Mon, 24 Oct 2016 09:51:13 +0000 (11:51 +0200)]
drm/exynos/hdmi: remove registry dump

HDMI registry dump unnecessary spoils console and is not very helpful.

Change-Id: I6155d370fa69e3da620c28c86bf41d17a398c6c3
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
8 years agodrm/exynos/hdmi: use optional regulator_get for hdmi-en 08/93508/6
Andrzej Hajda [Mon, 24 Oct 2016 09:40:48 +0000 (11:40 +0200)]
drm/exynos/hdmi: use optional regulator_get for hdmi-en

hdmi-en is an optional regulator so it should be better handled by
devm_regulator_get_optional call.

Change-Id: I2cbb12c54c43b10ebac76a00a5ef954c2ae627f6
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
8 years agodrm/exynos/hdmi: use constant size array for regulators 07/93507/6
Andrzej Hajda [Mon, 24 Oct 2016 09:33:49 +0000 (11:33 +0200)]
drm/exynos/hdmi: use constant size array for regulators

Driver always uses the same number of regulators, so there is no point in
dynamic allocation.

Change-Id: I8227ea4e341c55f1932f1e88e1138bb50271a749
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
Reviewed-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
8 years agodrm/exynos/hdmi: remove deprecated hdmi_resources structure 06/93506/6
Andrzej Hajda [Mon, 24 Oct 2016 09:04:03 +0000 (11:04 +0200)]
drm/exynos/hdmi: remove deprecated hdmi_resources structure

hdmi_resources structure was filled by old platform data code and is not
necessary anymore. The patch removes it at groups together resource related
fields in hdmi_context.
The patch is back-ported from mainline.

Change-Id: Iab2209a9177749ce526569e32c6695d4b09272dc
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
8 years agodrm/exynos/hdmi: improve HDMI/ACR related code 05/93505/6
Andrzej Hajda [Fri, 25 Sep 2015 12:48:27 +0000 (14:48 +0200)]
drm/exynos/hdmi: improve HDMI/ACR related code

Simple formula can be used to calculate CTS and N coefficients.
Additionaly ACR registers have different offsets for different versions
of IP.

Change-Id: I41be0b432da51651c007428fce7c7c4870ef1cb6
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
8 years agodrm/exynos/hdmi: use mappings for registers with IP dependent address 04/93504/6
Andrzej Hajda [Mon, 24 Oct 2016 07:57:34 +0000 (09:57 +0200)]
drm/exynos/hdmi: use mappings for registers with IP dependent address

Some registers resides at different offsets depending on device version.
This patch adds infrastructure for mapping such registers to proper address
based on hdmi_type. It adds also mappings to some registers.

Change-Id: Ic345e1a4cb398aebea62b50fd86a44f30b5fd1e5
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
Reviewed-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
8 years agodrm/exynos/hdmi: stop duplicating drv_data fields 06/93306/7
Andrzej Hajda [Fri, 21 Oct 2016 13:34:37 +0000 (15:34 +0200)]
drm/exynos/hdmi: stop duplicating drv_data fields

The patch removes duplicated drv_data fields and simplifies drv_data
matching.

Change-Id: I78abbd6dfee0d05c7095ae176fc8e080e233fd64
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
8 years agodrm/exynos/hdmi: refactor struct str_array_spec 05/93305/7
Andrzej Hajda [Fri, 21 Oct 2016 12:56:43 +0000 (14:56 +0200)]
drm/exynos/hdmi: refactor struct str_array_spec

The patch constifies array and renames symbols to be in sync with mainline.

Change-Id: Ife8aa1b6adde978dbf71fc7c57bd18e01f50fdd7
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
8 years agodrm/exynos/hdmi: stop programming registers with default values 04/93304/7
Andrzej Hajda [Fri, 21 Oct 2016 12:16:08 +0000 (14:16 +0200)]
drm/exynos/hdmi: stop programming registers with default values

There is no point in rewriting default values, as the IP is reset anyway.

Change-Id: I9c0856d48be83a36ed4a8741e86715353acbf2d0
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
8 years agodrm/exynos/hdmi: move hdmi_start to hdmi_mode_apply 03/93303/7
Andrzej Hajda [Fri, 21 Oct 2016 12:14:37 +0000 (14:14 +0200)]
drm/exynos/hdmi: move hdmi_start to hdmi_mode_apply

hdmi_start is called for both variants.

Change-Id: I6da89cf21599a760c793121f3ae637eca7cc77ff
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
8 years agodrm/exynos/hdmi: remove hdmi_v14_conf struct 02/93302/7
Andrzej Hajda [Fri, 21 Oct 2016 12:00:13 +0000 (14:00 +0200)]
drm/exynos/hdmi: remove hdmi_v14_conf struct

The patch removes intermediate struct for HDMIv14 register configuration,
instead registry values are calculated on the fly.

Change-Id: Ib440e0ab375f4eafdc5e6d3e06fcf64ce212ad84
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
Reviewed-by: Joonyoung Shim <jy0922.shim@samsung.com>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
8 years agodrm/exynos/hdmi: remove hdmi_v13_conf struct 01/93301/7
Andrzej Hajda [Fri, 21 Oct 2016 11:40:38 +0000 (13:40 +0200)]
drm/exynos/hdmi: remove hdmi_v13_conf struct

The patch removes intermediate struct for HDMIv13 register configuration,
instead registry values are calculated on the fly.

Change-Id: I4a47b99afda16f9fc928ff3f91359be67c4dc55f
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
Reviewed-by: Joonyoung Shim <jy0922.shim@samsung.com>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
8 years agodrm/exynos/hdmi: remove redundant configuration fields 00/93300/8
Andrzej Hajda [Thu, 27 Oct 2016 08:24:05 +0000 (10:24 +0200)]
drm/exynos/hdmi: remove redundant configuration fields

The patch removes redundant fields from hdmi_conf_regs. Their values
can be calculated from current_mode. This patch is the first step to remove
whole hdmi_conf_regs structure.

Change-Id: Id40fe15302b2546410f68323e92d136eb93b990a
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
Reviewed-by: Joonyoung Shim <jy0922.shim@samsung.com>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
8 years agodrm/exynos/hdmi: add 297MHz pixel clock support 54/93054/6
Andrzej Hajda [Thu, 20 Oct 2016 07:14:42 +0000 (09:14 +0200)]
drm/exynos/hdmi: add 297MHz pixel clock support

297MHz is used by UHD modes.

Change-Id: I2040adcc3f132dbf1d510309527a9e1574008961
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
8 years agodrm/bridge/sii8620: synchronize headers with mainline 56/92956/6
Andrzej Hajda [Wed, 19 Oct 2016 12:20:44 +0000 (14:20 +0200)]
drm/bridge/sii8620: synchronize headers with mainline

This patch does not provide functional change.
Its main role is to synchronize header files with mainline.

Change-Id: Ia6f338cc3ec1d50728a9e0e946211451f40e7420
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
8 years agodrm/bridge/sii8620: rename files according to mainline 55/92955/6
Andrzej Hajda [Wed, 19 Oct 2016 12:15:06 +0000 (14:15 +0200)]
drm/bridge/sii8620: rename files according to mainline

The patch synchronizes file names with mainline.

Change-Id: I6aa491f2d7858f90055e7ea9bce00e8bb7db50e2
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
8 years agodrm/bridge/sii8620: coding style fixes 54/92954/6
Andrzej Hajda [Wed, 19 Oct 2016 11:52:20 +0000 (13:52 +0200)]
drm/bridge/sii8620: coding style fixes

The patch does not provide functional change beside code style fixing
and synchronizing driver with mainline.

Change-Id: I5dc303ead4af81883c5199e9eaef7e73733a599b
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
8 years agodrm/bridge/sii8620: use lower-case for i2c_device_id 53/92953/6
Andrzej Hajda [Wed, 19 Oct 2016 11:43:38 +0000 (13:43 +0200)]
drm/bridge/sii8620: use lower-case for i2c_device_id

Linux I2C device use lower-case for identification.

Change-Id: I7a86fef880c5c969897658a710c05ead37b74f2b
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
8 years agodrm/bridge/sii8620: add missing error checking 52/92952/6
Andrzej Hajda [Wed, 19 Oct 2016 11:42:05 +0000 (13:42 +0200)]
drm/bridge/sii8620: add missing error checking

The patch adds error checking during initialization and in irq handler.

Change-Id: I26777455fb5ff86c91455a683b6cf5642fe2ed31
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
8 years agodrm/bridge/sii8620: improve on/off sequence 51/92951/6
Andrzej Hajda [Wed, 19 Oct 2016 11:25:21 +0000 (13:25 +0200)]
drm/bridge/sii8620: improve on/off sequence

The patch puts clock management into on/off functions and adds neccessary
delay after regulator enable.

Change-Id: I4fc052eb21058e787355a8f2dfeb75b05a5d5341
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
8 years agodrm/bridge/sii8620: fix reset line logic 50/92950/6
Andrzej Hajda [Wed, 19 Oct 2016 11:23:30 +0000 (13:23 +0200)]
drm/bridge/sii8620: fix reset line logic

Reset line is active in low state, previous configuration was incorrect,
but it worked because logic was also inverted in the driver.
The patch fixes it. To keep bisectability both changes are put into one patch.
The patch adjusts also delays.

Change-Id: I07d08f763fa5ed4805eb638c1d2bb1ddd3328680
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
8 years agodrm/bridge/sii8620: remove single-use-only in-liner 49/92949/6
Andrzej Hajda [Tue, 18 Oct 2016 14:08:02 +0000 (16:08 +0200)]
drm/bridge/sii8620: remove single-use-only in-liner

sii8620_edid_size is used only once and is simple enough to be removed.

Change-Id: Idd53dbccc381722216c81d7a49e284f701435165
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
8 years agodrm/bridge/sii8620: fix EDID fetch code 48/92948/6
Andrzej Hajda [Tue, 18 Oct 2016 14:03:03 +0000 (16:03 +0200)]
drm/bridge/sii8620: fix EDID fetch code

The patch adds handling errors during EDID fetch. Additionally it makes
code cleanup.

Change-Id: Icb94df6386d4b18ee5f7756991d0419b90763157
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
8 years agodrm/bridge/sii8620: simplify sii8620_mt_read_devcap code 47/92947/7
Andrzej Hajda [Tue, 18 Oct 2016 12:13:35 +0000 (14:13 +0200)]
drm/bridge/sii8620: simplify sii8620_mt_read_devcap code

Use helper instead of direct allocation.

Change-Id: I5137e43f8e6f8ed0614f38969634cd1f5c5aec56
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
8 years agodrm/bridge/sii8620: stop using macros having NULL values 46/92946/7
Andrzej Hajda [Tue, 18 Oct 2016 12:08:10 +0000 (14:08 +0200)]
drm/bridge/sii8620: stop using macros having NULL values

Many VAL_* macros represent single unset bit, ie their value is 0.
These macros are confusing and obfuscates the code.
The patch removes all uses of such macros, and replaces all
uses of single-set-bit VAL_* macros with their BIT_* equivalent.
Beside cleaning it makes the driver closer to the mainline.

Change-Id: Ib96a329d4023affe3d39bfff746af8773871c6d3
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
8 years agoUseless and Dangerous Spec Statement 44/97444/1
MyungJoo Ham [Mon, 14 Nov 2016 07:38:41 +0000 (16:38 +0900)]
Useless and Dangerous Spec Statement

- Do Not Use "profile"

- If you do not want tm2 in non-mobile, just do not include
it in non-mobile Build Project.

Change-Id: Iec9652db7480d00d1e4de2405d3826bd98ddc039
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
8 years agoARM: defconfig: odroid: enable USB PEAK CAN driver 37/97337/1 accepted/tizen/common/20161114.171438 accepted/tizen/ivi/20161114.074007 accepted/tizen/mobile/20161114.073910 accepted/tizen/tv/20161114.073931 accepted/tizen/wearable/20161114.073948 submit/tizen/20161114.022710
Sangjung Woo [Sat, 12 Nov 2016 02:55:56 +0000 (11:55 +0900)]
ARM: defconfig: odroid: enable USB PEAK CAN driver

In order to support USB PEAK CAN driver, this patch enables it.

Change-Id: I7d859e657cd22ed753b93e41194b7a1eadf1f8fe
Signed-off-by: Sangjung Woo <sangjung.woo@samsung.com>
8 years agokdbus: cmdline emptiness check fix 26/92326/3
Konrad Lipinski [Wed, 12 Oct 2016 10:54:15 +0000 (12:54 +0200)]
kdbus: cmdline emptiness check fix

[ This commit re-applies change Ia925fa43bf4c50ab707be98f275b50808782f063 to new kdbus upstream version. ]
Signed-off-by: Karol Lewandowski <k.lewandowsk@samsung.com>
Change-Id: Ia03913a35dba34567c1bd99afbfe138ea7a5d133

8 years agodrm/exynos: fix error handling in exynos_drm_subdrv_open 50/94450/3
Arnd Bergmann [Mon, 14 Mar 2016 14:22:25 +0000 (15:22 +0100)]
drm/exynos: fix error handling in exynos_drm_subdrv_open

gcc-6 warns about a pointless loop in exynos_drm_subdrv_open:

drivers/gpu/drm/exynos/exynos_drm_core.c: In function 'exynos_drm_subdrv_open':
drivers/gpu/drm/exynos/exynos_drm_core.c:104:199: error: self-comparison always evaluates to false [-Werror=tautological-compare]
  list_for_each_entry_reverse(subdrv, &subdrv->list, list) {

Here, the list_for_each_entry_reverse immediately terminates because
the subdrv pointer is compared to itself as the loop end condition.

If we were to take the current subdrv pointer as the start of the
list (as we would do if list_for_each_entry_reverse() was not a macro),
we would iterate backwards over the &exynos_drm_subdrv_list anchor,
which would be even worse.

Instead, we need to use list_for_each_entry_continue_reverse()
to go back over each subdrv that was successfully opened until
the first entry.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
[Backport from mainline to fix build warning with gcc6]
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
Change-Id: Iee4b9078f0bd521507716521a339b37ea5dd8776

8 years agopackaging: switch find calls from -exec to -delete and xargs 12/92812/4
Slava Barinov [Wed, 12 Oct 2016 09:06:23 +0000 (12:06 +0300)]
packaging: switch find calls from -exec to -delete and xargs

The -delete and xargs approach is faster than -exec and in
Tizen 3.0 cross-builds it grants huge build acceleration due
to tool acceleration system peculiarities.

Change-Id: Ibbbb82962235cd098cd6952c288e9f120bb63ed3
Signed-off-by: Slava Barinov <v.barinov@samsung.com>
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
8 years agomm: remove gup_flags FOLL_WRITE games from __get_user_pages() 69/94469/1 accepted/tizen/common/20161031.122108 accepted/tizen/ivi/20161101.005239 accepted/tizen/mobile/20161101.005146 accepted/tizen/tv/20161101.005159 accepted/tizen/wearable/20161101.005219 submit/tizen/20161031.063553 submit/tizen/20161031.074716
Linus Torvalds [Thu, 13 Oct 2016 20:07:36 +0000 (13:07 -0700)]
mm: remove gup_flags FOLL_WRITE games from __get_user_pages()

[ Upstream commit 19be0eaffa3ac7d8eb6784ad9bdbc7d67ed8e619 ]

This is an ancient bug that was actually attempted to be fixed once
(badly) by me eleven years ago in commit 4ceb5db9757a ("Fix
get_user_pages() race for write access") but that was then undone due to
problems on s390 by commit f33ea7f404e5 ("fix get_user_pages bug").

In the meantime, the s390 situation has long been fixed, and we can now
fix it by checking the pte_dirty() bit properly (and do it better).  The
s390 dirty bit was implemented in abf09bed3cce ("s390/mm: implement
software dirty bits") which made it into v3.9.  Earlier kernels will
have to look at the page state itself.

Also, the VM has become more scalable, and what used a purely
theoretical race back then has become easier to trigger.

To fix it, we introduce a new internal FOLL_COW flag to mark the "yes,
we already did a COW" rather than play racy games with FOLL_WRITE that
is very fundamental, and then use the pte dirty flag to validate that
the FOLL_COW flag is still valid.

Change-Id: Id6048418817ef29d04bf4e2a5c4e39ece812be81
Reported-and-tested-by: Phil "not Paul" Oester <kernel@linuxace.com>
Acked-by: Hugh Dickins <hughd@google.com>
Reviewed-by: Michal Hocko <mhocko@suse.com>
Cc: Andy Lutomirski <luto@kernel.org>
Cc: Kees Cook <keescook@chromium.org>
Cc: Oleg Nesterov <oleg@redhat.com>
Cc: Willy Tarreau <w@1wt.eu>
Cc: Nick Piggin <npiggin@gmail.com>
Cc: Greg Thelen <gthelen@google.com>
Cc: stable@vger.kernel.org
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
8 years agoRevert "Fix for enabling self-broadcast-signal subscription" 77/92977/2
Karol Lewandowski [Wed, 19 Oct 2016 15:53:52 +0000 (17:53 +0200)]
Revert "Fix for enabling self-broadcast-signal subscription"

This reverts commit 8ebcf6b29cbc2838841b4eb5875a59c70f187b68.

Original fix is no longer needed - proper one has been applied
to systemd, which now does not forward broadcasts to itself
when kdbus is used.

Reference: https://github.com/systemd/systemd/commit/0a069ce62de904ae9cbaf23d026ac380b02e50e4

    core: harden cgroups-agent forwarding
    Author: David Herrmann <dh.herrmann@gmail.com>

    Furthermore, never forward broadcasts we sent ourself. This might happen
    on kdbus, as we forward the message on the same bus we received it on,
    thus ending up in an endless loop.

Change-Id: Ic81e519669603a839f863b931908e45c064501d8
Signed-off-by: Karol Lewandowski <k.lewandowsk@samsung.com>
8 years agopwm: samsung: Fix to use lowest div for large enough modulation bits 73/93573/1
Seung-Woo Kim [Tue, 16 Aug 2016 14:22:01 +0000 (23:22 +0900)]
pwm: samsung: Fix to use lowest div for large enough modulation bits

From pwm_samsung_calc_tin(), there is routine to find the lowest divider
possible to generate lower frequency than requested one. But it is
always possible to generate requested frequency with large enough
modulation bits except on s3c24xx, so this patch fixes to use lowest div
for the case. This patch removes following UBSAN warning:

   UBSAN: Undefined behaviour in drivers/pwm/pwm-samsung.c:197:13
   shift exponent 32 is too large for 32-bit type 'long unsigned int'
   [...]
   [<c0670248>] (ubsan_epilogue) from [<c06707b4>] (__ubsan_handle_shift_out_of_bounds+0xd8/0x120)
   [<c06707b4>] (__ubsan_handle_shift_out_of_bounds) from [<c0694b28>] (pwm_samsung_config+0x508/0x6a4)
   [<c0694b28>] (pwm_samsung_config) from [<c069286c>] (pwm_apply_state+0x174/0x40c)
   [<c069286c>] (pwm_apply_state) from [<c0b2e070>] (pwm_fan_probe+0xc8/0x488)
   [<c0b2e070>] (pwm_fan_probe) from [<c07ba8b0>] (platform_drv_probe+0x70/0x150)
   [...]

Cc: Tomasz Figa <tomasz.figa@gmail.com>
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
Reviewed-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Signed-off-by: Thierry Reding <thierry.reding@gmail.com>
[Backport from mainline to remove UBSAN warning]
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
Change-Id: Idf20ea7ccb2d20d0317e5c82498dd1e7fa3656cc

8 years agosensors: brcm: bbdpl2: fix log messages to info level with new line 94/93394/2
Seung-Woo Kim [Mon, 24 Oct 2016 05:53:59 +0000 (14:53 +0900)]
sensors: brcm: bbdpl2: fix log messages to info level with new line

This patch fixes log messages to info level and adds new line
character to log messages.

Change-Id: I71fe0a46f6b1d5e1c2cd590e8681bcda29004b39
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
8 years agoASoC: max98090: Add extcon support for jack detection notification 58/93258/5
Dongwoo Lee [Fri, 21 Oct 2016 02:51:46 +0000 (11:51 +0900)]
ASoC: max98090: Add extcon support for jack detection notification

This patch applies extcon for jack detection notification.
Changes in jack state is reported to input driver with snd-soc
framework, as well as to extcon framework.

Change-Id: Id46f10320b18258472521fad57cbbfc98547bb6d
Signed-off-by: Dongwoo Lee <dwoo08.lee@samsung.com>
8 years agoASoC: max98090: fix interrupt handling problem 59/93259/5
Dongwoo Lee [Fri, 21 Oct 2016 07:51:40 +0000 (16:51 +0900)]
ASoC: max98090: fix interrupt handling problem

The max98090_interrupt handler currently will read the device status
register. After that, it will act only when the JDET bit is set.
However, when max98090_interrupt handler is triggered and jack status
register has really changed, the JDET bit of device status register
is not set as expected for unknown reason. Because of this, the jack status cannot be reported.

This patch adds a workaround solution for jack detection, by adding
the second chance to recognize the reason of interrupt generation.
If the interrupt is generated without setting any values on device
status register, jack status register is compared to the current jack
states. If the jack status is changed, the JDET bit is manually set.

Change-Id: I74f6fb54fb9cc47e292f1f8e116032faae89c063
Reported-by: Huang Chao <chao7.huang@samsung.com>
Signed-off-by: Dongwoo Lee <dwoo08.lee@samsung.com>
8 years agoBluetooth: Don't send the sco vendor commands to other vendor chips 80/93180/5
DoHyun Pyun [Fri, 21 Oct 2016 00:10:04 +0000 (09:10 +0900)]
Bluetooth: Don't send the sco vendor commands to other vendor chips

There are BCM sco WBC/NBC commands, and they are only for BCM chips.
So this patch fix not to send the sco commands to non BCM vendor
chips which causes sco command timeout and disconnection.

Change-Id: Iae67b6e6de2ecf68b79e47136c2b80aa530a281c
Signed-off-by: DoHyun Pyun <dh79.pyun@samsung.com>
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
8 years agoARM: defconfig: odroid: enable tethering & its related options 26/92926/2
Sangjung Woo [Wed, 19 Oct 2016 10:53:59 +0000 (19:53 +0900)]
ARM: defconfig: odroid: enable tethering & its related options

In order to support Network tethering, this patch enables its related
options.

Change-Id: I4a358b5df65c539d0b56331040b28711ab096078
Signed-off-by: Sangjung Woo <sangjung.woo@samsung.com>
Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
8 years agodrm/bridge/sii8620: improve reading device capabilities function 11/92611/1
Andrzej Hajda [Mon, 17 Oct 2016 13:57:03 +0000 (15:57 +0200)]
drm/bridge/sii8620: improve reading device capabilities function

This patch adds error checks, improves logging and constifies static array.
As a result the function is similar to mainline, except missing sink
name reporting which is not yet supported by drm core.

Change-Id: Icf7a72f0b9098f74f04e039c8c5dc5dfa3c59e17
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>