24 Aug, 2016
2 commits
-
Provide a small convenience wrapper that set/get the display brightness.
Cc: John Stultz
Cc: Sumit Semwal
Cc: Archit Taneja
Cc: Rob Clark
Cc: Jani Nikula
Cc: Thierry Reding
Cc: Emil Velikov
Signed-off-by: Vinay Simha BN
Reviewed-by: Emil Velikov
Signed-off-by: Thierry Reding -
Most of these helpers had been introduced in the correct order, but some
were simply appended, which wasn't detected when they were applied.Signed-off-by: Thierry Reding
12 Jul, 2016
1 commit
-
Use a consistent name for the function that implements set_tear_scanline
and reword and reformat the kerneldoc slightly.Signed-off-by: Thierry Reding
Signed-off-by: Daniel Vetter
Link: http://patchwork.freedesktop.org/patch/msgid/20160613133327.7630-1-thierry.reding@gmail.com
13 Jun, 2016
1 commit
-
Implement a uevent callback for devices on the MIPI DSI bus. This
callback will append MODALIAS information to the uevent and allow
modules to be loaded when devices are added to the bus.Reviewed-by: Archit Taneja
Signed-off-by: Thierry Reding
08 Jun, 2016
1 commit
-
Provide a small convenience wrapper that transmits
a set_tear_scanline command.v2:
* helper function suggested by Thierry
for set_tear_scanline
* Also includes small build fixes from Sumit Semwal.v3: one scanline parameter suggested by jani
v4: passing the payload properly as suggested by jani
Cc: Archit Taneja
Cc: John Stultz
Cc: Thierry Reding
Cc: Sumit Semwal
Cc: Jani Nikula
Signed-off-by: Vinay Simha BN
Reviewed-by: Sumit Semwal
Reviewed-by: Jani Nikula
Signed-off-by: Daniel Vetter
Link: http://patchwork.freedesktop.org/patch/msgid/1465285532-12676-1-git-send-email-simhavcs@gmail.com
03 Mar, 2016
4 commits
-
MIPI DSI devices are inherently aware of their host because they share a
parent-child hierarchy in the device tree.Non-DSI drivers that create DSI device don't have this data. In order to
get this information, they require to a phandle to the DSI host in the
device tree.Maintain a list of all the DSI hosts that are currently registered. This
list will be used to find the struct mipi_dsi_host corresponding to the
device tree node passed to of_find_mipi_dsi_host_by_node().Reviewed-by: Andrzej Hajda
Signed-off-by: Archit Taneja
Signed-off-by: Thierry Reding -
A driver calling mipi_dsi_device_register_full() might want to remove
the device once it's done. It might also require it in an error handling
path in case something went wrong.Create mipi_dsi_device_unregister() for this purpose and use it within
mipi_dsi_remove_device_fn() as it does the same thing.Reviewed-by: Andrzej Hajda
Signed-off-by: Archit Taneja
Signed-off-by: Thierry Reding -
Add a device name field in struct mipi_dsi_device. This name is not the
same as the device name (which is of the format "hostname.reg"). When
the device is created via DT, this name is set to the modalias string.
In the non-DT case, the driver creating the DSI device provides the
name by populating a field in struct mipi_dsi_device_info.Matching for DT case would be as it was before. For the non-DT case, we
compare the device and driver names. Other buses (like I2C/SPI) perform
a non-DT match by comparing the device name and entries in the driver's
id_table. Such a mechanism isn't used for the DSI bus.Reviewed-by: Andrzej Hajda
Signed-off-by: Archit Taneja
Signed-off-by: Thierry Reding -
Use mipi_dsi_device_register_full() for device creation. This takes in
a struct mipi_dsi_device_info as a template to populate the DSI device
information.The reason to introduce this is to have a way to create DSI devices not
available via DT. Drivers that want to create a DSI device can populate
a struct mipi_dsi_device_info and call this function. For DSI devices
available via DT, of_mipi_dsi_device_add() is used as before, but this
now calls mipi_dsi_device_register_full() internally.Signed-off-by: Archit Taneja
Signed-off-by: Thierry Reding
24 Nov, 2015
1 commit
-
The MIPI_DSI_TURN_ON_PERIPHERAL and MIPI_DSI_SHUTDOWN_PERIPHERAL packets
are required for some panels, for example the Panasonic VVX10F034N00.Signed-off-by: Werner Johansson
Signed-off-by: Bjorn Andersson
Signed-off-by: Thierry Reding
23 Nov, 2015
1 commit
-
Add a helper that can be used to obtain the number of bits per pixel
corresponding to a given MIPI DSI pixel format. This is useful in
bandwidth calculations, for example.Signed-off-by: Liu Ying
Acked-by: Thierry Reding
Signed-off-by: Chris Zhong
[treding@nvidia.com: add kerneldoc comment and commit message]
Signed-off-by: Thierry Reding
13 Nov, 2014
15 commits
-
Drivers now no longer need to set the .owner field. It will be
automatically set at registration time.Signed-off-by: Thierry Reding
-
Add a function, of_find_mipi_dsi_device_by_node(), that can be used to
resolve a phandle to a MIPI DSI device.Acked-by: Andrzej Hajda
Reviewed-by: Sean Paul
Signed-off-by: Thierry Reding -
Provide small convenience wrappers to set the column and page extents of
the frame memory accessed by the host processors.Reviewed-by: Sean Paul
Signed-off-by: Thierry Reding -
Provide small convenience wrappers to query or set the pixel format used
by the interface.Reviewed-by: Sean Paul
Signed-off-by: Thierry Reding -
Provide a small convenience wrapper that transmits a DCS get_power_mode
command. A set of bitmasks for the mode bits is also provided.Acked-by: Andrzej Hajda
Reviewed-by: Sean Paul
Signed-off-by: Thierry Reding -
Provide a small convenience wrapper that transmits a DCS soft_reset
command.Reviewed-by: Sean Paul
Signed-off-by: Thierry Reding -
Provide a small convenience wrapper that transmits a DCS nop command.
Reviewed-by: Sean Paul
Signed-off-by: Thierry Reding -
Integrate the MIPI DSI helpers into DocBook and clean up various
kerneldoc warnings. Also add a brief DOC section and clarify some
aspects of the mipi_dsi_host struct's .transfer() operation.Acked-by: Andrzej Hajda
Reviewed-by: Sean Paul
Signed-off-by: Thierry Reding -
Add helpers for the {enter,exit}_sleep_mode, set_display_{on,off} and
set_tear_{on,off} DCS commands.Signed-off-by: YoungJun Cho
Reviewed-by: Sean Paul
[treding: kerneldoc and other minor cleanup]
Signed-off-by: Thierry Reding -
Implement generic read and write commands. Selection of the proper data
type for packets is done automatically based on the number of parameters
or payload length.Reviewed-by: Sean Paul
Signed-off-by: Thierry Reding -
This function can be used to set the maximum return packet size for a
MIPI DSI peripheral.Signed-off-by: YoungJun Cho
Reviewed-by: Sean Paul
[treding: endianess, kerneldoc, return value]
Signed-off-by: Thierry Reding -
struct mipi_dsi_msg is a read-only structure, drivers should never need
to modify it. Make this explicit by making all references to the struct
const.Acked-by: Andrzej Hajda
Reviewed-by: Sean Paul
Signed-off-by: Thierry Reding -
Currently the mipi_dsi_dcs_write() function requires the DCS command
byte to be embedded within the write buffer whereas mipi_dsi_dcs_read()
has a separate parameter. Make them more symmetrical by adding an extra
command parameter to mipi_dsi_dcs_write().The S6E8AA0 driver relies on the old asymmetric API and there's concern
that moving to the new API may be less efficient. Provide a new function
with the old semantics for those cases and make the S6E8AA0 driver use
it instead.Reviewed-by: Sean Paul
Signed-off-by: Thierry Reding -
This commit introduces a new function, mipi_dsi_create_packet(), which
converts from a MIPI DSI message to a MIPI DSI packet. The MIPI DSI
packet is as close to the protocol described in the DSI specification as
possible and useful in drivers that need to write a DSI packet into a
FIFO to send a message off to the peripheral.Suggested-by: Andrzej Hajda
Reviewed-by: Sean Paul
Signed-off-by: Thierry Reding -
Add two helpers, mipi_dsi_packet_format_is_{short,long}(), that help in
determining the format of a packet.Signed-off-by: Thierry Reding
19 Sep, 2014
1 commit
-
This patch adds a new flag, MIPI_DSI-MODE_LPM, to transmit data
in low power. With this flag, msg.flags has MIPI_DSI_MSG_USE_LPM
so that host driver of each SoC can clear or set relevant register
bit for low power transmission.All host drivers shall support continuous clock behavior on the
Clock Lane, and optionally may support non-continuous clock behavior.
Both of them can transmit data in high speed of low power.With each clock behavior, non-continuous or continuous clock mode,
host controller will transmit data in high speed by default so if
peripheral wants to receive data in low power, the peripheral driver
should set MIPI_DSI_MODE_LPM flag.Signed-off-by: Inki Dae
06 Aug, 2014
1 commit
-
Using a function instead of a macro provides proper type checking.
Signed-off-by: Thierry Reding
22 Jul, 2014
2 commits
-
When executing DCS commands, use the channel associated with the DSI
peripheral rather than one explicitly specified in the function call.
Devices shouldn't be able to step on each others' toes like this.Acked-by: Andrzej Hajda
Signed-off-by: Thierry Reding -
This function returns the value of the struct mipi_dsi_host_ops'
.transfer() so make sure the return types are consistent.Acked-by: Andrzej Hajda
Signed-off-by: Thierry Reding
14 Jul, 2014
1 commit
-
As per section 5.6.1 of the DSI specification, all DSI transmitters must
support continuous clock behavior on the clock lane, while non-continuous
mode support is only optional. Add a flag that allows devices to indicate
that they support non-continuous clock mode so host drivers can adapt
their behavior accordingly.Signed-off-by: Alexandre Courbot
Signed-off-by: Thierry Reding
05 Jun, 2014
1 commit
-
Hook up the MIPI DSI bus's .shutdown() function to allow drivers to
implement code that should be run when a device is shut down.Signed-off-by: Thierry Reding
04 Apr, 2014
1 commit
-
This patch adds flags field to mipi_dsi_msg structure and two flags:
- MIPI_DSI_MSG_REQ_ACK - request ACK from peripheral for given message,
- MIPI_DSI_MSG_USE_LPM - use Low Power Mode to transmit message.
The first flag is usually helpful during DSI diagnostic, the second
flag is required by some peripherals during configuration phase.Signed-off-by: Andrzej Hajda
Signed-off-by: Inki Dae
18 Dec, 2013
1 commit
-
MIPI DSI bus allows to model DSI hosts and DSI peripherals using the
Linux driver model. DSI hosts are registered by the DSI host drivers.
During registration DSI peripherals will be created from the children
of the DSI host's device tree node. Support for registration from
board-setup code will be added later when needed.DSI hosts expose operations which can be used by DSI peripheral drivers
to access associated devices.Signed-off-by: Andrzej Hajda
Signed-off-by: Kyungmin Park
Signed-off-by: Thierry Reding