Age | Commit message (Collapse) | Author | Files | Lines |
|
s5p_jpeg_device_run and s5p_jpeg_runtime_resume callbacks should
have spin_lock protection as they alter device registers.
Change-Id: I56f19f6314c58e21284562e3e92c08409664aee4
Signed-off-by: Jacek Anaszewski <j.anaszewski@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Acked-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
|
|
Standard suspend/resume path is called after runtime resume
of the given device, so suspend/resume callbacks must do all
clock management done also by runtime pm to allow for proper
power domain shutdown. Moreover, JPEG clock is enabled from
probe function but is is not necessary. This patch also moves
control of jpeg clock to runtime_pm callbacks.
Change-Id: I1292e2514baf3ca1f9af9a8edd3ddcb60f8c5901
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
Signed-off-by: Jacek Anaszewski <j.anaszewski@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Acked-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
|
|
Change-Id: Iafabd18c9728a83b6876ebec59fab1911f8f3266
Signed-off-by: Jacek Anaszewski <j.anaszewski@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Acked-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
|
|
Aligning capture queue image dimensions while enqueuing output
queue doesn't make a sense as the S_FMT ioctl might have not
been called for the capture queue until that moment, whereas
it is required to know capture format as the type of alignment
heavily depends on it.
Change-Id: I58dd67c5ce088e0ed889515dd53d6f39abc8b80e
Signed-off-by: Jacek Anaszewski <j.anaszewski@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Acked-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
|
|
The aim of the condition is ensuring that the bytesperline
value set by the user space application is proper for the
given format and adjusting it if isn't. As the depth value
of the format description entry is expressed in bits then
the bytesperline value needs to be divided, not multiplied,
by that value to get the number of bytes required to store
single line of image samples.
Change-Id: Ied5ab2df3b4ab89d44178481a9b15c51e4d02085
Signed-off-by: Jacek Anaszewski <j.anaszewski@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Acked-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
|
|
Output samples during decoding phase for the YUV 4:2:0 format
are arranged in the manner compatible with 2-planar NV12,
not 3-planar YUV420 fourcc.
Change-Id: I4619573b0b4b213b2e5def58a7d9247dc28dcd0e
Signed-off-by: Jacek Anaszewski <j.anaszewski@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Acked-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
|
|
Reorder quantization tables so that their elements
are arranged in the manner reflecting compression
quality level that is in accordance with V4L2 documentation,
i.e. the larger value of the V4L2_CID_JPEG_COMPRESSION_QUALITY
control the better image quality, and thus lower compression
quality. The modification allows also to get rid of
reverse logic in the s_ctrl callback while assigning
user space value to the ctx->compr_quality variable.
Change-Id: I31e00e212e442b4a959b07967e1b96841ab39528
Signed-off-by: Jacek Anaszewski <j.anaszewski@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Acked-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
|
|
This reverts commit 8e4a944989fd90fba6ceb5e84d4c73667b767bdf.
This was rough preliminary commit.
Change-Id: I8db16f03e02e95a2922834fb94b02ead2c21a08e
Signed-off-by: Jacek Anaszewski <j.anaszewski@samsung.com>
|
|
It is hard to distinguish between decoder and encoder video device
because their names are same. So this patch fixes the names.
Change-Id: I593ec9a5f2aa3fa460a11e233239bacf65deda6b
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
|
|
This reverts commit 3754f529b2efb8ef65b27e440bb57399179c0e02.
Mainline patches solve the problem.
Change-Id: I6a7eb9a1bd815131c197c64c7b2c791ba17c4cb2
Signed-off-by: Jacek Anaszewski <j.anaszewski@samsung.com>
|
|
The exynos fimd provides video type selection bits from system register
but exynos3 series don't has it, so needs has_vtsel flag and we can
distinguish whether set video type selection bits.
Change-Id: Iacba73e8813454b04551c2617107786f2d59d6ab
Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
|
|
It's better to be checking whether triggerring in fimd_trigger function.
Also it will return if in triggerring on fimd_te_handler, then it can't
execute remain codes.
Change-Id: If8dbcbd139908af330ad59b5d4a66435fe0d77c6
Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
|
|
period"
This reverts commit d69e45dccaea2e2da28751e0bdaeae67bba1aa78.
Change-Id: I3600f9fc2d29f21c3a0726902f78fcf8d5dcd3d0
Signed-off-by: Inki Dae <inki.dae@samsung.com>
|
|
Add 'polling_ms' sysfs node to change charger-manager's monitoring rate
in runtime. It can set only bigger than 2 jiffies (for 200 HZ system it
is 10 msecs.) as it's allowed for minimum poling rate in previous.
It resets poller and re-configure polling rate based on new input if next
polling time is far enough. Otherwise, it just waits expiration of timer
and new polling rate will affects the next scheduling.
Change-Id: I6a9a07b96db2554e2ec047224df818dcc4ab1a17
Signed-off-by: Jonghwa Lee <jonghwa3.lee@samsung.com>
|
|
Add additional polling mode for sleep state to define different mode with
normal state. With this change, charger-manager can work differently in
normal state or sleep state. e.g, polling aways for normal and polling
only when charing for sleep. If there is no defined polling mode for
sleep state it just follows the normal state's.
In addition to, polling rate is still same in sleep.
Change-Id: I787a3abd646bdc0be81dccbafbd635c22c84951c
Signed-off-by: Jonghwa Lee <jonghwa3.lee@samsung.com>
|
|
This patch makes sure for panel driver to have correct power status.
Change-Id: I33e6e64969ab6f2679f5f1f889ccfde27d81c901
Signed-off-by: Inki Dae <inki.dae@samsung.com>
|
|
Fix following DSI panel enable error (booted init=/bin/sh):
echo 0 > /sys/devices/platform/exynos-drm/graphics/fb0/blank
[ 55.708859] exynos-dsi 11c80000.dsi: PLL input frequency: 24000000
[ 55.709038] exynos-dsi 11c80000.dsi: PLL freq 250000000, (p 3, m 125, s 2)
[ 55.709107] exynos-dsi 11c80000.dsi: band 4
[ 55.709929] exynos-dsi 11c80000.dsi: PLL failed to stabilize
[ 55.709987] exynos-dsi 11c80000.dsi: failed to configure DSI PLL
[ 56.007706] exynos-dsi 11c80000.dsi: timeout waiting for reset
[ 56.030676] exynos-dsi 11c80000.dsi: waiting for bus lanes timed out
[ 56.030804] exynos-dsi 11c80000.dsi: < xfer df45fda8: tx len 3, done 0, rx len 0, done 0
[ 56.127024] exynos-dsi 11c80000.dsi: xfer timed out: 03 00 f1 5a 5a
[ 56.127125] panel_s6e63j0x03 11c80000.dsi.0: failed to dcs write: -110[f1 5a 5a]
The panel power state was initialized by devm_kzalloc() to 0 which means
FB_BLANK_UNBLANK. Request to unblank frame buffer from sysfs was
triggering a call to panel set_brightness(). This lead to starting DSI
transfers on disabled DSI/panel (no calls to exynos_dsi_enable, s6e63j0x03_prepare,
s6e63j0x03_enable)
Change-Id: I146d46c92c96112a6c616daf83edc57c5b889902
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
|
|
Change-Id: I9b4b9060a9c8ef63f969951da4bd1b9cc26fa553
Signed-off-by: Inki Dae <inki.dae@samsung.com>
|
|
This patch makes sure for a wait_for_vblank event to be handled
in same period. For this, it adds a new member, triggerred which
means whether trigger request is completed or not since trigger
request.
So if there is a trigger request, update-request, then this patch makes
a wait_for_vblank event to be handled after the trigger request is
completed.
Change-Id: If1a2491a323b637d20806373e0502b2b0a9ff810
Signed-off-by: Inki Dae <inki.dae@samsung.com>
|
|
In case of all modes, i80 and rgb modes, finish page flip request
could be handled at irq handler after framedone. This patch is just
for cleanup.
Change-Id: Idb56e1932fbe7e085be0384eb35b68f699547d18
Signed-off-by: Inki Dae <inki.dae@samsung.com>
|
|
in case of all modes, i80 and rgb modes, wait vsync event
should be handled at irq handler after framedone.
Change-Id: I7dbd38119c5c27a694e3b1c7c160f8205a4b028c
Signed-off-by: Inki Dae <inki.dae@samsung.com>
|
|
spin lock, win_updated_lock, isn't related to fimd_trigger.
Change-Id: Ia9dd215a2a4809726c357f9de4104c09ce08dc0c
Signed-off-by: Inki Dae <inki.dae@samsung.com>
|
|
For providing VBLANK information, drm_handle_vblank() should
be called properly, but it is blocked by wait_vsync_event
condition which is set by manager_ops->wait_for_vblank().
So moves it out from wait_vsync_event routine.
Change-Id: Id5fc56f65d582fd90ef261f50b302f12ef890353
Signed-off-by: YoungJun Cho <yj44.cho@samsung.com>
Acked-by: Inki Dae <inki.dae@samsung.com>
Acked-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
|
|
No information about actual meaning of using 19 bits, it's just copied
from vendor's code. However, It is clear that it represents doubled SoC
if the chip is marked with 'using 19 bits'. Rinato needs to half the SoC
register's value to get correct one.
Change-Id: I0d873de3e7671c2494955735364934156ab756d9
Signed-off-by: Jonghwa Lee <jonghwa3.lee@samsung.com>
|
|
Even max17040 fuelgauge chip's registers are segmented in size of 8bits
(MSB, LSB), it transfers data only in 16bits. So, it should read both of
MSB, LSB registers at once.
Change-Id: I87150fbf9b14adf65fc9fdf912f963ab591586e3
Signed-off-by: Jonghwa Lee <jonghwa3.lee@samsung.com>
|
|
In current code, charger-manager may attemps to read battery state more
than once in a same period. And it already did such when user accesses
uevent, it reads battery voltage several times.
This patch makes charger-manager to read current battery state including
SoC, voltage and temperature at the start of monitoring and re-use it
during whole period.
Change-Id: Ic69ddb465a75237ded0488cb3eb41f47bb909311
Signed-off-by: Jonghwa Lee <jonghwa3.lee@samsung.com>
|
|
This patch prevents direct charging control in cable notification.
It sets only input current limit according to cable type and yields charging
control to be done by cm_monitor() where charging management proceeds.
It may loose few ms to enable charging compared to before, even though it's
more important that charging is enabled only for safe context.
Change-Id: Ic736b9d18829f6d6dab946515dd0fe62fe7b75c4
Signed-off-by: Jonghwa Lee <jonghwa3.lee@samsung.com>
|
|
In cm_monitor() where charging management starts, it checks various charging
condition sequentially to decide next charging operation. However, as it
follows sequential process, cascade if statements, it does some duplicated
jobs which is already done in previous stage. It results delay in decision
making. And moreover, starting point of charing is spreaded all around, so
it makes maintain codes and debugging difficult.
Both of problems mentioned above becomes clean if it manages battery charging
with focusing battery status not following sequential condition checking.
Now, cm_monitor() moves battery state diagram and does optimal operation for
current state. As a result, it reduces whole monitoring time almost in half.
Change-Id: I1c8cfe57cea6fc8c02a4c0bf7bde6a0d8395b786
Signed-off-by: Jonghwa Lee <jonghwa3.lee@samsung.com>
|
|
When charger-manager checks whether external power source is available,
it gets information from charger IC driver. However, it's not correct source,
charger IC doesn't have responsibilty to give cable connection status.
The charger-manager already gets cable information from EXTCON susbsystem,
so it can re-use it.
Change-Id: I408546beefe63707fcb927db7d92c4005f3848f8
Signed-off-by: Jonghwa Lee <jonghwa3.lee@samsung.com>
|
|
Current charger-manager calls power_suuply_changed() whenever charging
status is changed. This patch removes seperated power_supply_changed()
use and let it be called at end of try_charger_enable() function which
is called to set charging/discharging.
Change-Id: I98c823268207a891fba9d38dc71692e2e0791ae7
Signed-off-by: Jonghwa Lee <jonghwa3.lee@samsung.com>
|
|
Interrupt mask will be used to clear unexpected interrupt arisen when rising/
falling thresholds are set.
Change-Id: I570018c7b541a54e2b3d8dbfa2a14f2863682edb
Signed-off-by: Jonghwa Lee <jonghwa3.lee@samsung.com>
|
|
Currently the threshold limits are updated in 2 stages, once for all
software trigger levels and again for hardware trip point.
While updating the software trigger levels, it overwrites the threshold
limit for hardware trip point thereby forcing the Exynos core to issue
an emergency shutdown.
Updating only the required fields in threshold register fixes this issue.
Change-Id: I7ad7a7eadad874b5ec4ecd7fbed207c01cad4e2f
Signed-off-by: Tushar Behera <tushar.behera@linaro.org>
Acked-by: Amit Daniel Kachhap <amit.daniel@samsung.com>
Signed-off-by: Zhang Rui <rui.zhang@intel.com>
|
|
When try to read SPI, sometimes buffer filled with zero.
And spi_read does not return error.
In normal case, first byte of buffer is used to command byte.
And this is not zero. So, this patch checks first byte of buffer.
Change-Id: If75d57c0426d819476d87e82391901dfb8fa1652
Signed-off-by: Jaewon Kim <jaewon02.kim@samsung.com>
|
|
Unfortunately on some exynos systems, resetting the mct counter also
resets the architected timer counter. This can cause problems if the
architected timer driver has already been initialized because the kernel
will think that the counter has wrapped around, causing a big jump in
printk timestamps and delaying any scheduled clock events until the
counter reaches the value it had before it was reset.
The kernel code makes no assumptions about the initial value of the mct
counter so there is no reason from a software perspective to clear the
counter before starting it. This also fixes the problems described in
the previous paragraph.
Change-Id: I35f6bcd1e0ef46d5c19183dc526078a6b8b4ca64
Cc: Olof Johansson <olof@lixom.net>
Cc: Tomasz Figa <tomasz.figa@gmail.com>
Signed-off-by: Chirantan Ekbote <chirantan@chromium.org>
Reviewed-by: Doug Anderson <dianders@chromium.org>
Tested-by: Doug Anderson <dianders@chromium.org>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
|
|
It shows '1' even for none-typed cable that might mislead user or
charging managment to understand that there is a charge-able cable
which is truly not. It should return 0 for none-typed cable to prevent
wrong attempt for charging.
Change-Id: I851ac424b6895867e611f6786bdb18e540d7f2d4
Signed-off-by: Jonghwa Lee <jonghwa3.lee@samsung.com>
|
|
This is workaround to let userspace notice about battery's status
chaiging during suspend and resume. It holds wakeup event to prevent
system goes into sleep. Holding wakeup event time is heuristic value
and it could be varied.
To make this works, it needs CONFIG_PM_AUTOSLEEP kernel option.
Change-Id: I22a818e69632574a2d684cd957f62b3329d57c8f
Signed-off-by: Jonghwa Lee <jonghwa3.lee@samsung.com>
|
|
During system suspend after connector switch off its dpms field
is set to connector previous dpms state. To properly resume dpms field
should be set to its actual state (off) before resuming to previous dpms state.
Change-Id: I80acefcd408279c3c1cf3b0e89133dc6899a6914
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
|
|
This patch adjusts all infomative message from s5m rtc driver to
debug level.
Change-Id: I52f6903fce2bd6d61b8e5f81aa521a3bf7dad9bc
Signed-off-by: Jonghwa Lee <jonghwa3.lee@samsung.com>
|
|
These interfaces aren't used anymore.
Change-Id: Ia02fbd60b329a3193bb2fe009f55e410031365ac
Signed-off-by: Inki Dae <inki.dae@samsung.com>
|
|
Like most of other external chips, it needs to defer handling of IRQ
arised during suspend until i2c bus is re-enabled.
Change-Id: I6052fed2c89b349374a1cad510f7a9fed757699f
Signed-off-by: Jonghwa Lee <jonghwa3.lee@samsung.com>
|
|
When charger-manager sets alarmtimer, it has used nanoseconds converted
from polling period which is in milliseconds. However ktimer's nanoseconds
is limited to represent as size of unsinged long type, and the previous
use often exceeds its limitation. It fixes to divide target timer period
into seconds part and remains in nanoseconds to prevent abnormal timer period
is set.
Change-Id: I7a5cad5569505c901a4822bbd7a4ad0fa149570b
Signed-off-by: Jonghwa Lee <jonghwa3.lee@samsung.com>
|
|
Tis patch use the devm_* managed functions to allocate resources.
Change-Id: I9351869922b481a6791ca98f6dd3328d84424906
Signed-off-by: Beomho Seo <beomho.seo@samsung.com>
|
|
This patch moves firmware download function to workqueue
to reduce booting time.
Change-Id: Idfa934b67494988a7de1f95f461dac41546cb2e5
Signed-off-by: Jaewon Kim <jaewon02.kim@samsung.com>
|
|
MCU firmware check process in ssp_probe() moves to
workqueue to reduce booting time. And when driver try to
check MCU revision, MCU is not ready to communicate.
So, this patch uses delayed workqueue to wait MCU.
Change-Id: I2a64d195fc4a7910884a6da03e9a0f8846c17ac3
Signed-off-by: Jaewon Kim <jaewon02.kim@samsung.com>
|
|
To confirm NULL point exception and also follow the common convention
of 'for loop' control, fix the driver to use scalar variable,
'num_chargers' when it retrieves the power_supply pointer array.
Change-Id: Iab834cf93822b1a03419ca9933e82d6396cc0474
Signed-off-by: Jonghwa Lee <jonghwa3.lee@samsung.com>
|
|
The POWER_SUPPLY_CHARGE_NOW/FULL property reflects battery's charges
in uAh unit, but charger-manager has been used it wrongly. This patch
makes it to use those propeties correctly and change to be optional.
Change-Id: I68b3940a9388a095f47205207f1bc6bc863bd407
Signed-off-by: Jonghwa Lee <jonghwa3.lee@samsung.com>
|
|
Whenever battery status is changed, charger manager tries to trigger uevent
through private interface. This patch modifies it to use power_supply_changed()
since it belongs to power supply subsystem.
Change-Id: I9f25664a2196745f3a303d57ded073f5eb604180
Signed-off-by: Jonghwa Lee <jonghwa3.lee@samsung.com>
|
|
cm_notify_event() is introduced to get event associated with battery status
externally, but no one had been used. Moreover it makes charger manager
driver more complicated. This patch tries to drop the function and all data
related to simplify the driver.
Change-Id: I89d802f57a3005c9102e8d342318f2bf77ccce48
Signed-off-by: Jonghwa Lee <jonghwa3.lee@samsung.com>
|
|
Monitoring battery temperature becomes mandatory for charger manager working.
If there is no way to measure temperature, it stops probing and won't work.
And also it will use thermal susbsystem inteface only to make driver simple.
Change-Id: Idef5f8f29a104f5f51532c3321f6bebe887deb24
Signed-off-by: Jonghwa Lee <jonghwa3.lee@samsung.com>
|
|
To guerantee proper charing and managing batteries even in suspend,
charger-manager has used rtc device with rtc framework interface.
However, it is better to use alarmtimer for cleaner and more appropriate
operation.
This patch makes driver to use alamtimer for polling work in suspend and
removes all deprecated codes related with using rtc interface.
Change-Id: I0c84ccd62653b50fc9c9b687fddcaba7ea58e8ca
Signed-off-by: Jonghwa Lee <jonghwa3.lee@samsung.com>
|