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>
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>
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>
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>
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>
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>
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
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
Andrzej Hajda [Mon, 17 Oct 2016 12:43:47 +0000 (14:43 +0200)]
drm/bridge/sii8620: abstract out common MSC command
Four different functions share the same code, this patch abstracts out
the common part.
Change-Id: Ia2c7ccb59863be03bf47d61ec979c72bb3258df6
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
Andrzej Hajda [Mon, 17 Oct 2016 12:37:47 +0000 (14:37 +0200)]
drm/bridge/sii8620: fix message worker function
Messages should not be handled in error and busy state. Also state should
be update on success.
Change-Id: Ib6ac51f920cb44f75628cbec78b3bb32774816ff
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
Andrzej Hajda [Mon, 17 Oct 2016 12:21:37 +0000 (14:21 +0200)]
drm/bridge/sii8620: add message queue cleanup
Queue should be cleaned up on disconnect, otherwise we risk misbehavior.
Change-Id: I4f212e1c36ac75f6f72102b24a1c5b14a932aeca
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
Andrzej Hajda [Mon, 17 Oct 2016 12:12:18 +0000 (14:12 +0200)]
drm/bridge/sii8620: rename symbol names
The patch renames variables and defines to match these in mainline.
Change-Id: Iec05a4477001d57aa09fc34e1eec2c330f84253d
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
Andrzej Hajda [Mon, 17 Oct 2016 11:14:10 +0000 (13:14 +0200)]
drm/bridge/sii8620: simplify sii8620_mt_msc_cmd_send
The patch removes cryptic temporary array of parameters.
Change-Id: If9233291a0e23e1603ac5d9b6766a0fb2166723f
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
Andrzej Hajda [Mon, 17 Oct 2016 11:08:17 +0000 (13:08 +0200)]
drm/bridge/sii8620: improve transfer logs
Use dev_dbg instead of pr_debug and prettify error logs.
Change-Id: I2e7f568ce3fddab8607c83bfa3b6cdfa1af49586
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
Andrzej Hajda [Mon, 17 Oct 2016 10:25:52 +0000 (12:25 +0200)]
drm/bridge/sii8620: use static version of sii8620_write_seq if possible
Static version should be used whenever arguments are static.
Change-Id: I6b5552cf27109cfa483e248cb25d02216672de23
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
Andrzej Hajda [Mon, 17 Oct 2016 10:17:38 +0000 (12:17 +0200)]
drm/bridge/sii8620: re-factor registry access code
The patch constifies arguments if possible, adds static version of
sii8620_write_seq and simplifies sii8620_setbits.
All these changes allows to optimize code and synchronize driver with mainline.
Change-Id: I7432156e0dbe47b53f012c4f8561c71e587ba9d3
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
Andrzej Hajda [Fri, 14 Oct 2016 13:54:01 +0000 (15:54 +0200)]
ARM64: dts: exynos5433-tm2(e): sii8620 remove obsolete int-gpio properties
These properties are not needed anymore as the driver has been converted
to interrupt properties.
Change-Id: I255287ea913b62c286c1a0c62bdf772d33055c49
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
Andrzej Hajda [Fri, 14 Oct 2016 13:52:22 +0000 (15:52 +0200)]
drm/bridge/sii8620: use I2C to parse interrupt DT properties
Interrupts should be handled by I2C core instead of private gpios.
Change-Id: Ib4d3b107f398d77c549d2334c4508f69b26427f9
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
Andrzej Hajda [Fri, 14 Oct 2016 13:48:46 +0000 (15:48 +0200)]
ARM64: dts: exynos5433-tm2(e): sii8620 add interrupt properties
Add interrupts property to represent interrupt pin.
Obsolete int-gpio will be removed after driver update to keep bisectability.
Change-Id: I3c766f45cc37a7765f84cabcbee24d5d551dc113
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
Andrzej Hajda [Fri, 14 Oct 2016 13:20:49 +0000 (15:20 +0200)]
drm/bridge/sii8620: re-factor context fields
The patch makes names of some fields more adequate to their function.
It replaces also mt state fields with enum.
This patch synchronizes fields names with upstream driver.
Change-Id: Ia832a687f02124998db77fd6e3cd973b6f00a7af
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
Andrzej Hajda [Wed, 5 Oct 2016 10:03:09 +0000 (12:03 +0200)]
drm/exynos/dsi: mimic indentation of mainline driver
This patch synchronizes indentation from mainline driver.
It helps in developing dsi driver in both branches.
Change-Id: I3ad3704d0cf9d58a4021cbc8c52ec4201a5f5724
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
Philipp Zabel [Tue, 3 May 2016 13:47:25 +0000 (15:47 +0200)]
drm/exynos/dsi: use of_graph_get_endpoint_by_regs helper
This allows to remove the local of_graph_get_port_by_reg(),
of_graph_get_endpoint_by_reg(), and of_get_child_by_name_reg()
functions.
Change-Id: Ia8d8e6f9f34bbde91a5f8d9c600a2b8fe5d3f80d
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
Reviewed-by: Andrzej Hajda <a.hajda@samsung.com>
Reviewed-by: Inki Dae <inki.dae@samsung.com>
Andrzej Hajda [Wed, 17 Feb 2016 13:33:08 +0000 (14:33 +0100)]
drm/exynos/dsi: use core helper to create DSI packet
Core provides generic helper to create DSI packet, use it instead of
custom code.
Change-Id: I365c64ba52b85ac1b39dbdab8bb2ccdf6620b279
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
Andrzej Hajda [Wed, 5 Oct 2016 08:22:47 +0000 (10:22 +0200)]
drm/exynos/dsi: constify read-only variables
Change-Id: Ie9d4cea15e40408ed3a8c8f84002da465c0cae90
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
Andrzej Hajda [Wed, 5 Oct 2016 08:51:42 +0000 (10:51 +0200)]
drm/exynos: support exynos5422 mipi-dsi
This patch supports mipi dsi for exynos5422. The dsi register
offsets of the exynos5422 are similar with exynos5433. However,
the values of the registers are quite different from the
exynos5433. For example, the exynos5422 uses sw reset like
previous chips.
Change-Id: I82f19afc66c2893a1bfb9d09ea56e631f67921ae
Signed-off-by: Chanho Park <chanho61.park@samsung.com>
Reviewed-by: Andrzej Hajda <a.hajda@samsung.com>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
Andrzej Hajda [Wed, 5 Oct 2016 07:57:12 +0000 (09:57 +0200)]
drm/exynos/dsi: rename variables to match mainline kernel
Decreasing number of differences in tizen and mainline
should simplify development of both branches.
Change-Id: I7b0ef48f01a9681e4661434916d410e1d173a30d
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
Andrzej Hajda [Mon, 17 Oct 2016 09:07:23 +0000 (11:07 +0200)]
drm/exynos/dsi: replace registry access macros with functions
Functions are preferred over macros as more type-safe.
Change-Id: I24a618d1c8189ad5606db4529178811957b062bb
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
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>
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
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
Lukasz Skalski [Wed, 20 Jul 2016 16:21:25 +0000 (18:21 +0200)]
kdbus: allowing sending replies even if NO_EXPECT_REPLY is set
[ This commit re-applies change I34427f381957dd8d366e9e4d837d5a2a34a39cc1 to new kdbus upstream version. ]
Signed-off-by: Karol Lewandowski <k.lewandowsk@samsung.com>
Change-Id: I6155f3599e59cd880267d9c03b0212b47ec9a64c
Konrad Lipinski [Fri, 15 Jul 2016 11:15:05 +0000 (13:15 +0200)]
kdbus: allow unix domain socket fd passing
[ This commit re-applies change Ifafec44da924ec8ed677629606c92a45e7171636 to new kdbus upstream version. ]
Signed-off-by: Karol Lewandowski <k.lewandowsk@samsung.com>
Change-Id: Ib293d0d864a3a91cf8422bcccc1f7593285868a1
Karol Lewandowski [Thu, 6 Oct 2016 12:20:24 +0000 (14:20 +0200)]
kdbus: Upgrade driver to newer upstream version
This commit upgrades kdbus ipc driver from v4 patchset, as posted on lkml
for review by Greg Kroah-Hartman on Mar 09 2015 to commit
0c05fbdc82f from
new upstream kdbus repository (git://github.com/systemd/kdbus).
Summary of major changes:
* message importer rewritten - considerably reduces internal message
processing overhead,
* name registration reworked to follow DBus Specification precisely,
* attached metadata now follow /proc access checks
* reduced in-kernel stack buffer to 256 bytes for small messages
Change-Id: I6d849173b4289e1b684ed1a9b48e6e0b361e5d53
Konrad Lipinski [Wed, 12 Oct 2016 10:54:15 +0000 (12:54 +0200)]
kdbus: cmdline emptiness check fix
Change-Id: Ia925fa43bf4c50ab707be98f275b50808782f063
INSUN PYO [Tue, 11 Oct 2016 06:14:46 +0000 (15:14 +0900)]
kdbus: allow senders to receive own broadcasts
The dbus1 spec does not place a restriction on who can receive broadcasts.
As long as the sender has a MATCH-rule on itself, it can as well receive
its own broadcasts.
As it turns out, user-space currently relies on this feature. So make sure
to allow this just like dbus1. If we find some client that does not work
with this, we will have to turn it into a HELLO-flag. Until then, just try
to adjust the default behavior.
Signed-off-by: INSUN PYO <insun.pyo@samsung.com>
Change-Id: I83702b59039062967ec2875e268a17d647902a87
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>
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>
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>
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>
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>
Sangjung Woo [Mon, 10 Oct 2016 05:03:14 +0000 (14:03 +0900)]
ARM: defconfig: odroid: enable CAN and VCAN options.
In order to support CAN (i.e. Controller Area Network), this patch
enables CAN and its related options like VCAN.
Change-Id: I4d709b0be98c1ed1c307925fd5cdca0058ea6847
Signed-off-by: Sangjung Woo <sangjung.woo@samsung.com>
Łukasz Stelmach [Thu, 6 Oct 2016 14:42:34 +0000 (16:42 +0200)]
ARM: dts: add mmc detect gpio for exynos5422-odroidxu3/4
The patch adds gpio for detecting presence of MMC card.
It fixes issue with kernel hang when MMC card is missing
and prevents flooding kernel log with mmc bus parameters.
Change-Id: I6eca44d9942c9f5958dba68a98ea25f2809ed20d
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
Signed-off-by: Łukasz Stelmach <l.stelmach@samsung.com>
Signed-off-by: Kukjin Kim <kgene@kernel.org>
Origin: https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=
fb1aeedb61adcb7651eada9eb79ddfa11f21f085
Inki Dae [Fri, 19 Aug 2016 11:46:09 +0000 (13:46 +0200)]
drm/exynos: add trace support
This patch adds trace support and also inserts
two trace points, one is win_commit and other is finish_pageflip.
These would give us help to trace pageflip operation.
Change-Id: I1cd912f03703ae40d3fe45a4b329eddfce5178e4
Signed-off-by: Inki Dae <inki.dae@samsung.com>
[squashed with bugfixes and ported to v4.1 Tizen kernel]
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Marek Szyprowski [Fri, 19 Aug 2016 12:11:00 +0000 (14:11 +0200)]
ARM: tizen_{odroid,tm2}_defconfig: enable DMA BUF FENCE support
Change-Id: I963eaef32f09f32f3e93418e6c236964ee0e54ad
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Inki Dae [Fri, 19 Aug 2016 11:44:54 +0000 (13:44 +0200)]
drm/exynos: fence: add dma fence support
This patch adds DMA fence based DMABUF synchronization feature.
The original codes of this feature is a below repository,
https://chromium.googlesource.com/chromiumos/third_party/kernel
chromeos-3.14
Change-Id: I4bcefb1487d6a85530fcd5ea4dde5fba435bb827
Signed-off-by: Inki Dae <inki.dae@samsung.com>
[squashed with bugfixes and ported to v4.1 Tizen kernel]
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Dominik Behr [Fri, 19 Aug 2016 11:44:17 +0000 (13:44 +0200)]
drm: add helpers for fence and reservation based dma-buf sync
BUG=chromium:395901
TEST=emerge-veyron chromeos-kernel-3_14, deploy and boot kernel
Change-Id: I0cdf6d23e9f4924128d4de77c0f3ed7589766bb8
Signed-off-by: Dominik Behr <dbehr@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/218381
[mszyprow: ported to v4.1 kernel]
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
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>
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>
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>
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>
Sudha Bheemanna [Tue, 4 Oct 2016 09:16:13 +0000 (14:46 +0530)]
Bluetooth: Increase supervision timeout to fix issues
Too small supervision timeout causes sudden link loss when remote
device has multiple links and it cannot manage those properly. To
protect such a case, it needs to widen supervision timeout.
Change-Id: I6e0cef7d5d5b6f1c3635ee1c1b59c550438dfd9f
Signed-off-by: Sudha Bheemanna <b.sudha@samsung.com>
Sudha Bheemanna [Fri, 16 Sep 2016 10:07:22 +0000 (15:37 +0530)]
Bluetooth: Set le data length command and event
Sets the data length for the le data packet with in the
advised limits. MGMT command and event are added to handle
the setting of data length.
Change-Id: I3dbcbba83098e17f0e6da209753f8924ffb67678
Signed-off-by: Sudha Bheemanna <b.sudha@samsung.com>
Sudha Bheemanna [Fri, 16 Sep 2016 07:24:31 +0000 (12:54 +0530)]
Bluetooth: Read host suggested default le data length
This patch adds MGMT command and code for supporting reading
default le data length value set at the controller.
Change-Id: I2b81982dc26ed5af4a8f8a3d3913db5d64625260
Signed-off-by: Sudha Bheemanna <b.sudha@samsung.com>
Sudha Bheemanna [Fri, 16 Sep 2016 06:39:57 +0000 (12:09 +0530)]
Bluetooth: Write host suggested default le data length
This patch adds MGMT command and code for supporting write
default le data length command to the controller.
Change-Id: I3d2c8b622b7913a3ed542342e3ba8076c30dc279
Signed-off-by: Sudha Bheemanna <b.sudha@samsung.com>
Sudha Bheemanna [Fri, 16 Sep 2016 05:08:30 +0000 (10:38 +0530)]
Bluetooth: Read LE Max data length command
This patch adds the MGMT command and code to support reading
the maximum data length supported command for LE.
Change-Id: I4dc0041f2070de2ccb6a4164c8823612863c941e
Signed-off-by: Sudha Bheemanna <b.sudha@samsung.com>
Seung-Woo Kim [Thu, 29 Sep 2016 07:33:28 +0000 (16:33 +0900)]
ARM: defconfig: odroid: enable 6LOWPAN and BT_6LOWPAN options
This patch enables 6Lowpan modules for BT.
Change-Id: Id607cc9ef9cdcee5600ecfe151562752ade82475
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
Seung-Woo Kim [Thu, 29 Sep 2016 07:28:41 +0000 (16:28 +0900)]
arm64: defconfig: tm2: enable 6LOWPAN and BT_6LOWPAN options
This patch enables 6Lowpan modules for BT.
Change-Id: I5181bd4ae1face748049448239cb62e90b341fbf
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
h.sandeep [Fri, 16 Sep 2016 09:15:24 +0000 (14:45 +0530)]
Bluetooth: Fix IPSP connection callback event issue.
This patch fixes the IPSP connection callback event issue
between kernel and bluez layer.
Change-Id: Ia4d625aa8a6dbc9da89a7d9f12308af9c90d0594
Signed-off-by: h.sandeep <h.sandeep@samsung.com>
Signed-off-by: Sudha Bheemanna <b.sudha@samsung.com>
Sudha Bheemanna [Thu, 15 Sep 2016 07:23:03 +0000 (12:53 +0530)]
Bluetooth: IPSP Connect/Disconnect apis
This patch adds MGMT code to support IPSP connect and
disconnect apis and handle connection state changed event.
Change-Id: I1c41ec4f38cf9a108e443def3bc23c1b964e2985
Signed-off-by: Sudha Bheemanna <b.sudha@samsung.com>
Sudha Bheemanna [Thu, 15 Sep 2016 04:42:09 +0000 (10:12 +0530)]
Bluetooth: Add support to enable/disable IPSP
This patch supports MGMT commands and code to enable or disable
IPSP 6LowPan features.
Change-Id: Ia866ecfa517c7d7e4320f17d94d80dfeb9261e59
Signed-off-by: Sudha Bheemanna <b.sudha@samsung.com>
Sudha Bheemanna [Thu, 8 Sep 2016 10:51:01 +0000 (16:21 +0530)]
Bluetooth: Fix issue in the Set LE privacy function.
This patch fixes not to check the hdev power before setting
LE Privacy.
Change-Id: I344ea13b1d90527e3e7554ec616cdc640b85159c
Signed-off-by: Sudha Bheemanna <b.sudha@samsung.com>
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
Sudha Bheemanna [Mon, 12 Sep 2016 07:16:44 +0000 (12:46 +0530)]
Bluetooth: Store the key if auth type is P192
This patch allows to store the key after authentication
if auth type is "HCI_LK_AUTH_COMBINATION_P192"
Change-Id: Ie44dbe7dfec361edab61aceaf9b2ca4057b88fa5
Signed-off-by: Sudha Bheemanna <b.sudha@samsung.com>