Age | Commit message (Collapse) | Author | Files | Lines |
|
This patch implements the power on/off sequence
of HDMI PHY in exynos5420 and exynos5250 as provided
by the hardware team.
This has been verified for mulitple iterations of
S2R.
Signed-off-by: Shirish S <[email protected]>
Signed-off-by: Rahul Sharma <[email protected]>
Signed-off-by: Inki Dae <[email protected]>
|
|
ipp_id field is removed from exynos_drm_ippdrv struct.
The patch removes its description as well.
Signed-off-by: Andrzej Hajda <[email protected]>
Signed-off-by: Inki Dae <[email protected]>
|
|
The attribute gem_objs in struct drm_exynos_ipp_buf_info was
changed to handles. So the comment needs to be updated also.
Signed-off-by: YoungJun Cho <[email protected]>
Acked-by: Seong-Woo Kim <[email protected]>
Acked-by: Kyungmin Park <[email protected]>
Tested-by: Andrzej Hajda <[email protected]>
Signed-off-by: Inki Dae <[email protected]>
|
|
The c_node->event_list should be protected with
c_node->event_lock.
Signed-off-by: YoungJun Cho <[email protected]>
Acked-by: Seong-Woo Kim <[email protected]>
Acked-by: Kyungmin Park <[email protected]>
Tested-by: Andrzej Hajda <[email protected]>
Signed-off-by: Inki Dae <[email protected]>
|
|
The c_node->mem_list[] should be protected with
c_node->mem_lock.
Signed-off-by: YoungJun Cho <[email protected]>
Acked-by: Seong-Woo Kim <[email protected]>
Acked-by: Kyungmin Park <[email protected]>
Tested-by: Andrzej Hajda <[email protected]>
Signed-off-by: Inki Dae <[email protected]>
|
|
This patch adds ipp_remove_id() for idr resource free.
Signed-off-by: YoungJun Cho <[email protected]>
Acked-by: Seong-Woo Kim <[email protected]>
Acked-by: Kyungmin Park <[email protected]>
Tested-by: Andrzej Hajda <[email protected]>
Signed-off-by: Inki Dae <[email protected]>
|
|
This patch adds cmd_lock for cmd_list synchronization.
Signed-off-by: YoungJun Cho <[email protected]>
Acked-by: Seong-Woo Kim <[email protected]>
Acked-by: Kyungmin Park <[email protected]>
Tested-by: Andrzej Hajda <[email protected]>
Signed-off-by: Inki Dae <[email protected]>
|
|
The ippdrv->cmd_list requires cmd_lock.
So renames cmd_lock to lock for context.
Signed-off-by: YoungJun Cho <[email protected]>
Acked-by: Seong-Woo Kim <[email protected]>
Acked-by: Kyungmin Park <[email protected]>
Tested-by: Andrzej Hajda <[email protected]>
Signed-off-by: Inki Dae <[email protected]>
|
|
This patch removes duplicated setting.
Signed-off-by: YoungJun Cho <[email protected]>
Acked-by: Seong-Woo Kim <[email protected]>
Acked-by: Kyungmin Park <[email protected]>
Tested-by: Andrzej Hajda <[email protected]>
Signed-off-by: Inki Dae <[email protected]>
|
|
list_for_each_entry() handles empty lists, so there is no
need to check whether the list is empty first.
Signed-off-by: YoungJun Cho <[email protected]>
Acked-by: Seong-Woo Kim <[email protected]>
Acked-by: Kyungmin Park <[email protected]>
Tested-by: Andrzej Hajda <[email protected]>
Signed-off-by: Inki Dae <[email protected]>
|
|
PTR_ERR_OR_ZERO simplifies the code.
Signed-off-by: Sachin Kamat <[email protected]>
Acked-by: Jingoo Han <[email protected]>
Signed-off-by: Inki Dae <[email protected]>
|
|
System hangs when FIMD registers are accessed to disable
hardware overlays. This is because of the clocks which are
not enabled before register access.
'Hardware overlay disable' is cleaned from the FIMD probe.
Signed-off-by: Rahul Sharma <[email protected]>
Signed-off-by: Inki Dae <[email protected]>
|
|
Silences the following warning:
WARNING: space prohibited before semicolon
Signed-off-by: Sachin Kamat <[email protected]>
Acked-by: Jingoo Han <[email protected]>
Signed-off-by: Inki Dae <[email protected]>
|
|
DPI, DSI and DP drivers will not work without FIMD.
The patch adds appropriate dependencies in Kconfig.
Signed-off-by: Andrzej Hajda <[email protected]>
Signed-off-by: Inki Dae <[email protected]>
|
|
The patch fixes unlocking in exynos_drm_component_del.
Signed-off-by: Andrzej Hajda <[email protected]>
Signed-off-by: Inki Dae <[email protected]>
|
|
fimc_dst_get_buf_seq returns number of buffers
so the name should be fimc_dst_get_buf_count.
Function body has been simplified.
Signed-off-by: Andrzej Hajda <[email protected]>
Signed-off-by: Inki Dae <[email protected]>
|
|
Function fimc_dst_set_buf_seq is called by irq handler
so it should not use mutexes. This patch fixes it.
Signed-off-by: Andrzej Hajda <[email protected]>
Signed-off-by: Inki Dae <[email protected]>
|
|
HW access macros implicitly depended on presence of ctx local variable.
This patch replaces them with C functions.
Signed-off-by: Andrzej Hajda <[email protected]>
Signed-off-by: Inki Dae <[email protected]>
|
|
The name fimc_handle_irq suggests it is irq handler, but the function
is for irq mask configuration. The patch renames the function to
fimc_mask_irq and removes unused arguments.
Signed-off-by: Andrzej Hajda <[email protected]>
Signed-off-by: Inki Dae <[email protected]>
|
|
The patch replaces dedicated function for scaling ratio
calculation by fls calls.
Signed-off-by: Andrzej Hajda <[email protected]>
Signed-off-by: Inki Dae <[email protected]>
|
|
prop_list is always allocated, so instead of allocating it dynamically
the pointer can be replaced by the structure itself.
Signed-off-by: Andrzej Hajda <[email protected]>
Signed-off-by: Inki Dae <[email protected]>
|
|
prop_list.ipp_id field is not initialized properly.
The patch fixes it, additionally it removes redundant field from ippdrv.
Signed-off-by: Andrzej Hajda <[email protected]>
Signed-off-by: Inki Dae <[email protected]>
|
|
Due to incorrect assignment in EXYNOS_IPP_GET_PROPERTY
IOCTL handler this IOCTL did not work at all.
The patch fixes it.
Signed-off-by: Andrzej Hajda <[email protected]>
Signed-off-by: Inki Dae <[email protected]>
|
|
These symbols are local to this file.
Signed-off-by: Sachin Kamat <[email protected]>
Signed-off-by: Inki Dae <[email protected]>
|
|
i2c.h was included twice.
Signed-off-by: Sachin Kamat <[email protected]>
Signed-off-by: Inki Dae <[email protected]>
|
|
exynos_dpi_of_find_panel_node is local to this file.
Signed-off-by: Sachin Kamat <[email protected]>
Signed-off-by: Inki Dae <inki.dae>
|
|
The following configuration options combination:
CONFIG_DRM_EXYNOS_DP=y
CONFIG_DRM_PTN3460=m
currently leads to the following linker failure:
drivers/built-in.o: In function `exynos_drm_attach_lcd_bridge':
.../drivers/gpu/drm/exynos/exynos_dp_core.c:1004:
undefined reference to `ptn3460_init'
This is because ptn3460_init can't be implemented in a module while
its caller is built into the kernel. So add the proper dependency in
Kconfig so that the above can't happen.
I moved DRM_PTN3460 earlier in Kconfig, next to the I2C helper module
section, so that the user has a chance to select it before moving to
the Exynos-specific section.
IMHO the proper way to solve the problem would be to turn ptn3460 into
a clean I2C driver, similar to the other I2C helper chip drivers. It's
the only way to not sink into impossible-to-guess dependencies. Then
ptn3460 could even be moved together with the other I2C helper chip
drivers.
Signed-off-by: Jean Delvare <[email protected]>
Reviewed-by: Thierry Reding <[email protected]>
Signed-off-by: Inki Dae <[email protected]>
|
|
In case of exynos, setting dma-burst to 16Word causes permanent
tearing for very small buffers, e.g. cursor buffer. Burst Mode
switching, which is based on overlay size is not recommended as
overlay size varies a lot towards the end of the screen. This
causes unstable DMA which results into tearing again.
Rendering small buffers with lower burst size doesn't
cause any noticable performance overhead. 128 pixel width is
selected based on mulitple experiments with exynos5 SoCs.
Signed-off-by: Rahul Sharma <[email protected]>
Signed-off-by: Prathyush K <[email protected]>
Signed-off-by: Inki Dae <[email protected]>
|
|
Exynos drm hdmi driver used to get dummy hdmiphy clock to
control the PMU bit for hdmiphy. This bit needs to be set
before setting any resolution to hdmi hardware. This was
handled using dummy hdmiphy clock which is removed here.
PMU is already defined as system controller for exynos
SoCs. Hdmi driver is modified to control the phy enable bit
inside PMU using regmap interfaces.
Devicetree binding document for hdmi is also updated.
Signed-off-by: Rahul Sharma <[email protected]>
Signed-off-by: Inki Dae <[email protected]>
|
|
Allow to allocate non-contigous buffers when iommu is enabled.
Currently, it tries to allocates contigous buffer which consistently
fail for large buffers and then fall back to non contigous. Apart
from being slow, this implementation is also very noisy and fills
the screen with alloc fail logs.
Signed-off-by: Rahul Sharma <[email protected]>
Reviewed-by: Sachin Kamat <[email protected]>
Signed-off-by: Inki Dae <[email protected]>
|
|
This patch considers legacy dt binding, and resolves
the issue that the use of existing dtb is broken.
To resove the dt broken issue, this path tries to get
legacy dt nodes from existing dtb directly prior to
getting new dt nodes.
Signed-off-by: Inki Dae <[email protected]>
Acked-by: Kyungmin Park <[email protected]>
|
|
In DVI mode the video preamble and Guard band should
be disabled whereas it should be applied in HDMI mode,
the re-applying of preamble and guard band was missing,
which resulted in display failures when switched to HDMI
mode from DVI mode.
This patch ensures the setting is applied in HDMI mode.
Signed-off-by: Shirish S <[email protected]>
Signed-off-by: Inki Dae <[email protected]>
|
|
The i2c drivers for ddc and hdmiphy are already removed from build
and instead, i2c clients registered via devicetree are used. So this
patch removes the unnecessary i2c drivers.
Signed-off-by: Seung-Woo Kim <[email protected]>
Signed-off-by: Inki Dae <[email protected]>
|
|
Enable support for hdmi for exynos5420 hdmiphy. Add
compatible string in the of_match table. Also added
hdmiphy configuration values for exynos5420.
Signed-off-by: Rahul Sharma <[email protected]>
Signed-off-by: Shirish S <[email protected]>
Signed-off-by: Inki Dae <[email protected]>
|
|
Previous SoCs have hdmi phys which are accessible through
dedicated i2c lines. Newer SoCs have Apb mapped hdmi phys.
Hdmi driver is modified to support apb mapped phys.
Signed-off-by: Rahul Sharma <[email protected]>
Signed-off-by: Inki Dae <[email protected]>
|
|
Cleaning up unnecessary i2c read call after hdmiphy configuration.
This check is redundant since check for hdmiphy pll lock status
confirms the correct settings for phy.
Signed-off-by: Rahul Sharma <[email protected]>
Signed-off-by: Daniel Kurtz <[email protected]>
Reviewed-by: Tomasz Figa <[email protected]>
Signed-off-by: Inki Dae <[email protected]>
|
|
Before setting the core and timing generation registers,
hdmi driver resets the whole hdmi hardware, which also
resets the audio related registers.
Hdmi reset is replaced by hdmi disable which is called
just before setting the core and timing registers. It
also ensure that audio settings are not changed.
Signed-off-by: Rahul Sharma <[email protected]>
Signed-off-by: Shirish S <[email protected]>
Signed-off-by: Inki Dae <[email protected]>
|
|
This patch adds a gpio read of hpd during the is_connected
callback. This fixes the case where hdmi is off going into
suspend and the cable is plugged in while suspended. In this
case, the hpd interrupt does not fire and is_connected will
return false.
Signed-off-by: Sean Paul <[email protected]>
Signed-off-by: Rahul Sharma <[email protected]>
Signed-off-by: Inki Dae <[email protected]>
|
|
Our resources were just zalloc'ed as part of hdata.
They are already 0.
Signed-off-by: Daniel Kurtz <[email protected]>
Signed-off-by: Rahul Sharma <[email protected]>
Signed-off-by: Inki Dae <[email protected]>
|
|
Smatch error from arm build: drivers/gpu/drm/exynos/
exynos_hdmi.c:2374 hdmi_probe() error: potential NULL
dereference 'hdata->hdmiphy_port'.
Added check for hdata->hdmiphy_port that it is not NULL.
Signed-off-by: Paul Taysom <[email protected]>
Signed-off-by: Rahul Sharma <[email protected]>
Signed-off-by: Inki Dae <[email protected]>
|
|
This patch debounces hotplug interrupts generated by the HDMI hotplug
gpio. The reason this is needed is that we get multiple (5) interrupts
every time a monitor is inserted which causes us to needlessly enable
and disable the IP block.
Signed-off-by: Sean Paul <[email protected]>
Signed-off-by: Rahul Sharma <[email protected]>
Signed-off-by: Inki Dae <[email protected]>
|
|
This patch removes the hdmiphy reset in hdmi_poweroff. The hdmiphy reset
was added to take advantage of exynos clockgating, doing it would gate
the entire TV domain. Unfortunately, mixer is included in the TV domain
and its vsync interrupts are stopped when TV is gated.
Signed-off-by: Sean Paul <[email protected]>
Signed-off-by: Rahul Sharma <[email protected]>
Signed-off-by: Inki Dae <[email protected]>
|
|
The recent commit [3ea87855: drm/helper: lock all around force mode
restore] introduced drm_modeset_lock_all() in
drm_helper_resume_force_mode() itself, while exynos driver takes this
lock before calling it. Move the function call outside the lock for
avoiding a deadlock.
Signed-off-by: Takashi Iwai <[email protected]>
Signed-off-by: Inki Dae <[email protected]>
|
|
Use DPCD defines of drm_dp_helper.h; thus, duplicated DPCD defines
of exynos_dp_core.h can be removed. Also, DP_TEST_EDID_CHECKSUM
define is added to drm_dp_helper.h. There is no functional change.
Signed-off-by: Jingoo Han <[email protected]>
Reviewed-by: Sean Paul <[email protected]>
Signed-off-by: Inki Dae <[email protected]>
|
|
This patch updates phy settings of the below
mentioned pixel clocks in Exynos5250 and removes
support for 88.75MHz, for it is not supported.
71 MHz - 1280x800@60Hz RB
73.25 MHz - 800x600@120Hz RB
115.5 MHz - 1024x768@120Hz RB
119 MHz - 1680x1050@60Hz RB
Signed-off-by: Shirish S <[email protected]>
Signed-off-by: Inki Dae <[email protected]>
|
|
Certain bridge chips use a GPIO to indicate the cable status instead
of the I_DP_HPD pin. This adds an optional device-tree property,
"samsung,hpd-gpio", to the exynos-dp controller which indicates that
the specified GPIO should be used for hotplug detection.
The GPIO is then set up as an edge-triggered interrupt where the
rising edge indicates hotplug-in and the falling edge indicates hotplug-out.
Signed-off-by: Andrew Bresticker <[email protected]>
Signed-off-by: Rahul Sharma <[email protected]>
Signed-off-by: Ajay Kumar <[email protected]>
Acked-by: Jingoo Han <[email protected]>
Signed-off-by: Inki Dae <[email protected]>
|
|
Exynos drm driver is a single driver so pm operation
for kms drivers should be done by connector->dpms
at top level driver.
If kms driver has its own pm interfaces, single driver model
would be broken so this patch removes unnecessary pm interfaces
from dsi driver.
Signed-off-by: Inki Dae <[email protected]>
Signed-off-by: Kyungmin Park <[email protected]>
|
|
Exyno drm driver has no real hardware device, and
runtime pm operation should be done by sub drivers.
Signed-off-by: Inki Dae <[email protected]>
Signed-off-by: Kyungmin Park <[email protected]>
|
|
The patch separates dpi related routines from fimd.
Changelog v2:
- Rename ctx->dpi to ctx->display
Signed-off-by: Andrzej Hajda <[email protected]>
Signed-off-by: Inki Dae <[email protected]>
|
|
subdrv_probe callback of virtual display driver will be
called by exynos_drm_device_subdrv_probe() to create crtc
and encoder/connector for virtual display driver.
So it fixes comments to exynos_drm_device_subdrv probe call.
Signed-off-by: Inki Dae <[email protected]>
Signed-off-by: Kyungmin Park <[email protected]>
|