Age | Commit message (Collapse) | Author | Files | Lines |
|
During the initialzation of max77693 muic device, it has been suffered from
abnormal interrupt and accidental reset of certain register when it changes
ADC debounce time. All these happens occured by mistakenly writing some value
to BLTDset and JIGset from CONTROL3 register.
BLTDset and JIGset are not configurable and only reflect actual pin status.
If you write some value other than 0 to them, muic device will return false
information.
To set ADC debounce time properly, give 0 to BLTDset and JIGset when writing
CONTORL3 register.
Previous workaround patches are now purged.
Change-Id: If87e01785115d460b1153e24271a50125d1631fb
Signed-off-by: Jonghwa Lee <jonghwa3.lee@samsung.com>
|
|
debounce time"
This reverts commit b64315125400f4eec9f74f7536acca3e8eeca720.
Upcoming patch will fix a bug thus all related workaournds are now purged.
Change-Id: Iab88c25ef9470a5167be73990ceb7859e076ddd8
Signed-off-by: Jonghwa Lee <jonghwa3.lee@samsung.com>
|
|
This reverts commit ec05e8de55043b87a1dafccec5477db9a6ecf9a1.
Upcoming patch will fix a bug thus all related workaournds are now purged.
Change-Id: I52b4456867dd887c7d29a4f485c952860c6dc45c
Signed-off-by: Jonghwa Lee <jonghwa3.lee@samsung.com>
|
|
This reverts commit 36bdb901c8c61448d9e1320641c3debebde03321.
Upcoming patch will fix a bug thus all related workaournds are now purged.
Change-Id: Idafdbcadff0d99320502676ef371d6bc0bd1fcf7
Signed-off-by: Jonghwa Lee <jonghwa3.lee@samsung.com>
|
|
Dmitry's patch 'extcon: max77693: Force using UART~' fixes problem when
device is connected JIG with USB cable. However, with the patch, driver
sends inaccurate event "USB" even muic keeps path to UART not USB. This
would make users confused.
This patch keeps Dmitry's modification working and also bypasses signaling
event "USB" when device is connected to JIG with USB cable.
Change-Id: Ia5f3328e5b0827378178502c70cb90da48e9e3f7
Signed-off-by: Jonghwa Lee <jonghwa3.lee@samsung.com>
|
|
There is memory constraint that it should be within 128MB from
firmware address. But if IOMMU is supported, then this constraint
is meaningless and DMABUF importing can be used.
So this patch adds V4L2_MEMORY_DMABUF type support for both decoder
and encoder.
Change-Id: I2c893da31f906fcd3f26edeed67ad1e4667e6081
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
Signed-off-by: Donghwa Lee <dh09.lee@samsung.com>
|
|
as a module
LAB cannot be compiled as a module, so MODULE_* macros are in fact a dead
code.
Change-Id: I10f8e5650631b00850631aea1295c1d88e53104a
Signed-off-by: Lukasz Majewski <l.majewski@samsung.com>
|
|
The usage of NR_CPUS constant is deprecated, since this value can be the
maximal possible number of cores on a SMP machine.
The num_possible_cpus() represents the number of available cores on the
system.
This change has caused replacement of global tables by ones allocated with
kzalloc().
Change-Id: Ib0bfa27296740a91a25b1af0ece0e573a9756846
Signed-off-by: Lukasz Majewski <l.majewski@samsung.com>
|
|
Initialization of static variable is not necessary, since it will be placed
at BSS section.
Also proper format comments have been added.
Change-Id: Id5e30a97d7d3cdb851f09a69e944c77223fa8a82
Signed-off-by: Lukasz Majewski <l.majewski@samsung.com>
|
|
Two methods from ondemand, namely store_sampling_rate() and od_check_cpu()
are now utilized in LAB governor.
Moreover the od_cpu_dbs_info_s structure shall be regarded as a common one.
Therefore in LAB only its declaration is necessary.
Change-Id: I3408b2f8cfdb292cd69568c931da46d8f957099c
Signed-off-by: Lukasz Majewski <l.majewski@samsung.com>
|
|
cpufreq_governor.[h|c]
Since the Ondemand code has been reused for LAB, it is now possible to remove
code specially defined for LAB governor at the cpufreq_governor.[h|c] code.
Change-Id: I9c48eade8ffe6a94efd0145b7d48afb405961155
Signed-off-by: Lukasz Majewski <l.majewski@samsung.com>
|
|
LAB operation
Ondemand code needs to be slightly modified for LAB governor operation.
The biggest problem is with the update_sampling_rate function, which shall
not be executed with wrong governor.
Change-Id: I149204bda15b11546c57a77a75a51c4f4f8522b8
Signed-off-by: Lukasz Majewski <l.majewski@samsung.com>
|
|
The code for LAB has been redesigned to be able to work on top of Ondemand
governor.
Previous version of LAB - the one which used the polynomial approximation
has been replaced with more readable approach.
The LAB control approach is now read from device tree.
User is allowed to specify following operations (based on load and number of
idle CPUs):
- Force a particular frequency
- Explicitly enable boost for a specific kind of load
- Use ondemand governor
By using ondemand one can be sure that for non critical frequencies correct
value will be chosen.
LAB, which works on top of it, can clamp the freq (an thereof power management)
or explicitly enable boost.
Change-Id: Ieaf84d245463edf90fb2baaf825c0534970eab7e
Signed-off-by: Lukasz Majewski <l.majewski@samsung.com>
|
|
LAB is very similar to ondemand governor in its structure.
Both use the same code for:
- governor init and exit
- demand based switching timer code
- governor specific ops
In this way the LAB can be stacked on top of ondemand governor and hence it
is possible to reuse its logic when needed.
Change-Id: I78e0da90bb2f07677fe6f8d451139107994f5a6f
Signed-off-by: Lukasz Majewski <l.majewski@samsung.com>
|
|
Since we don't support LAB compiled in as module this code shall be
regarded as a dead one.
Change-Id: I8aba33449e08aabed38393e15519f30ccf27ab0f
Signed-off-by: Lukasz Majewski <l.majewski@samsung.com>
|
|
Since LAB depends on ONDEMAND, one needs to prevent situation when both
governors are compiled as modules.
Change-Id: I5e4f65a856d548397ef53338a8949879bd34051c
Signed-off-by: Lukasz Majewski <l.majewski@samsung.com>
|
|
The LAB is supposed to be an extension of the ONDEMAND governor.
For this reason it shall be not possible to compile in LAB without
ONDEMAND in the system.
Change-Id: I8c9e46b535bb7452782c21163703a4e73bdaf96d
Signed-off-by: Lukasz Majewski <l.majewski@samsung.com>
|
|
This patch prevents disable sensor after read info raw data when
events are enabled.
Change-Id: Ifc160e7aa5a633c5dc976ea8b775a790a0efaf69
Signed-off-by: Lukasz Czerwinski <l.czerwinski@samsung.com>
|
|
Hide following excessive debug messages, which are really not helpful
for anything:
device xyz: start latency exceeded, new value XXX ns
device xyz: state restore latency exceeded, new value YYY ns
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: Idab765ebd307ac40af1a556c0b08e26938a1c9cf
|
|
Refactor so that register writes for configuration are only performed if
the device has a regmap provided and also register as a platform driver.
This allows the driver to be used to manage GPIO based control of the
device.
Signed-off-by: Mark Brown <broonie@linaro.org>
Cc: devicetree@vger.kernel.org
Reviewed-by: Dongjin Kim <tobetter@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
[mszyprow: mainline commit 3f0d1c67fa20d524fdcb4a7dcda19ed76c59be44]
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: I3f0d1c67fa20d524fdcb4a7dcda19ed76c59be44
|
|
There are no software visible differences that I am aware of but in case
any are discovered allow the DTS to specify exactly which device is
present.
Signed-off-by: Mark Brown <broonie@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
[mszyprow: mainline commit 5bdd1f4a1daf398042203b72430891dfc40c0fa6]
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: I5bdd1f4a1daf398042203b72430891dfc40c0fa6
|
|
Since there is no runtime interface for changing modes this is probably
the most sensible default.
Signed-off-by: Mark Brown <broonie@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
[mszyprow: mainline commit e5a0c874ec7babc1931a67489b292de152d2a641]
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: Ie5a0c874ec7babc1931a67489b292de152d2a641
|
|
Signed-off-by: Mark Brown <broonie@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
[mszyprow: mainline commit dd8e670d2775c02169a3b9e4c8d84c8652342836]
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: Idd8e670d2775c02169a3b9e4c8d84c8652342836
|
|
In preparation for supporting operation without an I2C control interface
factor out the I2C-specific parts of the probe routine from those that
don't do any register I/O.
Signed-off-by: Mark Brown <broonie@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
[mszyprow: mainline commit 2487e3ee33dd6c4fa3dabbe11bc988883be81f1e]
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: I2487e3ee33dd6c4fa3dabbe11bc988883be81f1e
|
|
This will give access to the diagnostic infrastructure regmap has but
the main point is to support future refactoring.
Signed-off-by: Mark Brown <broonie@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
[mszyprow: mainline commit 68b14134be55eca7340b9a8b3ec4cb8f79622a3c]
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: I68b14134be55eca7340b9a8b3ec4cb8f79622a3c
|
|
If the connect signal is pulled high then the device will start up meaning
that if we just pull it high on probe then the device will start running
prior to the configuration being written out. Fix this by pulling the GPIO
low when we reset and only pulling it high when configuration is finished.
Signed-off-by: Mark Brown <broonie@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
[mszyprow: mainline commit 8e7245b8386cb1dc941e10a4c97307e3f48da5da]
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: I8e7245b8386cb1dc941e10a4c97307e3f48da5da
|
|
The /RESET GPIO is not manipulated from atomic context so support GPIOs
that can't be written from atomic context by using _cansleep().
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
[mszyprow: mainline commit 24455b09b4838cdc0165af0f24ca63ec9ad54e44]
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: I24455b09b4838cdc0165af0f24ca63ec9ad54e44
|
|
Saves us a bit of code.
Signed-off-by: Mark Brown <broonie@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
[mszyprow: mainline commit cffedd6794bb32c4fbc03600fac61beca7950f08]
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: Icffedd6794bb32c4fbc03600fac61beca7950f08
|
|
The intn and connect GPIO properties are swapped in the code which will
cause failures at runtime if these are connected, fix the code.
There are currently no in-tree users of this device to check or update.
Signed-off-by: Mark Brown <broonie@linaro.org>
Acked-by: Olof Johansson <olof@lixom.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
[mszyprow: mainline commit 42416cc81f4990ad8d425b41a0fc8cd985eb5fa5]
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: I42416cc81f4990ad8d425b41a0fc8cd985eb5fa5
|
|
Use the wrapper function for retrieving the platform data instead of
accessing dev->platform_data directly.
Signed-off-by: Jingoo Han <jg1.han@samsung.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
[mszyprow: mainline commit b977a3068a284b2ad4612cdb8ca326cbd2a7ffc9]
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: Ib977a3068a284b2ad4612cdb8ca326cbd2a7ffc9
|
|
The usb3503 driver sleeps a flat 100ms when resetting the chip, with a
comment about waiting for the reference clock. This seems to be a
board-specific detail that should not hold up boot across all platforms.
This patch reduces the sleep to the 4ms initialization delay that the
chip itself actually requires (as per its data sheet). If certain boards
require more time to set up the reference clock, they should change this
through local patches or add a proper, configurable synchronization
mechanism.
Signed-off-by: Julius Werner <jwerner@chromium.org>
Signed-off-by: Dongjin Kim <tobetter@gmail.com>
Acked-by: Olof Johansson <olof@lixom.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
[mszyprow: mainline commit 06a962fa7f9bf068eb1238d7aa20453b9e11a9fd]
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: I06a962fa7f9bf068eb1238d7aa20453b9e11a9fd
|
|
Remove an erroneous tab that should be a space.
Signed-off-by: Julius Werner <jwerner@chromium.org>
Signed-off-by: Dongjin Kim <tobetter@gmail.com>
Acked-by: Olof Johansson <olof@lixom.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
[mszyprow: mainline commit ccf92c94135059c2fa7ee67bbd19af5103547510]
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: Iccf92c94135059c2fa7ee67bbd19af5103547510
|
|
This patch is to add a property 'disabled-ports' representing the unused port
of USB3503. USB3503 can support up to 3 USB host port and each ports can be
controlled to be enabled or disabled. Do not describe this property if all
ports must be enabled.
You can represent the ports to disable in the device tree.
usb3503@08{
...
disabled-ports = <2 3>;
...
};
Signed-off-by: Dongjin Kim <tobetter@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
[mszyprow: mainline commit e8b58b49130f40c29bb95cd5d9b36955ff703822]
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: Ie8b58b49130f40c29bb95cd5d9b36955ff703822
|
|
This patch is to disable the USB ports unconnected to USB3503. In order to
disable the port, 'port_off_mask' must be set.
* Disable PORT1 only
.port_off_mask = USB3503_OFF_PORT1;
* Disable PORT1 and PORT3 only
.port_off_mask = USB3503_OFF_PORT1 | USB3503_OFF_PORT3;
* Enables all ports
.port_off_mask = 0;
Signed-off-by: Dongjin Kim <tobetter@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
[mszyprow: mainline commit e8e44a4896a5f0bde1af36a31b7ec662bdaa44ef]
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: Ie8e44a4896a5f0bde1af36a31b7ec662bdaa44ef
|
|
The commit 2b431ff74a850db3d5b804be3ac466b6ed7f516d(ARM: EXYNOS4:
Increase reset delay for USB HOST PHY) uses 80 usec delay time after
reset phy for usb host, so this adds delay for reset. If isn't this
delay, it will cause any problem to set usb host register.
Change-Id: I1410dacc6939218bc26510cd45ebd4c0d37dbc62
Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
|
|
DViCO FusionHDTV7 device that use au0828 can fail to communicate with
xc5000 using i2c interface because of high i2c clock speed - i2c clock
stretching bug. It causes to fail xc5000 firmware loading normally at
the current driver.
Already this problem fixed as changing to low i2c clock speed at
HVR-950q device, also DViCO FusionHDTV7 device can solve it as using low
i2c clock speed - 20KHz.
Change-Id: Ie6fed3673081970a7d6aceeda584433f95c092a2
Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
|
|
This allows driver initialization again if no camera sensors are
specified. It fixes regression introduced in commit 9cb4cf023f4d793ca
"exynos4-is: Add support for asynchronous sensor subddevs registration"
Change-Id: I02379781ff51142f02dc3a4c3f0bc7b0da999e1f
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
|
|
This patch restores correct value of cs_dbs_info pointer for conservative
governor at CPUFREQ_GOV_STOP event.
Without this patch the NULL pointer dereference error shows up and cpufreq
subsystem hangs.
To trigger the behavior one needs to compile ondemand as default one. Then
enable conservative governor and afterwards enable ondemand again.
Change-Id: Iefd933f5984abb1a46d15357b9ea5f8492deeb08
Signed-off-by: Lukasz Majewski <l.majewski@samsung.com>
|
|
The ondemand governor calculates load in terms of frequency and
increases it only if load_freq is greater than up_threshold
multiplied by the current or average frequency. This appears to
produce oscillations of frequency between min and max because,
for example, a relatively small load can easily saturate minimum
frequency and lead the CPU to the max. Then, it will decrease
back to the min due to small load_freq.
Change the calculation method of load and target frequency on the
basis of the following two observations:
- Load computation should not depend on the current or average
measured frequency. For example, absolute load of 80% at 100MHz
is not necessarily equivalent to 8% at 1000MHz in the next
sampling interval.
- It should be possible to increase the target frequency to any
value present in the frequency table proportional to the absolute
load, rather than to the max only, so that:
Target frequency = C * load
where we take C = policy->cpuinfo.max_freq / 100.
Tested on Intel i7-3770 CPU @ 3.40GHz and on Quad core 1500MHz Krait.
Phoronix benchmark of Linux Kernel Compilation 3.1 test shows an
increase ~1.5% in performance. cpufreq_stats (time_in_state) shows
that middle frequencies are used more, with this patch. Highest
and lowest frequencies were used less by ~9%.
[rjw: We have run multiple other tests on kernels with this
change applied and in the vast majority of cases it turns out
that the resulting performance improvement also leads to reduced
consumption of energy. The change is additionally justified by
the overall simplification of the code in question.]
Change-Id: I26399d5d61616ee9157baa7eb8b337bacab5b892
Signed-off-by: Stratos Karafotis <stratosk@semaphore.gr>
Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
|
|
There is a faulty bit operation during checking offset in exyno4_mct_write().
This patch fixes it correctly.
Change-Id: Ifbe30007bc378d8ab0585a70c0c343dbbc350415
Signed-off-by: Jonghwa Lee <jonghwa3.lee@samsung.com>
|
|
Rndis was disabled temporarily in commit 7ca93af to fix build break.
It can be enabled now as commit 65c9d04 adapted slp driver to the new interface
of rndis.
Change-Id: Id28413de771818cf1a358664d637aa989615fe26
Signed-off-by: Jacek Bukarewicz <j.bukarewicz@samsung.com>
|
|
Adds support for limitation of maximal pixel clock of HDMI
signal. This feature is needed on boards that contains
lines or bridges with frequency limitations.
Signed-off-by: Tomasz Stanislawski <t.stanislaws@samsung.com>
Change-Id: I4cc38e995feeaca77b73e9ea0197d67f99d57715
|
|
This patch add proper compatibles for Mixer and HDMI chip
available on exynos4210 SoCs.
Signed-off-by: Tomasz Stanislawski <t.stanislaws@samsung.com>
Change-Id: I5ca49ea9f95b139834de9ed8bba79b37b685bf3a
|
|
Transform all clk_enable() to clk_prepare_enable() and
all clk_disable() to clk_disable_unprepare().
Signed-off-by: Tomasz Stanislawski <t.stanislaws@samsung.com>
Change-Id: Iaf66f2229677234273c7b66f6d9f0f17c74bf2ff
|
|
This patch eliminates redundant checks while retrieving HPD gpio from DT during
HDMI's probe().
Signed-off-by: Tomasz Stanislawski <t.stanislaws@samsung.com>
Change-Id: I1f2312291bd7c2334783c8067889b95db305377f
|
|
The HDMIPHY (physical interface) is controlled by a single
bit in a power controller's regiter. It was implemented
as clock. It was a simple but effective hack.
This patch makes HDMI driver to control HDMIPHY via PHY interface.
Signed-off-by: Tomasz Stanislawski <t.stanislaws@samsung.com>
Change-Id: I7e4729b61c7e71f7e411d423794420893f99f384
|
|
sclk_mixer clocks
This patch enables clk_set_parent() propagation for clocks used
by s5p-tv and exynos-drm drivers.
Signed-off-by: Tomasz Stanislawski <t.stanislaws@samsung.com>
Change-Id: I8f91dcd73a43291297def7f69eb35950afd45c55
|
|
This patch adds support for propagation of setup of clock's parent one level
up.
This feature is helpful when a driver changes topology of its clocks using
clk_set_parent(). The problem occurs when on one platform/SoC driver's clock
is located at MUX output but on the other platform/SoC there is a gated proxy
clock between the MUX and driver's clock. In such a case, driver's code has to
be modified to use one clock for enabling and the other clock for setup of a
parent.
The code updates are avoided by propagating setup of a parent up one level.
Additionally, this patch adds CLK_SET_PARENT_PARENT (sorry for naming) flag to
inform clk-core that clk_set_parent() should be propagated.
Signed-off-by: Tomasz Stanislawski <t.stanislaws@samsung.com>
Change-Id: I206d23fb86cc09bce943ef9971a710876e3a7744
|
|
Export sclk_hdmiphy clock to be usable from DT.
Signed-off-by: Tomasz Stanislawski <t.stanislaws@samsung.com>
Change-Id: I0d1c8d0c2e2e93bd34f9fcdf82154208c2381a73
|
|
Add driver for HDMI bridge usnig MHL connection.
Contains refactored MHL driver developed by:
Adam Hampson <ahampson@sta.samsung.com>
Erik Gilling <konkers@android.com>
Shankar Bandal <shankar.b@samsung.com>
Dharam Kumar <dharam.kr@samsung.com>
Signed-off-by: Tomasz Stanislawski <t.stanislaws@samsung.com>
Change-Id: I7fed88ab786a4fef8fb97dca6c7336d11eb806c5
|