If the PLL calc function is given bad parameters, n_start/m_start may be
higher than n_stop/m_stop, which leads to the loops iterating through
the whole u32 number space.
Fix this by failing early on such cases.
Signed-off-by: Tomi Valkeinen
Reviewed-by: Laurent Pinchart
Reviewed-by: Sebastian
From: Sebastian Reichel
Move dsi_ops into the main structure, since all other ops
are gone. Instead of checking the device type we can simply
check if dsi_ops are set.
Signed-off-by: Sebastian Reichel
Signed-off-by: Tomi Valkeinen
Reviewed-by: Laurent Pinchart
---
drivers/gpu/drm/omapdrm
To start fixing the issues related to channels and vcs described in the
previous commit, pass vc and/or channel to various functions which will
need it do properly handle different DSI channels and VCs.
No functional changes.
Signed-off-by: Tomi Valkeinen
Reviewed-by: Laurent Pinchart
Reviewed
is substantial enough.
Signed-off-by: Tomi Valkeinen
Reviewed-by: Laurent Pinchart
Reviewed-by: Sebastian Reichel
---
drivers/gpu/drm/omapdrm/dss/dsi.c | 297 +-
drivers/gpu/drm/omapdrm/dss/dsi.h | 4 -
2 files changed, 8 insertions(+), 293 deletions(-)
diff --git
From: Sebastian Reichel
The DSI command mode panel is no longer specific
to OMAP and thus the config option has been renamed
slightly.
Signed-off-by: Sebastian Reichel
Signed-off-by: Tomi Valkeinen
Cc: Tony Lindgren
Reviewed-by: Laurent Pinchart
Acked-by: Tony Lindgren
---
arch/arm
Reichel
Signed-off-by: Tomi Valkeinen
Reviewed-by: Laurent Pinchart
---
drivers/gpu/drm/omapdrm/dss/dsi.c | 134 --
1 file changed, 89 insertions(+), 45 deletions(-)
diff --git a/drivers/gpu/drm/omapdrm/dss/dsi.c
b/drivers/gpu/drm/omapdrm/dss/dsi.c
index 6f66ef0be166
quot;fine", as at the moment we only
support DSI peripherals with DSI virtual channel 0, and we always use
VC0 to send data. So both 1) and 2) are always 0.
Signed-off-by: Tomi Valkeinen
Reviewed-by: Laurent Pinchart
Reviewed-by: Sebastian Reichel
---
drivers/gpu/drm/omapdrm/dss/dsi.c | 22
From: Sebastian Reichel
The omapdss device's ops_flags field is no longer
used and can be dropped.
Signed-off-by: Sebastian Reichel
Signed-off-by: Tomi Valkeinen
Reviewed-by: Laurent Pinchart
---
drivers/gpu/drm/omapdrm/dss/omapdss.h | 9 -
drivers/gpu/drm/omapdrm/dss/venc.c| 1
sition should take place at least once per frame."
Signed-off-by: Tomi Valkeinen
Reviewed-by: Laurent Pinchart
Reviewed-by: Sebastian Reichel
---
drivers/gpu/drm/omapdrm/dss/dsi.c | 46 ---
1 file changed, 17 insertions(+), 29 deletions(-)
diff --git a/drive
Drop unneeded includes.
Signed-off-by: Tomi Valkeinen
Reviewed-by: Sam Ravnborg
Reviewed-by: Laurent Pinchart
Reviewed-by: Sebastian Reichel
---
drivers/gpu/drm/panel/panel-dsi-cm.c | 2 --
1 file changed, 2 deletions(-)
diff --git a/drivers/gpu/drm/panel/panel-dsi-cm.c
b/drivers/gpu/drm
Add a panel database to the driver instead of reading propertes from DT
data. This is similar to panel-simple, and I believe it's more future
safe way to handle the panels.
Signed-off-by: Tomi Valkeinen
Reviewed-by: Sam Ravnborg
Reviewed-by: Sebastian Reichel
---
drivers/gpu/drm/panel/panel
ace conditions.
Signed-off-by: Tomi Valkeinen
Reviewed-by: Sebastian Reichel
---
drivers/gpu/drm/omapdrm/dss/dsi.c | 50 +++
drivers/gpu/drm/omapdrm/dss/dsi.h | 3 ++
2 files changed, 48 insertions(+), 5 deletions(-)
diff --git a/drivers/gpu/drm/omapdrm/dss/dsi.c
Use the common MIPI_DCS_GET_ERROR_COUNT_ON_DSI define instead of
driver's own.
Signed-off-by: Tomi Valkeinen
Reviewed-by: Sam Ravnborg
Reviewed-by: Laurent Pinchart
Reviewed-by: Sebastian Reichel
---
drivers/gpu/drm/panel/panel-dsi-cm.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions
The function names have evolved to be very confusing, and bunch of them
have "display" in them even if the function doesn't deal with display as
such (e.g. dsi_display_enable which just enables the DSI interface).
Rename them by dropping the "display".
Signed-off-by: Tomi
Clean up the code by separating video-mode enable/disable code into
functions of their own.
Signed-off-by: Tomi Valkeinen
Reviewed-by: Laurent Pinchart
Reviewed-by: Sebastian Reichel
---
drivers/gpu/drm/omapdrm/dss/dsi.c | 101 +-
1 file changed, 57 insertions
A DSI peripheral can have virtual channel ID of 0-3. This should be
always the case, and there's no need in the driver to validate the
channel.
Signed-off-by: Tomi Valkeinen
Reviewed-by: Laurent Pinchart
Reviewed-by: Sebastian Reichel
---
drivers/gpu/drm/omapdrm/dss/dsi.c | 11 ---
1
We can drop dsi_display_disable() which just calls
_dsi_display_disable(), and rename _dsi_display_disable() to
dsi_display_disable().
The WARN_ON(!dsi_bus_is_locked(dsi)) in dsi_display_disable is extra and
can be dropped, as _dsi_display_disable() has the same WARN_ON().
Signed-off-by: Tomi
From: Sebastian Reichel
All displays are now using a drm_panel or a drm_bridge that models the
connector instead of dssdev, so this field is always 0 and can be
dropped.
Signed-off-by: Sebastian Reichel
Signed-off-by: Tomi Valkeinen
Reviewed-by: Laurent Pinchart
---
drivers/gpu/drm/omapdrm
Move structs and defines to a private dsi.h header file to make dsi.c a
bit easier to navigate. Also move the (now) private structs and defines
from omapdss.h to dsi.h.
Signed-off-by: Tomi Valkeinen
Reviewed-by: Laurent Pinchart
Reviewed-by: Sebastian Reichel
---
drivers/gpu/drm/omapdrm/dss
The driver ignores MIPI_DSI_CLOCK_NON_CONTINUOUS, and always uses
non-continuous clock.
Fix this by using MIPI_DSI_CLOCK_NON_CONTINUOUS and at the same time,
drop ddr_clk_always_on field which seems pretty useless.
Signed-off-by: Tomi Valkeinen
Reviewed-by: Laurent Pinchart
Reviewed
starting a frame update.
Signed-off-by: Tomi Valkeinen
Reviewed-by: Laurent Pinchart
Reviewed-by: Sebastian Reichel
---
drivers/gpu/drm/omapdrm/dss/dsi.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/gpu/drm/omapdrm/dss/dsi.c
b/drivers/gpu/drm/omapdrm/dss/dsi.c
index 6d97ca018a62
mipi_dsi_device pointer and remove the
for-loops which made passes over all the four VCs (just the first one
was ever used).
Signed-off-by: Tomi Valkeinen
Reviewed-by: Laurent Pinchart
Reviewed-by: Sebastian Reichel
---
drivers/gpu/drm/omapdrm/dss/dsi.c | 49 ---
1 file
We can drop dsi_display_enable(), which just calls
_dsi_display_enable(), and rename _dsi_display_enable() to
dsi_display_enable().
The WARN_ON(!dsi_bus_is_locked(dsi)) in dsi_display_enable is extra and
can be dropped, as _dsi_display_enable() has the same WARN_ON().
Signed-off-by: Tomi
Set the column & page address once during setup, instead of relying the
DSI host driver to set those.
Signed-off-by: Tomi Valkeinen
Reviewed-by: Sam Ravnborg
Reviewed-by: Laurent Pinchart
Reviewed-by: Sebastian Reichel
---
drivers/gpu/drm/panel/panel-dsi-cm.c | 20 +++
Clean up the code by inlining dsi_enable_video_outputs and
dsi_disable_video_outputs functions.
Signed-off-by: Tomi Valkeinen
Reviewed-by: Laurent Pinchart
Reviewed-by: Sebastian Reichel
---
drivers/gpu/drm/omapdrm/dss/dsi.c | 55 +--
1 file changed, 22 insertions
From: Sebastian Reichel
The panel driver is no longer using any OMAP specific APIs, so
let's move it into the generic panel directory.
Signed-off-by: Sebastian Reichel
Signed-off-by: Tomi Valkeinen
Cc: Thierry Reding
Cc: Sam Ravnborg
Acked-by: Sam Ravnborg
Acked-by: Laurent Pinchart
From: Sebastian Reichel
Now, that the driver implements the common DRM panel API
the unbind no longer needs to be suppressed.
Signed-off-by: Sebastian Reichel
Signed-off-by: Tomi Valkeinen
Acked-by: Laurent Pinchart
---
drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c | 5 ++---
1 file
Add address-cells & size-cells to DSI nodes so that board files do not
need to define them.
Signed-off-by: Tomi Valkeinen
Cc: Tony Lindgren
Acked-by: Tony Lindgren
Reviewed-by: Sebastian Reichel
---
arch/arm/boot/dts/omap5.dtsi | 6 ++
1 file changed, 6 insertions(+)
diff --git a/
dispc_ops was created to help with the multi-module architecture and
giving us the possibility of multiple dispc implementations. Neither of
these is valid anymore, and we can remove dispc_ops and use direct
calls to dispc.
Signed-off-by: Tomi Valkeinen
Acked-by: Laurent Pinchart
Reviewed
From: Sebastian Reichel
memory_read is not used, so we can drop the code.
Signed-off-by: Sebastian Reichel
Signed-off-by: Tomi Valkeinen
Reviewed-by: Laurent Pinchart
---
.../gpu/drm/omapdrm/displays/panel-dsi-cm.c | 93 ---
drivers/gpu/drm/omapdrm/dss/omapdss.h
Simplify and optimize dsi_vc_enable_hs() so that it can be called
without checking the current HS/LP mode. Make dsi_vc_enable_hs() return
if the VC is already in the correct mode.
Signed-off-by: Tomi Valkeinen
Reviewed-by: Laurent Pinchart
Reviewed-by: Sebastian Reichel
---
drivers/gpu/drm
DSI virtual channel and hardware VC blocks have gotten tangled as
described in the previous commits. This has not caused any issues, as
the value for both is 0, so it happens to work.
To fix the issue, change the code to use the correct one of the two.
Signed-off-by: Tomi Valkeinen
Reviewed
From: Sebastian Reichel
We can simply provide the device to the omapdrm driver
via pdata. omapdss_is_initialized() is no longer required
(even before this patch), since omapdrm device is only
registered after the pointer is initialized.
Signed-off-by: Sebastian Reichel
Signed-off-by: Tomi
From: Sebastian Reichel
Since all encoders and panels are using the bridge API now,
we next pointer is no longer useful and can be dropped.
Signed-off-by: Sebastian Reichel
Signed-off-by: Tomi Valkeinen
Reviewed-by: Laurent Pinchart
---
drivers/gpu/drm/omapdrm/dss/base.c | 2
From: Sebastian Reichel
The table of compatible values needed to be prefixed with "omapdss,"
is empty, so all of this code is doing nothing now. Let's drop it.
Signed-off-by: Sebastian Reichel
Signed-off-by: Tomi Valkeinen
Reviewed-by: Laurent Pinchart
---
drivers/gpu/drm/o
dss_mgr_ops was needed with the multi-module architecture, but is no
longer needed. We can thus remove it and use direct calls.
Signed-off-by: Tomi Valkeinen
Acked-by: Laurent Pinchart
Reviewed-by: Sebastian Reichel
---
drivers/gpu/drm/omapdrm/dss/dss.h | 1 -
drivers/gpu/drm/omapdrm/dss
DSI panel driver moving it a bit further to a
standard drm_panel driver.
Signed-off-by: Sebastian Reichel
Signed-off-by: Tomi Valkeinen
Reviewed-by: Laurent Pinchart
---
.../gpu/drm/omapdrm/displays/panel-dsi-cm.c | 74 +--
drivers/gpu/drm/omapdrm/omap_encoder.c| 28
From: Sebastian Reichel
Move ULPS handling into the DSI host controller, so that we
no longer need a custom API for the DSI client.
Note that for now ULPS is always disabled.
Signed-off-by: Sebastian Reichel
Signed-off-by: Tomi Valkeinen
Acked-by: Laurent Pinchart
---
.../gpu/drm/omapdrm
From: Sebastian Reichel
Create a custom function pointer for ULPS and use it instead of
reusing disable/enable functions for ULPS mode switch. This allows
us to use the common disable/enable functions pointers for DSI.
Signed-off-by: Sebastian Reichel
Signed-off-by: Tomi Valkeinen
, and the commands will get
interleaved into the pixel data.
This patch makes the driver use VC0 for commands and VC1 for video.
Signed-off-by: Tomi Valkeinen
Reviewed-by: Laurent Pinchart
Reviewed-by: Sebastian Reichel
---
drivers/gpu/drm/omapdrm/dss/dsi.c | 12 +++-
1 file changed, 7
From: Sebastian Reichel
The DSI sync() function only locks the bus and then releases
it again. Currently the only invocation is directly before
update(), which locks the bus anyways.
Signed-off-by: Sebastian Reichel
Signed-off-by: Tomi Valkeinen
---
.../gpu/drm/omapdrm/displays/panel-dsi
From: Sebastian Reichel
Implement check timings, which will check if it's possible to
configure the clocks for the provided mode using the same code
as the set_config() hook.
Signed-off-by: Sebastian Reichel
Signed-off-by: Tomi Valkeinen
---
drivers/gpu/drm/omapdrm/dss/dsi.c | 70
From: Sebastian Reichel
Remove unused code. Connectors are now created via drm_bridge_connector_init()
and no longer OMAP specific.
Signed-off-by: Sebastian Reichel
Signed-off-by: Tomi Valkeinen
Reviewed-by: Laurent Pinchart
---
drivers/gpu/drm/omapdrm/Makefile | 1 -
drivers/gpu
The "channel" usage in omap dsi driver is confusing. As the first step,
change "channel" to "dispc_channel" when dealing with the dispc channel.
Signed-off-by: Tomi Valkeinen
Reviewed-by: Laurent Pinchart
Reviewed-by: Sebastian Reichel
---
drivers/
The DSI host driver currently ignores the video mode flags in
client->mode_flags. Add the code to take the transfer mode from client's
mode_flags.
Signed-off-by: Tomi Valkeinen
Reviewed-by: Laurent Pinchart
Reviewed-by: Sebastian Reichel
---
drivers/gpu/drm/omapdrm/dss/dsi.c | 7 +++
From: Sebastian Reichel
This moves the bus locking into the host driver and unexports
the custom API in preparation for drm_panel support.
Signed-off-by: Sebastian Reichel
Signed-off-by: Tomi Valkeinen
---
.../gpu/drm/omapdrm/displays/panel-dsi-cm.c | 44 +--
drivers/gpu
omapdss_walk_device(dev, child, true);
}
-EXPORT_SYMBOL(omapdss_gather_components);
static bool omapdss_component_is_loaded(struct omapdss_comp_node *comp)
{
@@ -315,8 +298,3 @@ bool omapdss_stack_is_ready(void)
return true;
}
-EXPORT_SYMBOL(omapdss_stack_is_ready);
-
-MODULE_AUTHOR(
From: Sebastian Reichel
The get_te() callback is not used, so we can drop the
custom API.
Signed-off-by: Sebastian Reichel
Signed-off-by: Tomi Valkeinen
---
drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c | 13 -
drivers/gpu/drm/omapdrm/dss/omapdss.h | 1 -
2 files
From: Sebastian Reichel
Integrate low-power / high-speed bus switching into transfer
function and drop the omapdrm specific enable_hs() callback.
Signed-off-by: Sebastian Reichel
Signed-off-by: Tomi Valkeinen
Reviewed-by: Laurent Pinchart
---
drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c
From: Sebastian Reichel
Use DEVICE_ATTR_RO helper instead of plain DEVICE_ATTR,
which makes the code a bit shorter and easier to read.
Signed-off-by: Sebastian Reichel
Signed-off-by: Tomi Valkeinen
Reviewed-by: Laurent Pinchart
---
drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c | 8
Simplify the code by moving code from _dsicm_enable_te() into
dsicm_power_on().
Signed-off-by: Tomi Valkeinen
Reviewed-by: Sam Ravnborg
Reviewed-by: Laurent Pinchart
Reviewed-by: Sebastian Reichel
---
drivers/gpu/drm/panel/panel-dsi-cm.c | 23 ---
1 file changed, 4
From: Sebastian Reichel
We no longer need to check for the DSS API, since all encoders,
panels and connectors have been converted to the bridge API.
Signed-off-by: Sebastian Reichel
Signed-off-by: Tomi Valkeinen
Reviewed-by: Laurent Pinchart
---
drivers/gpu/drm/omapdrm/omap_drv.c | 9
-off-by: Tomi Valkeinen
Reviewed-by: Laurent Pinchart
---
drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c | 3 ---
1 file changed, 3 deletions(-)
diff --git a/drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c
b/drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c
index 3e46aa6d5ead..21df1997e7d1
From: Sebastian Reichel
This converts the DSI module to expect common drm_panel display
drivers instead of dssdev based ones.
Signed-off-by: Sebastian Reichel
Signed-off-by: Tomi Valkeinen
---
.../gpu/drm/omapdrm/displays/panel-dsi-cm.c | 203 +++---
drivers/gpu/drm/omapdrm/dss
.
Signed-off-by: Sebastian Reichel
Signed-off-by: Tomi Valkeinen
Reviewed-by: Laurent Pinchart
---
drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c | 3 ---
drivers/gpu/drm/omapdrm/dss/dsi.c | 8
drivers/gpu/drm/omapdrm/dss/omapdss.h | 8 +---
drivers/gpu/drm
a pointless
conversion and means the pins can be configured earlier.
Signed-off-by: Sebastian Reichel
Signed-off-by: Tomi Valkeinen
Reviewed-by: Laurent Pinchart
---
drivers/gpu/drm/omapdrm/dss/dsi.c | 37 ++-
drivers/gpu/drm/omapdrm/dss/omapdss.h | 15 ---
2 files
From: Sebastian Reichel
All DSS devices have been converted to bridge API, so
the device operations are always NULL. This removes
the device ops function pointers and all code using it.
Signed-off-by: Sebastian Reichel
Signed-off-by: Tomi Valkeinen
Reviewed-by: Laurent Pinchart
---
drivers
dssdev->owner is set, but never used. We can drop the field.
Signed-off-by: Tomi Valkeinen
Reviewed-by: Laurent Pinchart
Reviewed-by: Sebastian Reichel
---
drivers/gpu/drm/omapdrm/dss/dpi.c | 1 -
drivers/gpu/drm/omapdrm/dss/dsi.c | 1 -
drivers/gpu/drm/omapdrm/dss/hdmi4.c
From: Sebastian Reichel
This moves the panel refresh/update function from the panel
driver into the DSI host driver to prepare for common drm_panel
support.
Signed-off-by: Sebastian Reichel
Signed-off-by: Tomi Valkeinen
---
.../gpu/drm/omapdrm/displays/panel-dsi-cm.c | 68
From: Sebastian Reichel
Instead of using the custom enable_te() API, this automatically
enables/disables TE core support when a matching packet is sent
to the panel.
Signed-off-by: Sebastian Reichel
Signed-off-by: Tomi Valkeinen
Reviewed-by: Laurent Pinchart
---
.../gpu/drm/omapdrm/displays
From: Sebastian Reichel
This converts the panel-dsi-cm driver to use the transfer
API instead of specific functions, so that the specific
functions can be unexported and squashed into the generic
transfer function.
Signed-off-by: Sebastian Reichel
Signed-off-by: Tomi Valkeinen
Acked
From: Sebastian Reichel
enable_te() is not used, so the custom API can be dropped.
Signed-off-by: Sebastian Reichel
Signed-off-by: Tomi Valkeinen
---
.../gpu/drm/omapdrm/displays/panel-dsi-cm.c | 39 ---
drivers/gpu/drm/omapdrm/dss/omapdss.h | 2 -
2 files changed
From: Sebastian Reichel
Use dsi->channel everywhere, which originates from DT.
Signed-off-by: Sebastian Reichel
Signed-off-by: Tomi Valkeinen
Reviewed-by: Laurent Pinchart
---
.../gpu/drm/omapdrm/displays/panel-dsi-cm.c | 20 +++
1 file changed, 7 insertions(+),
From: Sebastian Reichel
Simplify the read related message handling by using the functionality
provided by CONFIG_DRM_MIPI_DSI.
Signed-off-by: Sebastian Reichel
Signed-off-by: Tomi Valkeinen
Reviewed-by: Laurent Pinchart
---
drivers/gpu/drm/omapdrm/dss/dsi.c | 110
-by: Sebastian Reichel
Signed-off-by: Tomi Valkeinen
Reviewed-by: Laurent Pinchart
---
.../gpu/drm/omapdrm/displays/panel-dsi-cm.c | 121 +-
drivers/gpu/drm/omapdrm/dss/dsi.c | 53 ++--
drivers/gpu/drm/omapdrm/dss/omapdss.h | 4 -
3 files changed, 102 insertions
From: Sebastian Reichel
After converting the driver to mipi_dsi_device we can use the generic
message helpers to simplify the driver a lot.
Signed-off-by: Sebastian Reichel
Signed-off-by: Tomi Valkeinen
Reviewed-by: Laurent Pinchart
---
.../gpu/drm/omapdrm/displays/panel-dsi-cm.c | 125
nfig
ARM: omap2plus_defconfig: Update for moved DSI command mode panel
Tomi Valkeinen (35):
drm/omap: squash omapdrm sub-modules into one
drm/omap: remove unused display.c
drm/omap: drop unused owner field
drm/omap: remove dispc_ops
drm/omap: remove dss_mgr_ops
drm/panel: panel-d
From: Sebastian Reichel
The panel-dsi-cm's ddata->pin_config is always NULL, so this
callback is never called. Instead the DSI encoder gets the pin
configuration directly from DT.
Signed-off-by: Sebastian Reichel
Signed-off-by: Tomi Valkeinen
Reviewed-by: Laurent Pinchart
---
drivers/
patches.
Signed-off-by: Sebastian Reichel
Signed-off-by: Tomi Valkeinen
Reviewed-by: Laurent Pinchart
---
drivers/gpu/drm/omapdrm/dss/dsi.c | 54 +++
drivers/gpu/drm/omapdrm/dss/omapdss.h | 3 ++
2 files changed, 57 insertions(+)
diff --git a/drivers/gpu/drm/omapdrm
From: Sebastian Reichel
Simplify the write related messages handling by using the functionality
provided by CONFIG_DRM_MIPI_DSI.
Signed-off-by: Sebastian Reichel
Signed-off-by: Tomi Valkeinen
Reviewed-by: Laurent Pinchart
---
drivers/gpu/drm/omapdrm/dss/Kconfig | 1 +
drivers/gpu/drm
the latter will get dropped.
Signed-off-by: Sebastian Reichel
Signed-off-by: Tomi Valkeinen
Reviewed-by: Laurent Pinchart
---
.../gpu/drm/omapdrm/displays/panel-dsi-cm.c | 24 +---
drivers/gpu/drm/omapdrm/dss/dsi.c | 61 ---
drivers/gpu/drm/omapdrm/dss/omapdss.h
From: Sebastian Reichel
Use bulk regulator API to simplify the code. This also switches
from _optional variant to normal variant, which will provide a
dummy regulator (i.e. if some always-enabled regulator is not
described in DT).
Signed-off-by: Sebastian Reichel
Signed-off-by: Tomi Valkeinen
From: Sebastian Reichel
Simplify the DSI encoder by using mipi_dsi_msg for
dsi_vc_send_long and dsi_vc_send_short. Further improvements
require cleaning up the channel allocation code first.
Signed-off-by: Sebastian Reichel
Signed-off-by: Tomi Valkeinen
Reviewed-by: Laurent Pinchart
From: Sebastian Reichel
This replaces OMAP specific enum for pixel format with
common implementation.
Signed-off-by: Sebastian Reichel
Signed-off-by: Tomi Valkeinen
Reviewed-by: Laurent Pinchart
---
.../gpu/drm/omapdrm/displays/panel-dsi-cm.c | 2 +-
drivers/gpu/drm/omapdrm/dss/dsi.c
From: Sebastian Reichel
Drop local definition of common MIPI DCS 1.3 defines.
Signed-off-by: Sebastian Reichel
Signed-off-by: Tomi Valkeinen
Reviewed-by: Laurent Pinchart
---
drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c | 9 -
1 file changed, 4 insertions(+), 5 deletions(-)
diff
fter which we can do that
work with the proper APIs.
Signed-off-by: Sebastian Reichel
Signed-off-by: Tomi Valkeinen
Reviewed-by: Laurent Pinchart
---
.../gpu/drm/omapdrm/displays/panel-dsi-cm.c | 11 ++---
drivers/gpu/drm/omapdrm/dss/dsi.c | 46 ---
drivers/gpu/d
From: Sebastian Reichel
The write buffers are not modified, so they can be constant.
Signed-off-by: Sebastian Reichel
Signed-off-by: Tomi Valkeinen
Reviewed-by: Laurent Pinchart
---
drivers/gpu/drm/omapdrm/dss/dsi.c | 24
drivers/gpu/drm/omapdrm/dss/omapdss.h
From: Sebastian Reichel
In order to reduce the amount of custom functionality, this moves
handling of pixel format and DSI mode from set_config() to dsi
attach.
Signed-off-by: Sebastian Reichel
Signed-off-by: Tomi Valkeinen
---
.../gpu/drm/omapdrm/displays/panel-dsi-cm.c | 2 --
drivers
From: Sebastian Reichel
After converting all DSI drivers, unexport the specific transfer
functions.
Signed-off-by: Sebastian Reichel
Signed-off-by: Tomi Valkeinen
Reviewed-by: Laurent Pinchart
---
drivers/gpu/drm/omapdrm/dss/dsi.c | 12
drivers/gpu/drm/omapdrm/dss/omapdss.h
acquisition follows works in the same way as the
exynos DSI implementation.
Signed-off-by: Sebastian Reichel
Signed-off-by: Tomi Valkeinen
---
.../gpu/drm/omapdrm/displays/panel-dsi-cm.c | 104 +
drivers/gpu/drm/omapdrm/dss/dsi.c | 145 --
2 files changed
From: Sebastian Reichel
This reverts commit e086558ae923 ("drm/omap: dss: Remove unused
omap_dss_device operations")
This is still needed by DSI. E.g. unloading modules without this will
cause a crash.
Signed-off-by: Sebastian Reichel
Signed-off-by: Tomi Valkeinen
Reviewed-b
Hi Sebastian,
On 14/12/2020 19:17, Sebastian Reichel wrote:
Hi,
On Tue, Dec 08, 2020 at 02:28:55PM +0200, Tomi Valkeinen wrote:
Panel drivers can send DSI commands in panel's prepare(), which happens
before the bridge's enable() is called. The OMAP DSI driver currently
only sets up the DSI
On 14/12/2020 19:39, Sebastian Reichel wrote:
> Hi,
>
> On Tue, Dec 08, 2020 at 02:28:53PM +0200, Tomi Valkeinen wrote:
>> ULPS doesn't work, and I have been unable to get it to work. As ULPS
>> is a minor power-saving feature which requires substantial amount of
>> no
On 11/12/2020 13:50, Laurent Pinchart wrote:
> Hi Tomi,
>
> Thank you for the patch.
>
> On Fri, Dec 11, 2020 at 01:42:36PM +0200, Tomi Valkeinen wrote:
>> To support legacy gamma ioctls the drivers need to set
>> drm_crtc_funcs.gamma_set either
the drm_atomic_helper_legacy_gamma_set() functionality into
drm_color_mgmt.c to make drm_mode_gamma_set_ioctl() use
drm_crtc_funcs.gamma_set if set or GAMMA_LUT property if not.
Signed-off-by: Tomi Valkeinen
---
.../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 1 -
.../gpu/drm/arm/display/komeda/komeda_crtc.c | 1
GAMMA_LUT when the
latter is unavailable.
Signed-off-by: Tomi Valkeinen
---
drivers/gpu/drm/drm_color_mgmt.c | 22 ++
drivers/gpu/drm/drm_fb_helper.c | 5 +
2 files changed, 23 insertions(+), 4 deletions(-)
diff --git a/drivers/gpu/drm/drm_color_mgmt.c b/drivers/gpu/d
Hi,
Yet another try. This time I don't touch the drm_fb_helper.c at all,
except adding a FIXME comment. Now everything is inside
drm_color_mgmt.c.
Tomi
Tomi Valkeinen (2):
drm: automatic legacy gamma support
drm: add legacy support for using degamma for gamma
.../gpu/drm/amd/display
or-next next-20201210]
> [If your patch is applied to the wrong git tree, kindly drop us a note.
> And when submitting patch, we suggest to use '--base' as documented in
> https://git-scm.com/docs/git-format-patch]
>
> url:
> https://github.com/0day-ci/linux/commits/Tomi-Valkeinen/d
On 10/12/2020 18:32, Ville Syrjälä wrote:
>>> @@ -1053,18 +1052,9 @@ static int setcmap_atomic(struct fb_cmap *cmap,
>>> struct fb_info *info)
>>> goto out_state;
>>> }
>>>
>>> - crtc_state = drm_atomic_get_crtc_state(state, crtc);
>>> - if
On 10/12/2020 17:27, Daniel Vetter wrote:
>> diff --git a/drivers/gpu/drm/drm_fb_helper.c
>> b/drivers/gpu/drm/drm_fb_helper.c
>> index e82db0f4e771..80e3797f0f01 100644
>> --- a/drivers/gpu/drm/drm_fb_helper.c
>> +++ b/drivers/gpu/drm/drm_fb_helper.c
>> @@ -46,6 +46,7 @@
>> #include
>>
GAMMA_LUT when the
latter is unavailable.
Signed-off-by: Tomi Valkeinen
---
drivers/gpu/drm/drm_color_mgmt.c | 20
1 file changed, 16 insertions(+), 4 deletions(-)
diff --git a/drivers/gpu/drm/drm_color_mgmt.c b/drivers/gpu/drm/drm_color_mgmt.c
index c4e4d59c4432..8733d9d95b82
Hi,
Another try.
I dropped the has_gamma_prop and has_degamma_prop variables and use
drm_mode_obj_find_prop_id() instead.
I also changed the order of the patches, and added a new helper for
setting the gamma ramp to the properties.
Tomi
Tomi Valkeinen (2):
drm: automatic legacy gamma
functions as they are
used from drm_fb_helper, but they are declared in drm_crtc_internal.h as
they are not supposed to be used by the drivers.
Signed-off-by: Tomi Valkeinen
---
.../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 1 -
.../gpu/drm/arm/display/komeda/komeda_crtc.c | 1 -
drivers/gpu/drm
On 10/12/2020 09:34, Tomi Valkeinen wrote:
> But we don't have anything stopping omap_dsi_host_transfer being called after
> the whole bridge has
> been detached (or called before attach). So, if we have a guarantee that the
> panels won't be doing
> dsi transfers before/durin
On 08/12/2020 17:48, Laurent Pinchart wrote:
> Hi Tomi,
>
> Thank you for the patch.
>
> On Tue, Dec 08, 2020 at 02:28:55PM +0200, Tomi Valkeinen wrote:
>> Panel drivers can send DSI commands in panel's prepare(), which happens
>> before the bridge's enable() is
On 09/12/2020 14:08, Daniel Vetter wrote:
> On Wed, Dec 9, 2020 at 1:06 PM Tomi Valkeinen wrote:
>>
>> On 09/12/2020 13:56, Daniel Vetter wrote:
>>> On Wed, Dec 9, 2020 at 12:29 PM Tomi Valkeinen
>>> wrote:
>>>>
>>>> On 09/12/2020 02:48,
On 09/12/2020 13:56, Daniel Vetter wrote:
> On Wed, Dec 9, 2020 at 12:29 PM Tomi Valkeinen wrote:
>>
>> On 09/12/2020 02:48, Daniel Vetter wrote:
>>> On Tue, Dec 08, 2020 at 03:50:59PM +0800, Tian Tao wrote:
>>>> Use devm_drm_irq_install to register inter
On 09/12/2020 02:48, Daniel Vetter wrote:
> On Tue, Dec 08, 2020 at 03:50:59PM +0800, Tian Tao wrote:
>> Use devm_drm_irq_install to register interrupts so that
>> drm_irq_uninstall is not needed to be called.
>>
>> Signed-off-by: Tian Tao
>
> There's another drm_irq_install in the error path.
Hi Daniel,
On 09/12/2020 02:51, Daniel Vetter wrote:
>>> diff --git a/include/drm/drm_crtc.h b/include/drm/drm_crtc.h
>>> index ba839e5e357d..4d9e217e5040 100644
>>> --- a/include/drm/drm_crtc.h
>>> +++ b/include/drm/drm_crtc.h
>>> @@ -1084,6 +1084,9 @@ struct drm_crtc {
>>> */
>>>
On 08/12/2020 17:38, Laurent Pinchart wrote:
> Hi Tomi,
>
> Thank you for the patch.
>
> On Tue, Dec 08, 2020 at 02:28:37PM +0200, Tomi Valkeinen wrote:
>> To start fixing the issues related to channels and vcs described in the
>> previous commit, pass vc to variou
601 - 700 of 3377 matches
Mail list logo